Semantius Logo

Real Estate Agent (solo / small firm bundle)

1. Overview

Solo-agent and small-firm persona bundle. Single-install deployable for individual real estate agents covering lead capture and contact relationships (CRM-LEAD-MGT, CRM-ACCT-MGT), listing creation and MLS syndication, tour scheduling, transaction execution, disclosure handling (RE-BROK-AGENT-OPS), and contract reference (CLM-REPOSITORY). One module to install; larger brokerages deploy the underlying full modules and skip the starter.

2. Entity summary

NameDescription
ContactsPerson at a customer account (B2B) or contact-level record (B2C-relevant). Carries title, email, decision-maker flag, preferred channel, opt-in state. MA contributes engagement data; SALES-ENG contributes cadence touchpoints.
ContractsCanonical contract record: counterparty / supplier, contract type (MSA, SOW, NDA, DPA, subscription, lease), effective and expiry dates, total value, governing law, status (draft, in-negotiation, signed, active, expired, terminated). The most multi-mastered SaaS-related object - CLM owns the document, S2P and SMP contribute context.
Disclosure DocumentsState-mandated and brokerage-policy disclosure forms attached to transactions (agency disclosure, property condition, lead paint, HOA documents); required for compliance audit.
LeadsPre-qualification prospect record - source, score, status (new/working/qualified/disqualified/converted), assigned rep, conversion target (which contact + account it would become). MQL handoff from MA lands here.
Real Estate ListingsProperty offered for sale or rent on an MLS or brokerage marketplace; carries pricing, photos, descriptive text, agent representation, and listing-status lifecycle (active/contingent/pending/sold/withdrawn).
Real Estate TransactionsDeal pipeline from offer through close: parties, terms, contingencies, escrow timeline, and document compliance. One transaction per accepted offer; survives the listing once the offer is bound.
Tour AppointmentsScheduled property showings with lock-box codes, access windows, agent attendance, and follow-up tracking.
flowchart TD
  classDef embedded_master fill:#fff4cc,stroke:#c79100,color:#5b4500;
  classDef platform_builtin fill:#e0e0e0,stroke:#424242,color:#1a1a1a;
  legal_contracts["Contracts"]
  crm_leads["Leads"]
  crm_contacts["Contacts"]
  real_estate_listings["Real Estate Listings"]
  tour_appointments["Tour Appointments"]
  real_estate_transactions["Real Estate Transactions"]
  disclosure_documents["Disclosure Documents"]
  users["Users"]
  real_estate_listings -->|"generates"| real_estate_transactions
  real_estate_listings -->|"has tours"| tour_appointments
  real_estate_transactions -->|"requires disclosures"| disclosure_documents
  crm_contacts -->|"converted_from_lead (opt)"| crm_leads
  real_estate_listings -->|"has listing agent"| users
  tour_appointments -->|"has showing agent"| users
  real_estate_transactions -->|"has listing-side agent"| users
  real_estate_transactions -->|"has buyer-side agent (opt)"| users
  disclosure_documents -->|"has preparer"| users
  users -->|"owns (opt)"| legal_contracts
  users -->|"approved (opt)"| legal_contracts
  users -->|"drafted (opt)"| legal_contracts
  users -->|"owns"| crm_leads
  users -->|"owns (opt)"| crm_contacts
  class legal_contracts embedded_master;
  class crm_leads embedded_master;
  class crm_contacts embedded_master;
  class real_estate_listings embedded_master;
  class tour_appointments embedded_master;
  class real_estate_transactions embedded_master;
  class disclosure_documents embedded_master;
  class users platform_builtin;

3. Entities catalog

#data_objectrolemastered innecessitypattern flagsnotes
1crm_contacts (Contacts)embedded_mastercrm-acct-mgtrequiredpersonal_content-
2legal_contracts (Contracts)embedded_masterclm-repositoryrequiredsubmit_lock-
3disclosure_documents (Disclosure Documents)embedded_masterre-brok-agent-opsrequiredpersonal_content, submit_lock, single_approver-
4crm_leads (Leads)embedded_mastercrm-lead-mgtrequiredpersonal_content-
5real_estate_listings (Real Estate Listings)embedded_masterre-brok-agent-opsrequiredpersonal_content-
6real_estate_transactions (Real Estate Transactions)embedded_masterre-brok-agent-opsrequiredpersonal_content, submit_lock-
7tour_appointments (Tour Appointments)embedded_masterre-brok-agent-opsrequiredpersonal_content-

4. Aliases and industry synonyms

(no industry-scoped aliases or non-synonym alias types loaded for this scope; generic synonyms are omitted as common knowledge.)

5. Relationships

5.1 Intra-scope edges

fromverbtocardinalitykindnecessityowner_sidenotes
real_estate_listingsgeneratesreal_estate_transactionsone_to_manyreferencerequiredtarget-
real_estate_listingshas tourstour_appointmentsone_to_manyreferencerequiredtarget-
real_estate_transactionsrequires disclosuresdisclosure_documentsone_to_manycompositionrequiredtarget-
crm_contactsconverted_from_leadcrm_leadsone_to_manyreferenceoptionalsource-

5.2 Built-in edges (users and other platform built-ins)

fromverbtocardinalitynecessityowner_sidenotes
real_estate_listingshas listing agentusersmany_to_manyrequiredsource-
tour_appointmentshas showing agentusersmany_to_manyrequiredsource-
real_estate_transactionshas listing-side agentusersmany_to_manyrequiredsource-
real_estate_transactionshas buyer-side agentusersmany_to_manyoptionalsource-
disclosure_documentshas preparerusersmany_to_manyrequiredsource-
usersownslegal_contractsone_to_manyoptionalsource-
usersapprovedlegal_contractsone_to_manyoptionalsource-
usersdraftedlegal_contractsone_to_manyoptionalsource-
usersownscrm_leadsone_to_manyrequiredsource-
usersownscrm_contactsone_to_manyoptionalsource-

5.3 Cross-scope edges

fromverbtocardinalitynecessitynotes
in_house_legal_mattersreferenceslegal_contractsmany_to_manyoptional-
legal_contractsgovernscustomer_entitlementsone_to_manyoptional-
legal_contractsbackscustomer_subscriptionsone_to_manyoptional-
real_estate_transactionsproduces commission splitscommission_splitsone_to_manyrequired-
contract_templatesseedslegal_contractsone_to_manyoptional-
legal_contractscontainscontract_clausesone_to_manyoptional-
legal_contractsimposescontract_obligationsone_to_manyrequired-
legal_contractswitnessed_bysignature_recordsone_to_manyrequired-
legal_contractsactivatessaas_subscriptionsone_to_manyoptional-
legal_contractsactivatessoftware_licensesone_to_manyoptional-
sourcing_eventsoriginateslegal_contractsone_to_manyoptional-
legal_contractstriggers_creation_ofpurchase_ordersone_to_manyoptional-
legal_contractstriggers_review_inpurchase_requisitionsone_to_manyoptional-
legal_contractspropagates_terms_toinvoice_matchesone_to_manyoptional-
legal_contractsfeeds_revrec_inrevenue_recognition_recordsone_to_manyoptional-
legal_contractsseedsservice_projectsone_to_manyoptional-
legal_contractsrenewal_warnscrm_opportunitiesone_to_manyoptional-
legal_contractsrenewal_warnssaas_subscriptionsone_to_manyoptional-
legal_contractsrenewed_intocustomer_subscriptionsone_to_manyoptional-
legal_contractsseedsagency_jobsone_to_manyoptional-
crm_opportunitiesdraftslegal_contractsone_to_manyoptional-
sales_quotesdraftslegal_contractsone_to_manyoptional-
contract_draftsdraftslegal_contractsone_to_manyoptional-
quote_discountsflows intolegal_contractsone_to_manyoptional-
commercial_leasesflows intolegal_contractsone_to_manyoptional-
engagement_lettersflows intolegal_contractsone_to_manyoptional-
customershas_contactscrm_contactsone_to_manyoptional-
customersconverted_from_leadcrm_leadsone_to_manyoptional-
crm_opportunitiesconverted_from_leadcrm_leadsone_to_manyoptional-
crm_opportunitiesinvolves_contactscrm_contactsmany_to_manyoptional-
crm_contactshas_activitiessales_activitiesone_to_manyoptional-
crm_leadshas_activitiessales_activitiesone_to_manyoptional-

6. Cross-domain context

6.1 Master consumers (other modules / domains that embed this scope’s masters)

6.2 Outbound handoffs (events this scope publishes)

(no outbound handoffs whose payload is in this scope.)

6.3 Inbound handoffs (events this scope reacts to)

(no inbound handoffs whose payload is in this scope.)

6.4 Master providers (modules / domains that own masters this scope embeds)

data_objectrole herenecessitycanonical owner(s)slice notes
crm_contactsembedded_masterrequiredCRM-ACCT-MGT (CRM)-
crm_leadsembedded_masterrequiredCRM-LEAD-MGT (CRM)-
disclosure_documentsembedded_masterrequiredRE-BROK-AGENT-OPS (RE-BROKERAGE)-
legal_contractsembedded_masterrequiredCLM-REPOSITORY (CLM)-
real_estate_listingsembedded_masterrequiredRE-BROK-AGENT-OPS (RE-BROKERAGE)-
real_estate_transactionsembedded_masterrequiredRE-BROK-AGENT-OPS (RE-BROKERAGE)-
tour_appointmentsembedded_masterrequiredRE-BROK-AGENT-OPS (RE-BROKERAGE)-

7. Lifecycle states (per touched entity)

crm_contacts (Contact)

This scope holds crm_contacts as embedded_master; the canonical state machine is owned by CRM-ACCT-MGT.

orderstate_nameinitial?terminal?requires_permission?derived gatedescription
1active---Contact is current and reachable.
2inactive----Contact is no longer engaged but record retained.
3unsubscribed---Contact has opted out of all channels.

crm_leads (Lead)

This scope holds crm_leads as embedded_master; the canonical state machine is owned by CRM-LEAD-MGT.

orderstate_nameinitial?terminal?requires_permission?derived gatedescription
1new---Freshly captured lead awaiting triage.
2working----Sales rep is actively engaging the lead.
3qualified----Lead meets qualification criteria and is ready to convert.
4converted-crm-lead-mgt:convert_leadLead has been converted into a contact, account, and opportunity.
5disqualified---Lead does not meet criteria; closed without conversion.

disclosure_documents (Disclosure Document)

This scope holds disclosure_documents as embedded_master; the canonical state machine is owned by RE-BROK-AGENT-OPS.

orderstate_nameinitial?terminal?requires_permission?derived gatedescription
1drafted---Disclosure generated from a state-specific template (agency disclosure, lead-paint, natural-hazards, transfer disclosure). Not yet delivered.
2delivered--re-brok-agent-ops:deliver_disclosureDisclosure sent to recipient (buyer or seller); recipient acknowledgment pending.
3acknowledged-re-brok-agent-ops:acknowledge_disclosureRecipient signed acknowledgment recorded (typically via eSign callback). Disclosure satisfies the compliance requirement on the transaction.
4rejected---Recipient refused to acknowledge or signed under dispute. Typically requires the transaction to address the rejection before progressing.

This scope holds legal_contracts as embedded_master; the canonical state machine is owned by CLM-REPOSITORY.

orderstate_nameinitial?terminal?requires_permission?derived gatedescription
10draft---Initial draft created in CLM-AUTHORING from a template, or received via inbound handoff from CPQ/sourcing.
20in_review----Draft has been routed for internal review prior to counterparty exchange.
30in_negotiation----Active counterparty negotiation with track-changes / redline exchange.
40approved--clm-negotiation:approve_legal_contractFinal negotiated text approved by all internal stakeholders; ready for signature.
50out_for_signature----Signature envelope dispatched to all required signers.
60signed--clm-repository:execute_legal_contractAll signers have signed; contract is fully executed.
70active----Effective date has passed; contract is in force. Default post-signature state.
75amended--clm-repository:amend_legal_contractAn amendment has been executed against this contract. Amendment is a separate record; this contract row reflects the amended terms going forward.
80expired---End date passed without renewal or termination. Terminal state.
90terminated-clm-repository:terminate_legal_contractContract terminated before end date (by mutual consent, breach, or for-cause). Terminal state.
100renewed-clm-renewal:renew_legal_contractRenewed via a new contract record (or extended via amendment). The renewal is a separate record; this row is terminal.

real_estate_listings (Real Estate Listing)

This scope holds real_estate_listings as embedded_master; the canonical state machine is owned by RE-BROK-AGENT-OPS.

orderstate_nameinitial?terminal?requires_permission?derived gatedescription
1draft---Listing is being prepared (photos, copy, pricing); not yet published to MLS.
2active--re-brok-agent-ops:activate_listingListing is published to the MLS and accepting offers.
3under_contract--re-brok-agent-ops:mark_under_contractOffer accepted; a real_estate_transaction has been opened. Listing remains visible on MLS as ‘pending’ but not accepting new offers.
4sold-re-brok-agent-ops:close_listingTransaction closed; listing terminated as a sale. Triggers downstream events to property-management, CRE, and investment systems.
5withdrawn-re-brok-agent-ops:withdraw_listingListing pulled from the market without a sale (seller decision, expired listing agreement before contract, market reasons).
6expired---Listing agreement reached its end date without a sale or active renewal. No explicit user action; system marks at expiration.

real_estate_transactions (Real Estate Transaction)

This scope holds real_estate_transactions as embedded_master; the canonical state machine is owned by RE-BROK-AGENT-OPS.

orderstate_nameinitial?terminal?requires_permission?derived gatedescription
1opened---Accepted offer created the transaction; buyer/seller, listing reference, offer price, escrow agent, target close date captured.
2inspection--re-brok-agent-ops:schedule_inspectionInspection period active; structural / pest / specialty inspections scheduled or in progress.
3financing--re-brok-agent-ops:submit_financingBuyer’s loan application in underwriting; appraisal pending; financing contingency open.
4contingencies_cleared--re-brok-agent-ops:clear_contingenciesAll contingencies (inspection, financing, appraisal, title) satisfied or waived. Transaction ready for broker compliance review.
5compliance_review--re-brok-brokerage-ops:submit_for_compliance_reviewBroker / transaction coordinator reviewing transaction file for compliance (disclosure completeness, signature audit, trust-account accounting). Only realized when BROKERAGE-OPS module is deployed.
6cleared_to_close--re-brok-brokerage-ops:approve_for_closingBroker signed off; closing date and location confirmed. Only realized when BROKERAGE-OPS module is deployed.
7closed-re-brok-agent-ops:close_transactionDeed recorded, funds disbursed via escrow; transaction complete. Commission splits become payable; downstream domains notified.
8cancelled-re-brok-agent-ops:cancel_transactionTransaction fell through (failed inspection beyond repair, financing denied, mutual cancellation, contingency invocation). Listing typically returns to active.

tour_appointments (Tour Appointment)

This scope holds tour_appointments as embedded_master; the canonical state machine is owned by RE-BROK-AGENT-OPS.

orderstate_nameinitial?terminal?requires_permission?derived gatedescription
1scheduled---Tour booked with prospect; access arrangements (lockbox code, listing-agent attendance) pending confirmation.
2confirmed--re-brok-agent-ops:confirm_tourProspect confirmed attendance; access arrangements finalized.
3completed-re-brok-agent-ops:complete_tourTour took place; agent recorded notes and any buyer-feedback signals.
4cancelled-re-brok-agent-ops:cancel_tourTour cancelled by either party before it took place.
5no_show---Prospect did not appear at the scheduled time. No explicit cancellation; agent marks after the fact.

8. Permissions and business rules (derived)

8.1 Permissions

permissiontierdescriptionincluded in :admin?
real-estate-agent:readbaseline-readRead access to every entity in the module
real-estate-agent:managebaseline-manageEdit operational records
real-estate-agent:adminbaseline-adminEdit reference data and inherit every workflow gate below-

8.2 Business rules

(no flag-derived business rules.)