Patent Publication Number: US-11393057-B2

Title: Interactive real estate contract and negotiation tool

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is a continuation of prior, co-pending U.S. patent application Ser. No. 12/589,099, entitled “Interactive Real Estate Contract and Negotiation Tool,” filed Oct. 16, 2009, which claims priority to and the benefit of U.S. Provisional Application Ser. No. 61/196,619, entitled “Interactive Real Estate Contract and Negotiation Tool,” filed on Oct. 17, 2008, the disclosures of which are all hereby expressly incorporated by reference herein in their entirety. 
    
    
     FIELD 
     Aspects of this disclosure can be implemented in the field performing and managing negotiations. 
     BACKGROUND 
     Much of the business world has shifted toward online business practices. However, existing methods of performing and managing negotiations do not make effective use of the potential of online practices, and are generally unsatisfactory. An example of this is the current state of the art for managing and performing real estate negotiations. Currently, real estate negotiations generally entail agents drafting contracts by filling out a standard form, which is then transmitted via email or fax to the listing agent. Upon receipt, the listing agent prints and reviews the document with the seller, and makes any changes to the terms of the printed document that he or she desires. Once the changes are made, the listing agent may submit a counter-offer to the buyer&#39;s agent in a similar fashion; this process typically repeats itself three to five times until a transaction is fully negotiated. This process is costly, unsecure, inefficient, and generally results in a final document which is both messy and difficult to interpret, thereby exposing the parties and their agents to unnecessary risk of dispute and litigation. Additionally, this process does not scale well, and can make it very difficult to manage multiple ongoing or potential negotiations. To address this difficulty, some entities, such as banks which may own (and wish to dispose of) billions of dollars in real estate, have turned to hiring specialized asset management companies which can serve as intermediaries for real estate brokers. However, rather than simplifying the process of managing negotiations, the use of these asset management companies simply shuffles the burden to another entity, creating an additional layer of potential miscommunication, delay and expense in the process. The same or similar problems also exist in other contexts, such as sales, construction, service contexts and the like. Accordingly, there is a long felt but unmet need in the art for technology which can address one or more of the drawbacks of presently existing techniques for performing and managing negotiations. 
     SUMMARY 
     Disclosed herein are techniques which can be used in a variety of settings, including performing and managing real estate negotiations. Various aspects of this disclosure can be implemented in the form of computer readable medium storing data operable to configure a computer to perform tasks such as receiving requests to view documents, and displaying interfaces in response to receiving the requests, where the interfaces may be composed of form portions and data elements from a data warehouse. The users who are participating in the negotiation may pass authorizations to modify information between each other, and the modifications may also be stored in the data warehouse. Other computer readable media which could be implemented based on this disclosure include those with data operable to configure a computer to perform tasks such as receiving and storing a set of real property information, comparing that set of real property information against a set of pre-existing information, and automatically generating an output based on that comparison. Of course, the teachings of this disclosure can also be used in processes, machines, articles of manufacture in addition to computer readable media such as described above. Accordingly, the protection afforded by the claims set forth in this document (or in other documents which claim the benefit of this document) should not be limited to data or particular tasks as set forth above. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The drawings and detailed description which follow are intended to be merely illustrative and are not intended to limit the scope of the invention as contemplated by the inventors. 
         FIG. 1  depicts a system in which a buyer and a seller can interact with one another through a web component supported by a variety of distributed systems. 
         FIGS. 2 a -2 e    depict architectures which utilize various levels of combination and centralization. 
         FIGS. 3 a -3 f    depict potential sequences of events for a negotiation between a buyer and a seller. 
         FIG. 4  depicts an interface including a search tool. 
         FIG. 5  depicts an interface associated with an agency disclosure statement. 
     
    
    
     DETAILED DESCRIPTION 
     Aspects of this disclosure can be used to implement an online tool that allows negotiation and execution of an agreement by parties using electronic or digital signatures. Physical signatures may be replaced with electronic signatures per the Electronic Signatures in Global National Commerce Act (“E-SIGN”) and the Uniform Electronic Transactions Act (“UETA”). Information exchanged during negotiation can be stored in a centralized location (e.g., a data warehouse) and accessed through a variety of virtual forms. Additionally, the data warehouse can be used to provide raw material for a variety of analytics, management and even automated negotiation tools. For the purpose of illustration, the inventors&#39; technology is disclosed herein in terms of possible applications for performing and managing real estate negotiations. It should be understood that various aspects of the disclosed technology could also be susceptible to applications in different areas, and that the potential applications set forth herein should be understood as being illustrative only, and not limiting. 
     Turning now to the figures,  FIG. 1  depicts an architecture which can be used to allow parties to a real estate transaction, such as a buyer  101  and a seller  102 , to interact with one another to complete the transaction. In this type of implementation, a web component  103  can provide interfaces for, and mediate communications between, a real estate buyer  101  and a real estate seller  102 . These communications can include the seller  102  adding information about properties, a buyer  101  viewing information about properties, both the buyer  101  and seller  102  exchanging terms related to the sale of a property, and the buyer  101  and seller  102  entering into a contract to purchase the property. The web interface  103  can be supported by software on a server which would communicate with other systems to provide additional functionality which is relevant to the transaction between the buyer  101  and the seller  102 . This type of additional functionality could include authenticating the communications of the buyer  101  and the seller  102  as they use the system, maintaining records of offer and counter-offer terms proposed by both the buyer  101  and the seller  102 , and generating a final agreed document or an audit trail of negotiations. Other functionality is also possible. For example, a system implemented according to  FIG. 1  could be implemented to allow the buyer  101  or seller  102  to withdraw previously made (but not yet accepted) offers, to allow buyers  101  and sellers  102  to search for properties or manage portfolios of properties or clients, or to obtain information related to their (or other entities&#39;) use of the system. 
     To provide functionality such as described (or other functionality as may be appropriate in a given context) the components illustrated in  FIG. 1  could be implemented in a variety of ways. For example, a seller property input component  104  could be implemented as a server configured to receive information about properties from a seller  102 , such as might be provided by the seller  102  through an electronic feed (e.g., a binary data feed, a markup language feed such as RSS, or some other type of data transfer technology), or manually, such as by entering data into forms provided by the web component  103  or the seller property input component  104 . Once information about a property had been received, the seller property input component  104  could communicate with a data warehouse  105  to store the information. The data warehouse  105  could store the information provided by a seller  102 , along with a timestamp showing when the information was provided, and a unique ID which could be used for later tracking and retrieving the information. Subsequently, when a buyer  101  requests information related to a property through the web component  103 , that information could be retrieved from the data warehouse  105  and displayed to the buyer  101 . 
     Once the buyer  101  selects a property and the information related to that property is retrieved from the data warehouse  105 , the web component  103  could be configured to allow the buyer  101  to suggest changes to the information (e.g., a propose a counter-offer with a lower price than suggested previously by the seller  102 ), or to allow the buyer  101  to provide new information of his or her own (e.g., if a buyer&#39;s agent hadn&#39;t been added by the seller, this information could be added by the buyer). Once this new information had been provided, a system such as shown in  FIG. 1  could use a modification control system  106  to validate the buyer&#39;s, identify (e.g., by asking the buyer  101  to enter a unique password) and to prepare the information for insertion into the data warehouse  105 . This preparation for insertion could include steps such as communicating with external systems (e.g., a time/clock system  107 ) to retrieve a timestamp for the information, assembling the information provided by the buyer  101  along with the buyer&#39;s identify and timestamp into a data record, and sending that data record to the data warehouse  105 . 
     The data record could then be stored in the data warehouse  105  in a variety of manners. For example, in some implementations, when new data is added to the data warehouse  105 , instead of overwriting the previously stored data (e.g., overwriting a price term in an offer with a new price term from a counter-offer), a new data record would be created with the new terms, and the previous data record would be kept as an archive. Similarly, some implementations, rather than storing all data for a document each time any of the data in that document is changed, might only store the changed data, thereby reducing the amount of space necessary to track the course of the transaction. Of course other variations, such as where a data warehouse  105  stores not only data entered by a buyer  101  or seller  102 , but actually stores complete documents (e.g., PDFs) showing the steps along a negotiation, are also possible. 
     Of course, alternatives are also possible. For example, in some implementations, rather than communicating with separate systems, a modification control system  106  could refer to an internal clock to create a timestamp. Alternatively, a modification control system  106  might simply send data entered by the buyer  101  to the data warehouse  105 , and the data warehouse  105  would be responsible for assembling the information provided into a data record. As another alternative, some implementations might include a modification control system  106  which is configured to perform fewer acts than described above, such as by creating a data record without a timestamp, or by relying on some pre-existing validation for the buyer&#39;s identity, rather than validating the buyer&#39;s identity when a change is to be made. Additional variations could also be implemented based on this disclosure, and will be immediately apparent to those of ordinary skill in the art. Accordingly, the above disclosure should be understood as being illustrative only, and not limiting. 
     Potential variations notwithstanding, once the new information had been added to the data warehouse  105 , a system implemented according to the architecture shown in  FIG. 1  could utilize a notification system  108  to notify the seller  102  of the buyer&#39;s changes. This notification could take place in a variety of manners. For example, the notification system  108  can generate and transmit one or more email messages notifying the seller  102  (and potentially also the buyer  101 ) of the existence of the changes made by the buyer  101 . The email can contain an active link which, when activated, could cause a browser to automatically load a virtual form comprising one or more virtual fields having data representative of the current information with the changes made by the buyer  101 . Additionally, the notification system  108  could be configured to automatically generate a summary of the information added by the buyer  101  (e.g., “The buyer changed the price term from $100,000 to $80,000. No other changes were made”) and might include that summary in the notification. Of course, notifications other than email, such as by phone, fax, instant message, or some other communication medium are also possible. Once the notification had been received, the seller  102  could accept the buyer&#39;s changes, or propose changes of his or her own and send them back to the buyer  101 . Also, in some implementations, a seller  102  could request to see a history of the negotiations, which could cause the history report generation system  110  to generate a markup showing 1) the current terms in the document(s) being negotiated; 2) changes made to those terms during the course of the negotiations; 3) when those changes were made; and 4) who made the changes. If the seller  102  chooses to accept the buyer&#39;s changes, and the information submitted by the buyer  101  (potentially combined with other pre-existing information from the data warehouse  105 ) fully specified a real estate transaction, then a final and binding real estate purchase contract could be created. 
     Once a real estate purchase contract had been created, a system such as shown in  FIG. 1  could use a physical form generation system  109  to create a physical embodiment of the purchase contract. This could take place, for example, by the physical form generation system  109  retrieving the most recent information about the property from the data warehouse  105 , combining it with standard forms (e.g., agency disclosure forms, a contract to purchase, etc.) and dynamically creating documents which could be printed and mailed to the buyer  101  and the seller  102 . In such a case, it is possible that a system such as shown in  FIG. 1  could be used to allow a real estate purchase transaction to be completed without the buyer  101  and seller  102  ever meeting one another or exchanging a physical document. Further, in the event that there was a subsequent dispute about the negotiation or its final terms, the system as shown could use the functionality of the history report generation system  110  to create a markup showing how the negotiation had progressed, when the disputed terms were proposed, who proposed them, and when they were accepted, thereby saving substantial resources in potential litigation and/or other forms of dispute resolution. 
     Further, in addition to facilitating and creating records for a negotiation, a system implemented following the architecture of  FIG. 1  could also be used to manage ongoing or potential transactions and negotiations. To illustrate, consider a case where the architecture of  FIG. 1  is implemented so that a broker is able to enter multiple properties (e.g., through a seller property input component  104 ) which are then sold through actual negotiations performed by various agents. In such a case, there could be support provided (e.g., by instructions incorporated into a central server, or by a dedicated distributed system) for functions which would allow the broker to manage the sales of the listed properties. For instance, an interface could be provided which would allow the broker to request a report on his or her properties. In response to such a request, data related to those properties could be retrieved from the data warehouse  105  and assembled into a report which would allow the broker to see data such as: average time to sale for properties in various areas at different price points, average closing versus asking prices for various agents, price and sales trends in different markets, or other information as might be appropriate or beneficial in a particular case. Using such information, the broker could potentially identify and address trouble spots before they became serious. For example, the broker could request to see his or her properties sorted by close rates of listing agents, so that the broker could work with agents who were not successfully making sales to try and improve performance. Similarly, in some variations, there could be software which automatically generates potential trouble reports, by scanning the data warehouse for patterns associated with problems (e.g., low close rate) and proactively bringing them to the broker&#39;s attention. 
     Of course, it should be understood that reporting and analytics functions based on information from the data warehouse  105  are not the only types of management functions which could be supported in systems implemented according to this disclosure. For example, data from the data warehouse  105  could be used to automatically evaluate offers (or counter-offers) for properties in a particular entity&#39;s (e.g., a bank&#39;s) portfolio by performing functions such as comparing those offers or counter offers to average prices in a particular market, evaluating time to sale at various price points versus carrying cost for the property, examining trends in prices in different regions, or other functions as might be appropriate in a particular case. This automatic evaluation could then be forwarded to the entity responsible for approving an offer or counter-offer, thereby vastly simplifying the process of disposing of real estate inventory. Similarly, in some cases there could be an option presented for a user to allow offers or counter-offers to be automatically accepted or rejected based on the evaluation performed using information from the data warehouse  105 , or even to allow form offers to be automatically created in the same way. In some cases, there could even be special portals created which would support individual entities (or classes of entities, such as banks who have unwillingly become the owners of foreclosed properties). Other variations, such as providing tools (e.g., a scripting environment) which would allow entities to create their own rules for automatically evaluating/accepting/rejecting/creating offers could also be implemented and will be immediately apparent to those of ordinary skill in the art in light of this disclosure. Accordingly the discussion above should be understood as being illustrative only, and not limiting. 
     As another example of a type of management function which could be supported in some implementations of the disclosed technology, consider situations where support is provided for organizing and manipulating form portions of documents used in negotiation. For example, there might be different forms (or sets of forms, in a case where multiple documents are associated with a particular type of transaction) associated with individual users of the system (e.g., brokers) to allow those users to customize their documents to meet their particular preferences (such customization might be performed through a WYSIWYG editor, document uploads, modification of templates, or other techniques known to those of ordinary skill in the art). In a case where forms are susceptible to change, a data warehouse  105  could maintain archive versions of forms in a manner similar to that described above with recording terms, allowing both tracking of changes to forms over time, as well as association of terms entered into a form before a modification with the proper (archived) version of that form. Forms could also be organized according to other attributes, such as jurisdiction (e.g., different states might have different laws, so there could be different forms for different states which would automatically be used for transactions in the relevant states), type of transaction (e.g., purchase, lease, sale and lease back, property exchange, sales by owner, etc.) and type of property (e.g., commercial real estate, residential with easements, residential with known defects (e.g., asbestos roofs), etc.). 
     In some cases, these types of organization for form management functions could be leveraged to allow easy modification in response to changed circumstances. For example, if a new law was enacted in a particular jurisdiction, some implementations might allow a user to pull up the standard forms for that jurisdiction, and make changes in response to the new law, allowing the user to have access to up to date forms without requiring making modifications for the forms for every transaction. Of course, similar approaches could also be taken with terms, rather than being restricted to forms. For example, in the case where a seller  102  has multiple offers outstanding with terms based on a first economic assumption, if he or she learns that that assumption was incorrect, a system could provide an option where all offers with terms based on the first assumption would be automatically revised (after being withdrawn, if necessary) to take into account the changed circumstances. Accordingly, the disclosure set forth above should be understood as being illustrative only, and not limiting. 
     While the above disclosure described a variety of modifications and variations on the uses and implementations of the architecture of  FIG. 1 , it should be understood that the technology disclosed herein is not limited to the architecture of  FIG. 1 , and that other types of organizations are also contemplated by the inventors and will be immediately apparent to those of ordinary skill in the art in light of this disclosure. For example, in some cases, a system could be implemented with entirely different architectures than depicted in  FIG. 1 , such as architectures where functionality of different components shown in  FIG. 1  could be combined in a centralized server. Examples of architectures which utilize various levels of combination and centralization are set forth in  FIGS. 2 a -2 e   . Other types of variation are also possible. For example,  FIG. 1  depicts various components communicating with one another over a local area network (LAN) connection, and other components communicating over the Internet. However, it is possible that components could communicate over different types of networks entirely (e.g., storage networks, wireless networks, etc.), or could be organized so that different combinations of components communicate with one another over different types of networks than depicted. Similarly, in some implementations, certain components might be omitted entirely, or might be combined with other components depicted (e.g., a modification control system  106  could be integrated with a data warehouse  105 ). Accordingly, both  FIG. 1  and the accompanying disclosure should be understood as being illustrative only, and not limiting. 
     Moving on from the component centric disclosure set forth above,  FIGS. 3 a -3 f    set forth potential sequences of events for a negotiation between a buyer and a seller which could take place utilizing systems implemented by those of ordinary skill in the art using aspects of this disclosure.  FIG. 3 a    depicts a sequence of events which could be triggered by a buyer accessing a system such as described above from a remote location  301 . Initially, a buyer might access the system  301  and select a property that he or she is interested in making an offer on  302 . This selection of a property  302  can be accomplished in a variety of ways. For example, in some cases it is possible that a web component  103  could provide a buyer (or the buyer&#39;s agent) with access to a search tool (e.g., such as the search tool  401  shown in  FIG. 4 ). In such a case, the buyer (or his or her agent) could provide information about, for example, a neighborhood where he or she is interested in making an offer for a property (e.g., by adding a zip code to the search tool  401 ). Alternatively, it is possible that the buyer may have already decided on a property he or she wishes to purchase, and could simply add the house number to the search tool  401 . Once the information is added to the search tool  401  a search of the data warehouse could be conducted to find properties which match the information provided in the search tool  401 , and then provide a list of such properties in a results area (not shown in  FIG. 4 ), and the buyer would select one of the properties from the list to continue the process. 
     Once the buyer had selected a property  302 , the process shown in  FIG. 3 a    could continue with the system automatically loading virtual forms associated with the selected property  303 . These virtual forms could comprise electronic documents (e.g., web pages) which are designed to have the appearance of standard real estate contract forms (e.g., an agency disclosure statement as shown in  FIG. 5 , a contract to purchase, etc.). However, rather than being actual forms (e.g., PDF documents containing the relevant information) they could be simply placeholder documents into which data from a data warehouse could be retrieved  304  and inserted  305 . For example, a virtual form could be an HTML document such as shown in the file entitled “ADSource.txt” in the computer program listing appendix of U.S. patent application Ser. No. 12/589,099, which could present the appearance of a standard agency disclosure form when viewed through a web browser, and which would retrieve information from a data warehouse using calls such as “lookupAgentName(this)” and insert that information into virtual fields  501  in the form. Of course, it should be understood that other types of virtual forms could be used. For example, in some implementations, there might be PDF documents which are automatically created by combining standard forms with information from a data warehouse, then displayed to the buyer. Similarly, there could be documents which are stored in a data warehouse in a fully or partially complete state (e.g., the listing agent for a property might be included in advance, and then the buyer&#39;s agent might be added dynamically for each individual customer) rather than having all information added dynamically. U.S. patent application Ser. No. 12/589,099, entitled “Interactive real estate contract and negotiation tool,” filed Oct. 16, 2009, which includes a computer program listing appendix pursuant to 37 C.F.R. § 1.52(e), is hereby incorporated herein by reference in its entirety. 
     Regardless of the techniques used in presenting data to the buyer, once that data had been presented, the process described above could continue as shown in  FIG. 3 b   , with the buyer reviewing the data displayed in the virtual form  306 . If the data displayed in the virtual form is complete (e.g., there is data in all fields in the virtual form) the buyer can then accept the form as an offer to form a real estate purchase contract, and input a unique identifier  307  to indicate his or her acceptance of the terms. The identifier could then be authenticated  308 , and the negotiation could end. Alternatively, it is possible that a buyer could input proposed or modified contract terms into virtual fields  501  to create a counter-offer. Once the buyer made all appropriate changes/additions, he or she could input an electronic signature or other identifier  310 , and that signature or other identifier could be authenticated  311 . Once the identifier had been authenticated  311 , the changes to the proposed terms could be stored in the data warehouse  312 , and the negotiation could continue, with the seller being notified of the changes made by the buyer  313  as shown in  FIG. 3   c.    
     After the changes made by a buyer had been entered into the data warehouse  312 , in addition to notifying the seller of those changes  313 , some implementations of the technology set forth herein could include steps where the buyer&#39;s authorization for making further changes would be revoked  314 , and authorization for making changes to the new terms would be granted to the seller  315 . In practice, this could be implemented by, once a buyer has committed changes to the data warehouse, modifying the buyer&#39;s permissions from read/write to read only, and modifying the seller&#39;s permissions (which might have been set as read only while the buyer was reviewing the terms) to read/write. Additionally, in some implementations, more complicated functionality than simply exchanging permissions could be used. For example, there could be support for time-limited offers, where a party could specify that an offer would be good only for a certain time period, after which the ability of the other party to accept the terms would cease, and the ability of the parties to view and/or modify terms would revert to its state from before the offer was made. Similarly, some implementations might allow a user who had made an offer to withdraw that offer (i.e., remove the other party&#39;s ability to accept and thereby create a binding contract) even if the user who had made the offer otherwise did not have the ability to change the offer&#39;s terms. Additional negotiating functionality, such as the ability to make alternative offers (e.g., accept price  1  with down payment  1 , or price  2  with down payment  2 ), or the ability to make form offers (e.g., a seller could make an offer available to multiple buyers, effectively turning a two party sale into an auction, where the best counter-offer from any buyer could either be accepted or become the new basis for negotiating with all buyers) could also be supported. Accordingly, the authorization exchange depicted in  FIG. 3 c    should be understood as being illustrative only, and not limiting. 
     Once modification authorization has been revoked from the buyer  314  and granted to the seller  315 , the seller can engage in a process which is essentially parallel to that discussed above with respect to the buyer. As shown in  FIG. 3 d   , this can include the seller accessing the system from a remote location  316 , selecting the property  317  associated with the buyer&#39;s counter-offer, loading the forms  318  and retrieving the data  319  associated with the counter-offer, and populating the data into the forms  320  so that the counter-offer can be considered. The similarities continue with the steps of a seller reviewing data associated with a current offer  321 , inputting a unique electronic signature  322325 , authenticating the signature  323326 , adding modified contract terms into virtual fields  324 , and storing the modified terms in the data warehouse  327 . There can also be similar steps of sending a notification to the buyer  328 , revoking the seller&#39;s modification authorization  329 , and granting authorization modification to the buyer  330 , as shown in  FIG. 3 f   . This type of offer and counter-offer cycle can then continue until one side or the other accepts an offer, and the process ends. 
     Of course, it should be understood that systems implemented according to the teachings of this disclosure are not limited to being used in processes such as described above and illustrated in  FIGS. 3 a -3 f   . As an illustration of this, in some cases, a system could be implemented to provide support for activities which might take place after a negotiation was completed. For example, there could be a payment system which would automatically transfer funds from an account associated with a buyer (e.g., a bank which had agreed to issue a mortgage to the buyer) to an account associated with a seller (e.g., an escrow account for closing funds, the bank holding the seller&#39;s outstanding mortgage, the seller himself or herself, or some combination of those and/or other accounts). Systems discussed above could also be included in after-transaction activities, such as a notification system  108 , which could be configured to instead of (or as an alternative to) notifying the seller of the acceptance, send instructions to third parties to perform the physical acts that might be necessary to complete a sale (e.g., record title to a deed, provide the buyer with a physical key to the property purchased, generating triggers to activate or transfer utilities, etc.). 
     Variations where a real estate (or other) type of negotiation includes steps which take place before those depicted in  FIGS. 3 a -3 f    are also possible. For example, there could be a method during which terms that are not subject to negotiation (e.g., the name of the buyer or seller&#39;s agents, the location of a particular property, etc.) are agreed on during a face-to-face meeting between a buyer and a seller, and then the negotiation process would start after one of the parties inputs those terms, along with an initial offer, into the system. In such a case, the party entering terms into the system to begin the negotiation process could be presented with a wizard, which would walk the party through the various documents to be completed, and the information required to complete them. Of course, such a wizard is not a requirement, and it is possible that a party entering information related to a property could use interfaces such as described above with respect to  FIGS. 3 a -3 f    for the initial data entry. Additionally, variations in negotiation methods which could be performed based on this disclosure are not limited to modifying  FIGS. 3 a -3 f    by adding steps before or after those depicted in the figures. For example, in some cases, a negotiation method (and supporting infrastructure) could be implemented to include fewer steps than discussed previously. To illustrate, consider a case where a seller is negotiating the sale of a single property to a buyer. In such a case, it might be that a system would automatically provide the participants with the latest information related to that single property, thereby removing the property selection steps described above. 
     Also, it is possible that some systems could be implemented to support changes to the structure of negotiation described above. For example, some systems might have roles for agents which are independent of the buyers/sellers themselves. To illustrate, consider a system implemented such that permission to modify information or add terms to a data warehouse would reside with real estate agents (e.g., realtors representing buyers and sellers), while permission to approve terms or changes would reside with their principals (e.g., the buyers and sellers). In a negotiation which takes place using such a system, a real estate agent (e.g., the buyer&#39;s agent) might create a set of terms which would then be submitted to the agent&#39;s principal (e.g., the buyer). The buyer could then approve those terms by providing a unique electronic identifier, at which point the agent would add them to the data warehouse, and modification authorization would pass to the other agent (e.g., the seller&#39;s agent) who could make additional modifications in a similar manner. If the principal does not approve terms, then he or she could request that the terms be modified by his or her agent. Once the changes are made by the agent, they could be resubmitted to the principal for approval. To support such an interaction, there could be functionality built into a system which would allow the principals and their agents to communicate with one another (e.g., over instant message while viewing or collaboratively editing terms), or even engage in mini-negotiations amongst themselves (e.g., when trying to prepare a counter-offer). 
     Similarly, systems could be set up to facilitate different types of transactions, such as property swaps. For example, this could take place by allowing a user to specify the characteristics (e.g., price, location, lot size, etc.) of a property that he or she wishes to exchange, along with the characteristics of properties that the user would be willing to exchange for. Once these characteristics had been entered, the system could perform a search to identify other users wishing to swap properties who had compatible desired and current property characteristics. The system could then automatically suggest potential swap opportunities based on characteristic compatibility. Of course, it is also possible that users of the system might independently decide on properties they wished to exchange. In such a situation, the system could retrieve the relevant information regarding those properties from the data warehouse and use it to automatically populate the appropriate documents. Other variations are also possible, and will be immediately apparent to those of ordinary skill in the art in light of this disclosure. Accordingly, the description set forth herein should be understood as being illustrative only, and not limiting. 
     A further illustration of potential applications of technology such as disclosed herein is provided by the computer program listing appendix of U.S. patent application Ser. No. 12/589,099. In particular, the computer program listing appendix provides code which, when used to configure a server, can provide certain aspects of an interactive electronic real estate negotiating system such as described above with respect to  FIG. 1 . Additionally, the code in the computer program listing appendix (or portions thereof) of U.S. patent application Ser. No. 12/589,099 could be used to support functionality such: as assembling packages of forms based on a request that is submitted (e.g., whether someone is listing for sale, leasing, or purchase), continuing from one form to another as if they were the same physical form based on selection of a form-set, administrative reporting and managing analytical information, and transferring access to shared documents based on identifying a property to submit an offer on. Of course, it should be understood that the computer program listing appendix of U.S. patent application Ser. No. 12/589,099 is provided as an illustration only, and that various implementations may include different (or additional) features, and may implement those features in manners other than used in the provided code. As a result, the computer program listing appendix of U.S. patent application Ser. No. 12/589,099, like portions of this disclosure, should be understood as being illustrative only, and not limiting. 
     While the above discussion focused on implementations in which the disclosed technology is used in the formation of real estate purchase contracts, it should be understood that the inventors&#39; technology is not limited to being implemented in the manners explicitly described. For example, the approaches described herein could be applied in other contexts where multiple parties might be involved in deciding or approving terms. These contexts include (but are not limited to) the creation of corporate policies (e.g., where multiple committees would have to sign off on the contents of a new policy before it could be put into place), approval of vendor contracts, or the creation of form documents. In some cases, applications of the described technology in these other contexts might include modifications which reflect the requirements of those contexts. For example, in a corporate context, where there may be multiple decision makers, authorization to make modifications might be passed to multiple parties concurrently (e.g., all members of a committee), or might be passed with one party (e.g., a committee chair) having authorization to make modifications, but other parties (e.g., committee members) having to give approvals. Of course, it should be understood that such variations could also be implemented in the context of real estate purchase contracts, and that other variations are also possible, and will be immediately apparent to those of ordinary skill in the art. 
     Additionally, some applications may utilize only a portion of the techniques described herein. For example, there could be some applications which would include exchanging of modification authorization as described, but would not necessarily include the association of modifications with identifiers. Accordingly, instead of limiting the protection accorded by this document, or by any document which is related to this document, to the material explicitly disclosed herein, the protection should be understood to be defined by the following claims, which are drafted to reflect the scope of protection sought by the inventors in this document when the terms in those claims which are listed below under the label “Explicit Definitions” are given the explicit definitions set forth therein, and the remaining terms are given their broadest reasonable interpretation as shown by a general purpose dictionary. To the extent that the interpretation which would be given to the claims based on the above disclosure or the incorporated priority documents is in any way narrower than the interpretation which would be given based on the “Explicit Definitions” and the broadest reasonable interpretation as provided by a general purpose dictionary, the interpretation provided by the “Explicit Definitions” and broadest reasonable interpretation as provided by a general purpose dictionary shall control, and the inconsistent usage of terms in the specification or priority documents shall have no effect. 
     Explicit Definitions 
     When used in the claims, “based on” should be understood to mean that something is determined at least in part by the thing that it is indicated as being “based on.” When something is completely determined by a thing, it will be described as being “based EXCLUSIVELY on” the thing. 
     When used in the claims, “computer” should be understood to refer to a device, or group of devices, which is capable of performing one or more logical and/or physical operations on data to produce a result. Non-limiting examples of “computers” include servers, laptops, desktops, netbooks, and notebooks, as well as handheld devices such as cellular phones, personal digital assistants, and portable game consoles. 
     When used in the claims, “computer readable medium” should be understood to refer to any object, substance, or combination of objects or substances, capable of storing data or instructions in a form in which they can be retrieved and/or processed by a device. A computer readable medium should not be limited to any particular type or organization, and should be understood to include distributed and decentralized systems however they are physically or logically disposed, as well as storage objects of systems which are located in a defined and/or circumscribed physical and/or logical space. Computer memory such as hard discs, read only memory, random access memory, solid state memory elements, optical discs and registers is an example of a “computer readable medium.” 
     When used in the claims, “configured” should be understood to mean that the thing “configured” is adapted, designed or modified for a specific purpose. An example of “configuring” in the context of computers is to provide a computer with specific data (which may include instructions) which can be used in performing the specific acts the computer is being “configured” to do. For example, installing Microsoft WORD on a computer “configures” that computer to function as a word processor, which it does by using the instructions for Microsoft WORD in combination with other inputs, such as an operating system, and various peripherals (e.g., a keyboard, monitor, etc.). 
     When used in the claims, “corresponding data elements” should be understood to refer to data elements which, while distinct, refer to the same subject matter. For example, in a real estate purchase contract, if a first user creates an offer with a first data element representing a first price for the sale of the property, and a second user responds by making a counter-offer with a second data element representing a second price for the sale of the property, the first and second data elements would be “corresponding data elements.” 
     When used in the claims, “data” should be understood to refer to information which is represented in a form which is capable of being processed, stored and/or transmitted. 
     When used in the claims, the term “data element” should be understood to refer to an identifiable and distinct entity expressed in a form (e.g., data stored in a computer readable medium) which can be manipulated by a computer. 
     When used in the claims, “data warehouse” should be understood be to refer to a device or set of devices which maintains a collection of data in a manner such that the data can be retrieved by a computer. 
     When used in the claims, the verb “display” refers to the act of providing the thing “displayed” in a visually perceptible form. It should be understood that, in the context of this disclosure, “displaying” refers not only to actually physically presenting a thing on a screen, but also to causing that thing to be presented (e.g., by sending instructions from a local CPU, or by sending information over a network which causes a thing to be “displayed”). 
     When used in the claims, an “element” of a “set” (defined infra) should be understood to refer to one of the things in the “set.” 
     When used in the claims, a “form portion” should be understood to refer to a part of something which is susceptible of multiple uses in similar circumstances, such as a template. 
     When used in the claims, a “real estate transaction contract” should be understood to refer to a document in which two or more parties exchange promises to take or not to take certain actions with respect to land, structures or other forms of real property. 
     When used in the claims, “remote” should be understood to refer to the relationship between entities which are physically distant from one another, such as between entities that communicate over a network. 
     When used in the claims, “restrict” should be understood to refer to impeding, either partially or completely, the ability of an entity to perform the “restricted” activity. 
     When used in the claims, the term “set” should be understood to refer to a number, group, or combination of zero or more things of similar nature, design, or function. 
     When used in the claims, the term “storing” used in the context of a memory or computer readable medium should be understood to mean that the thing “stored” is reflected in one or more physical properties (e.g., magnetic moment, electric potential, optical reflectivity, etc.) of the thing doing the “storing” for a period of time, however brief.