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

Namedata_objectDescription
Contactscrm_contactsPeople at customer or prospect organizations, carrying title, contact details, decision-maker flag, preferred channel, and opt-in state.
Contractslegal_contractsContracts with counterparties or suppliers, covering type, value, key dates, governing law, and lifecycle from draft to terminated.
Disclosure Documentsdisclosure_documentsState-mandated and brokerage-policy disclosure forms attached to transactions, such as agency, property condition, lead paint, and HOA documents.
Leadscrm_leadsProspects captured before qualification, tracking source, score, status, assigned rep, and the contact and account they would convert into.
Real Estate Listingsreal_estate_listingsProperties offered for sale or rent, with pricing, photos, descriptions, agent representation, and status from active to sold.
Real Estate Transactionsreal_estate_transactionsReal estate deals from accepted offer through close, with parties, terms, contingencies, escrow timeline, and document compliance.
Tour Appointmentstour_appointmentsScheduled property showings with lock-box codes, access windows, agent attendance, and follow-up tracking.
UsersusersPlatform users referenced as assignees, authors, approvers, and creators across records.
flowchart TD
  classDef embedded_master fill:#fff4cc,stroke:#c79100,color:#5b4500;
  classDef consumer fill:#e8def8,stroke:#7b1fa2,color:#3a155d;
  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_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"| users
  disclosure_documents -->|"has preparer"| users
  real_estate_transactions -->|"requires disclosures"| disclosure_documents
  users -->|"owns"| legal_contracts
  users -->|"approved"| legal_contracts
  users -->|"drafted"| legal_contracts
  crm_contacts -->|"converted_from_lead"| crm_leads
  users -->|"owns"| crm_leads
  users -->|"owns"| 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 consumer;

3. Entities catalog

#data_objectcanonical codesingularpluralrolemastered inmastered labelnecessitypersonal_contententity_typewrite tiernotes
1crm_contactscrm_contactsContactContactsembedded_mastercrm-acct-mgtAccount and Contact Managementrequiredyesoperational_record:manage-
2legal_contractslegal_contractsContractContractsembedded_masterclm-repositoryContract Repositoryrequiredyesoperational_workflow:manage-
3disclosure_documentsdisclosure_documentsDisclosure DocumentDisclosure Documentsembedded_masterre-brok-agent-opsReal Estate Agent Operationsrequiredyesoperational_workflow:manage-
4crm_leadscrm_leadsLeadLeadsembedded_mastercrm-lead-mgtLead Capture and Qualificationrequiredyesoperational_workflow:manage-
5real_estate_listingsreal_estate_listingsReal Estate ListingReal Estate Listingsembedded_masterre-brok-agent-opsReal Estate Agent Operationsrequiredyesoperational_workflow:manage-
6real_estate_transactionsreal_estate_transactionsReal Estate TransactionReal Estate Transactionsembedded_masterre-brok-agent-opsReal Estate Agent Operationsrequiredyesoperational_workflow:manage-
7tour_appointmentstour_appointmentsTour AppointmentTour Appointmentsembedded_masterre-brok-agent-opsReal Estate Agent Operationsrequiredyesoperational_workflow:manage-
8usersusersUserUsersconsumer(platform built-in)(platform built-in)required-operational_record:manage-

4. Aliases and industry synonyms

data_objectaliasalias_typepreferred?industrynotes
real_estate_transactionsClosingindustry_term-Real Estate-
real_estate_transactionsEscrowindustry_term-Real Estate-
real_estate_listingsMLS Listingindustry_term-Real Estate-
tour_appointmentsOpen House Appointmentindustry_term-Real Estate-
disclosure_documentsSeller Disclosuresindustry_term-Real Estate-
tour_appointmentsShowingindustry_term-Real Estate-
disclosure_documentsTDSindustry_term-Real Estate-

5. Relationships

5.1 Intra-scope edges

fromverbtocardinalitykindnecessityowner_sidedelete_modefk_formatnotes
real_estate_listingsgeneratesreal_estate_transactionsone_to_manyreferencerequiredtargetrestrictreference-
real_estate_listingshas tourstour_appointmentsone_to_manyreferencerequiredtargetrestrictreference-
real_estate_transactionsrequires disclosuresdisclosure_documentsone_to_manycompositionrequiredsourcecascadeparent-
crm_contactsconverted_from_leadcrm_leadsone_to_manyreferenceoptionalsourceclearreference-

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

fromverbtocardinalitynecessityowner_sidedelete_modefk_formatnotes
real_estate_listingshas listing agentusersmany_to_manyrequiredsourcerestrictreference-
tour_appointmentshas showing agentusersmany_to_manyrequiredsourcerestrictreference-
real_estate_transactionshas listing-side agentusersmany_to_manyrequiredsourcerestrictreference-
real_estate_transactionshas buyer-side agentusersmany_to_manyoptionalsourceclearreference-
disclosure_documentshas preparerusersmany_to_manyrequiredsourcerestrictreference-
usersownslegal_contractsone_to_manyoptionalsourceclearreference-
usersapprovedlegal_contractsone_to_manyoptionalsourceclearreference-
usersdraftedlegal_contractsone_to_manyoptionalsourceclearreference-
usersownscrm_leadsone_to_manyrequiredsourcerestrictreference-
usersownscrm_contactsone_to_manyoptionalsourceclearreference-

5.3 Cross-scope edges

5.3a Outbound from this scope’s masters and contributors

Edges this scope drives: the in-scope endpoint has role of master or contributor.

(none: no outbound cross-scope edges from this scope’s masters or contributors)

5.3b Context edges on embedded shells and consumed entities

Edges the canonical owner drives, shown for context: the in-scope endpoint has role of embedded_master, consumer, or derived.

fromverbtocardinalitynecessitydelete_modefk_formatnotes
in_house_legal_mattersreferenceslegal_contractsmany_to_manyoptionalnonen/a-
legal_contractsgovernscustomer_entitlementsone_to_manyoptionalnonen/a-
legal_contractsbackscustomer_subscriptionsone_to_manyoptionalnonen/a-
real_estate_transactionsproduces commission splitscommission_splitsone_to_manyrequired⚠ audit: required composed child out of scopen/a-
contract_templatesseedslegal_contractsone_to_manyoptionalnonen/a-
legal_contractscontainscontract_clausesone_to_manyoptionalnonen/a-
legal_contractsimposescontract_obligationsone_to_manyrequired⚠ audit: required composed child out of scopen/a-
legal_contractswitnessed_bysignature_recordsone_to_manyrequired⚠ audit: required composed child out of scopen/a-
legal_contractsactivatessaas_subscriptionsone_to_manyoptionalnonen/a-
legal_contractsactivatessoftware_licensesone_to_manyoptionalnonen/a-
sourcing_eventsoriginateslegal_contractsone_to_manyoptionalnonen/a-
legal_contractstriggers_creation_ofpurchase_ordersone_to_manyoptionalnonen/a-
legal_contractstriggers_review_inpurchase_requisitionsone_to_manyoptionalnonen/a-
legal_contractspropagates_terms_toinvoice_matchesone_to_manyoptionalnonen/a-
legal_contractsfeeds_revrec_inrevenue_recognition_recordsone_to_manyoptionalnonen/a-
legal_contractsseedsservice_projectsone_to_manyoptionalnonen/a-
legal_contractsrenewal_warnscrm_opportunitiesone_to_manyoptionalnonen/a-
legal_contractsrenewal_warnssaas_subscriptionsone_to_manyoptionalnonen/a-
legal_contractsrenewed_intocustomer_subscriptionsone_to_manyoptionalnonen/a-
legal_contractsseedsagency_jobsone_to_manyoptionalnonen/a-
crm_opportunitiesdraftslegal_contractsone_to_manyoptionalnonen/a-
sales_quotesdraftslegal_contractsone_to_manyoptionalnonen/a-
contract_draftsdraftslegal_contractsone_to_manyoptionalnonen/a-
quote_discountsflows intolegal_contractsone_to_manyoptionalnonen/a-
commercial_leasesflows intolegal_contractsone_to_manyoptionalnonen/a-
engagement_lettersflows intolegal_contractsone_to_manyoptionalnonen/a-
customershas_contactscrm_contactsone_to_manyoptionalnonen/a-
customersconverted_from_leadcrm_leadsone_to_manyoptionalnonen/a-
crm_opportunitiesconverted_from_leadcrm_leadsone_to_manyoptionalnonen/a-
crm_opportunitiesinvolves_contactscrm_contactsmany_to_manyoptionalnonen/a-
crm_contactshas_activitiessales_activitiesone_to_manyoptionalnonen/a-
crm_leadshas_activitiessales_activitiesone_to_manyoptionalnonen/a-
contact_recordsenrichescrm_contactsone_to_manyoptionalnonen/a-
legal_contractsis amended bycontract_amendmentsone_to_manyoptionalnonen/a-
legal_contractsis renewed bycontract_renewal_recordsone_to_manyoptionalnonen/a-
legal_contractsis assessed bycontract_risk_assessmentsone_to_manyoptionalnonen/a-
contract_counterpartiesis party tolegal_contractsone_to_manyoptionalnonen/a-
legal_contractshas milestonecontract_milestonesone_to_manyoptionalnonen/a-
legal_contractshas data protection addendumdata_protection_addendaone_to_manyoptionalnonen/a-
legal_contractsis negotiated incontract_negotiation_threadsone_to_manyoptionalnonen/a-

6. Cross-domain context

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

(none: no other module embeds this scope’s masters; the canonical owners do.)

6.2 Outbound handoffs (events this scope publishes)

source moduletarget domaintarget moduletrigger_eventtransitionpayloadintegrationfrictiondescription
RE-BROK-AGENT-OPSGRC(domain-level)real_estate_transaction.closedpendingclosed (lifecycle)disclosure_documentsbatch_synclowDisclosure-document completeness per closed transaction feeds brokerage-compliance audit and state-real-estate-commission requirements.
CLM-REPOSITORYCLMCLM-OBLIGATION-MGMTlegal_contract.signedsigned (lifecycle)legal_contractslifecycle_progressionlow-
CLM-REPOSITORYCLMCLM-RENEWALlegal_contract.active(state_change)legal_contractslifecycle_progressionlow-
CLM-REPOSITORYS2P(domain-level)legal_contract.expiredactiveexpired (lifecycle)legal_contractsbatch_syncmediumExpired contracts trigger procurement renewal-decision workflow. Failure modes: auto-renewal clauses missed; silent expiry of long-tail contracts.
CLM-REPOSITORYAP-AUTO(domain-level)legal_contract.amendedamended (state_change)legal_contractsapi_callmediumContract amendments propagate to AP-AUTO: updated payment terms, discount schedule, GL coding. Failure modes: retroactive amendments require recalculating already-paid invoices.
CLM-REPOSITORYFIN(domain-level)legal_contract.signedsigned (lifecycle)legal_contractsapi_callmediumSigned contract feeds ERP-FIN payment terms and rev-rec rules. Friction in extracting structured terms from contract text.
CLM-REPOSITORYPSAPSA-PROJECT-DELIVERYlegal_contract.signedsigned (lifecycle)legal_contractsapi_callmediumSigned SOW seeds PSA project scope, billing terms, and milestone schedule. Deviations between contract terms and operational project structure require manual reconciliation.
CRM-LEAD-MGTCRMCRM-ACTIVITYcrm_lead.qualified(state_change)crm_leadslifecycle_progressionlow-
CRM-ACCT-MGTMAMA-CAMPAIGN-AUTHORINGcrm_contact.syncedsynced (signal)crm_contactsbatch_syncmediumContact updates in CRM (new contact, status change, opt-in change, account ownership) sync to MA so audience lists and campaigns stay current. Batch-sync is the typical pattern - real-time would be ideal but most stacks accept hourly or daily latency here.
CRM-LEAD-MGTSALES-ENG(domain-level)crm_lead.scored_above_threshold(threshold)crm_leadsevent_streammediumA lead’s predictive score has crossed the qualified-handoff threshold; SALES-ENG picks up for cadence enrollment. Failure modes: noisy scoring causes cadence whiplash; threshold tuned per segment but not surfaced.
CLM-REPOSITORYSUB-MGMT(domain-level)legal_contract.signedsigned (lifecycle)legal_contractsapi_callmediumSigned contract triggers SUB-MGMT to activate the subscription record.
RE-BROK-AGENT-OPSRE-BROKERAGERE-BROK-BROKERAGE-OPSreal_estate_transaction.contingencies_cleared(state_change)real_estate_transactionslifecycle_progressionlowAgent-side has cleared inspection, financing, and appraisal contingencies; broker oversight takes the transaction into compliance review before authorizing closing.
RE-BROK-AGENT-OPSRE-PROP-MGMT(domain-level)real_estate_transaction.closedpendingclosed (lifecycle)real_estate_transactionsmanual_handoffhighClosed sale of a rental property results in a new landlord-of-record; the new owner’s property-management platform must be configured (often manual handoff via email; the buyer’s PM and the seller’s brokerage are different vendors).
RE-BROK-AGENT-OPSRE-CRE(domain-level)listing.sold(lifecycle)real_estate_listingsbatch_syncmediumClosed sale triggers commercial lease setup if multi-tenant.
RE-BROK-AGENT-OPSRE-CRE(domain-level)real_estate_transaction.closedpendingclosed (lifecycle)real_estate_transactionsmanual_handoffhighClosed sale of a CRE asset transfers operations to the new owner’s CRE platform; rent-roll, leases, and CAM history must be carried over (typically manual).
RE-BROK-AGENT-OPSRE-INVESTRE-INVEST-PORTFOLIO-VALlisting.sold(lifecycle)real_estate_listingsmanual_handoffhighSale closing triggers fund NAV and LP-reporting recalculation.

6.3 Inbound handoffs (events this scope reacts to)

target modulesource domainsource moduletrigger_eventtransitionpayloadintegrationfrictiondescription
CLM-REPOSITORYCLMCLM-NEGOTIATIONlegal_contract.approved(state_change)legal_contractslifecycle_progressionlow-
CLM-REPOSITORYCLMCLM-RENEWALlegal_contract.renewed(state_change)legal_contractslifecycle_progressionlow-
CLM-REPOSITORYS2P(domain-level)sourcing.contract_drafted(state_change)legal_contractsapi_callmediumSourcing decision in S2P hands off to CLM to author the contract. Friction sits in clause selection, redline coordination with the counterparty, and the legal-review loop with LSD.
CLM-REPOSITORYCPQCPQ-QUOTE-BUILDERquote.acceptedaccepted (state_change)legal_contractsapi_callmediumAccepted quote hands off to CLM for contract authoring - pulls in clause language, populates the agreed terms, routes for signature.
CLM-REPOSITORYSMPSMP-RENEWAL-VENDORrenewal.30_day_warning(threshold)legal_contractsapi_calllowSMP’s renewal-watch surfaces a 30-day expiry warning to CLM so the contract document workflow (amendment, renegotiation) can start in time.
CLM-REPOSITORYAGENCY-MGMTAGENCY-MGMT-JOB-TRAFFICestimate.approvedpendingapproved (lifecycle)legal_contractsapi_callmediumClient-approved estimate must be converted into a signed SOW in CLM before delivery can start. Includes line-item scope, billing terms, deliverable schedule, and approval routing.
CRM-LEAD-MGTMAMA-LEAD-SCORINGcrm_lead.qualified(state_change)crm_leadsevent_streammediumMA-driven scoring crosses the MQL threshold; the lead routes to CRM with a recommended owner. Friction comes from definition drift - what counts as MQL, who owns routing, what happens to disqualified leads - and from the lead-to-contact-to-opportunity conversion chain inside CRM.
CRM-LEAD-MGTMAMA-LEAD-SCORINGcrm_lead.scored_above_threshold(threshold)crm_leadsevent_streamlowQualified leads routed to CRM for sales pickup. Tight integration on all major MA platforms.
CRM-LEAD-MGTMAMA-LEAD-SCORINGnurture.completedcompleted (state_change)crm_leadsapi_calllowNurture journey completion (whether successful conversion or exit) updates lead status in CRM. Low friction in same-vendor all-in-one stacks; medium when MA and CRM are separate.
CRM-LEAD-MGTMAMA-LEAD-SCORINGnurture_journey.completed(lifecycle)crm_leadsapi_calllowCompleted nurture without conversion returns the lead to CRM for re-routing or recycle.
CRM-LEAD-MGTPRM(domain-level)partner_referral.qualifiedqualified (state_change)crm_leadsapi_callmediumPartner-sourced referrals flow into CRM lead-routing. Failure modes: dedup against existing prospects; partner-attribution edge cases.
CRM-LEAD-MGTSMM(domain-level)social_lead.capturedcaptured (state_change)crm_leadsapi_callmediumSocial interaction with explicit intent, DM asking pricing, click-through on a lead-gen form, message-ad reply, converts into a CRM-mastered lead with handle, captured form data, and source attribution. Failure modes: handle-to-existing-contact reconciliation produces duplicate leads; form-data quality from social lead-gen ads is inconsistent across networks.
RE-BROK-AGENT-OPSRE-BROKERAGERE-BROK-BROKERAGE-OPSreal_estate_transaction.cleared_to_close(state_change)real_estate_transactionslifecycle_progressionlowBroker compliance review approved; transaction returns to agent-side for closing coordination.

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)-
usersconsumerrequired(platform built-in)-

7. Lifecycle states

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-real-estate-agent: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--real-estate-agent:deliver_disclosureDisclosure sent to recipient (buyer or seller); recipient acknowledgment pending.
3acknowledged-real-estate-agent: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--real-estate-agent:approve_legal_contractFinal negotiated text approved by all internal stakeholders; ready for signature.
50out_for_signature----Signature envelope dispatched to all required signers.
60signed--real-estate-agent:execute_legal_contractAll signers have signed; contract is fully executed.
70active----Effective date has passed; contract is in force. Default post-signature state.
75amended--real-estate-agent: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-real-estate-agent:terminate_legal_contractContract terminated before end date (by mutual consent, breach, or for-cause). Terminal state.
100renewed-real-estate-agent: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--real-estate-agent:activate_listingListing is published to the MLS and accepting offers.
3under_contract--real-estate-agent:mark_under_contractOffer accepted; a real_estate_transaction has been opened. Listing remains visible on MLS as ‘pending’ but not accepting new offers.
4sold-real-estate-agent:close_listingTransaction closed; listing terminated as a sale. Triggers downstream events to property-management, CRE, and investment systems.
5withdrawn-real-estate-agent: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--real-estate-agent:schedule_inspectionInspection period active; structural / pest / specialty inspections scheduled or in progress.
3financing--real-estate-agent:submit_financingBuyer’s loan application in underwriting; appraisal pending; financing contingency open.
4contingencies_cleared--real-estate-agent:clear_contingenciesAll contingencies (inspection, financing, appraisal, title) satisfied or waived. Transaction ready for broker compliance review.
5compliance_review--real-estate-agent: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--real-estate-agent:approve_for_closingBroker signed off; closing date and location confirmed. Only realized when BROKERAGE-OPS module is deployed.
7closed-real-estate-agent:close_transactionDeed recorded, funds disbursed via escrow; transaction complete. Commission splits become payable; downstream domains notified.
8canceled-real-estate-agent: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--real-estate-agent:confirm_tourProspect confirmed attendance; access arrangements finalized.
3completed-real-estate-agent:complete_tourTour took place; agent recorded notes and any buyer-feedback signals.
4canceled-real-estate-agent:cancel_tourTour canceled 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-
real-estate-agent:approve_legal_contractworkflow-gate (lifecycle)Transition legal_contracts into state approved
real-estate-agent:execute_legal_contractworkflow-gate (lifecycle)Transition legal_contracts into state signed
real-estate-agent:amend_legal_contractworkflow-gate (lifecycle)Transition legal_contracts into state amended
real-estate-agent:terminate_legal_contractworkflow-gate (lifecycle)Transition legal_contracts into state terminated
real-estate-agent:renew_legal_contractworkflow-gate (lifecycle)Transition legal_contracts into state renewed
real-estate-agent:convert_leadworkflow-gate (lifecycle)Transition crm_leads into state converted
real-estate-agent:activate_listingworkflow-gate (lifecycle)Transition real_estate_listings into state active
real-estate-agent:mark_under_contractworkflow-gate (lifecycle)Transition real_estate_listings into state under_contract
real-estate-agent:close_listingworkflow-gate (lifecycle)Transition real_estate_listings into state sold
real-estate-agent:withdraw_listingworkflow-gate (lifecycle)Transition real_estate_listings into state withdrawn
real-estate-agent:schedule_inspectionworkflow-gate (lifecycle)Transition real_estate_transactions into state inspection
real-estate-agent:submit_financingworkflow-gate (lifecycle)Transition real_estate_transactions into state financing
real-estate-agent:clear_contingenciesworkflow-gate (lifecycle)Transition real_estate_transactions into state contingencies_cleared
real-estate-agent:submit_for_compliance_reviewworkflow-gate (lifecycle)Transition real_estate_transactions into state compliance_review
real-estate-agent:approve_for_closingworkflow-gate (lifecycle)Transition real_estate_transactions into state cleared_to_close
real-estate-agent:close_transactionworkflow-gate (lifecycle)Transition real_estate_transactions into state closed
real-estate-agent:cancel_transactionworkflow-gate (lifecycle)Transition real_estate_transactions into state canceled
real-estate-agent:confirm_tourworkflow-gate (lifecycle)Transition tour_appointments into state confirmed
real-estate-agent:complete_tourworkflow-gate (lifecycle)Transition tour_appointments into state completed
real-estate-agent:cancel_tourworkflow-gate (lifecycle)Transition tour_appointments into state canceled
real-estate-agent:deliver_disclosureworkflow-gate (lifecycle)Transition disclosure_documents into state delivered
real-estate-agent:acknowledge_disclosureworkflow-gate (lifecycle)Transition disclosure_documents into state acknowledged
real-estate-agent:view_all_contractsoverride (personal_content)View all legal_contracts rows beyond row-scope
real-estate-agent:manage_all_contractsoverride (personal_content)Manage all legal_contracts rows beyond row-scope
real-estate-agent:view_all_leadsoverride (personal_content)View all crm_leads rows beyond row-scope
real-estate-agent:manage_all_leadsoverride (personal_content)Manage all crm_leads rows beyond row-scope
real-estate-agent:view_all_contactsoverride (personal_content)View all crm_contacts rows beyond row-scope
real-estate-agent:manage_all_contactsoverride (personal_content)Manage all crm_contacts rows beyond row-scope
real-estate-agent:view_all_real_estate_listingsoverride (personal_content)View all real_estate_listings rows beyond row-scope
real-estate-agent:manage_all_real_estate_listingsoverride (personal_content)Manage all real_estate_listings rows beyond row-scope
real-estate-agent:view_all_tour_appointmentsoverride (personal_content)View all tour_appointments rows beyond row-scope
real-estate-agent:manage_all_tour_appointmentsoverride (personal_content)Manage all tour_appointments rows beyond row-scope
real-estate-agent:view_all_real_estate_transactionsoverride (personal_content)View all real_estate_transactions rows beyond row-scope
real-estate-agent:manage_all_real_estate_transactionsoverride (personal_content)Manage all real_estate_transactions rows beyond row-scope
real-estate-agent:view_all_disclosure_documentsoverride (personal_content)View all disclosure_documents rows beyond row-scope
real-estate-agent:manage_all_disclosure_documentsoverride (personal_content)Manage all disclosure_documents rows beyond row-scope

8.2 Business rules

rule_namedata_objectsource flagintent
contract_edit_scopelegal_contractshas_personal_contentRow-scope by default; override via real-estate-agent:view_all_contracts / real-estate-agent:manage_all_contracts
lead_edit_scopecrm_leadshas_personal_contentRow-scope by default; override via real-estate-agent:view_all_leads / real-estate-agent:manage_all_leads
contact_edit_scopecrm_contactshas_personal_contentRow-scope by default; override via real-estate-agent:view_all_contacts / real-estate-agent:manage_all_contacts
real_estate_listing_edit_scopereal_estate_listingshas_personal_contentRow-scope by default; override via real-estate-agent:view_all_real_estate_listings / real-estate-agent:manage_all_real_estate_listings
tour_appointment_edit_scopetour_appointmentshas_personal_contentRow-scope by default; override via real-estate-agent:view_all_tour_appointments / real-estate-agent:manage_all_tour_appointments
real_estate_transaction_edit_scopereal_estate_transactionshas_personal_contentRow-scope by default; override via real-estate-agent:view_all_real_estate_transactions / real-estate-agent:manage_all_real_estate_transactions
disclosure_document_edit_scopedisclosure_documentshas_personal_contentRow-scope by default; override via real-estate-agent:view_all_disclosure_documents / real-estate-agent:manage_all_disclosure_documents

9. Roles, RACI, and responsibilities (derived)

Baseline roles, the permission hierarchy, and RACI realization are DERIVED from this scope’s entity-type write tiers + process_raci; none of it is stored in the catalog (the deployer provisions it from this blueprint).

9.1 REAL-ESTATE-AGENT

Baseline roles:

rolebaseline grant
real-estate-agent_viewerreal-estate-agent:read
real-estate-agent_managerreal-estate-agent:manage

Permission hierarchy:

permissionincludes
real-estate-agent:adminreal-estate-agent:manage
real-estate-agent:managereal-estate-agent:read
real-estate-agent:adminreal-estate-agent:approve_legal_contract
real-estate-agent:adminreal-estate-agent:execute_legal_contract
real-estate-agent:adminreal-estate-agent:amend_legal_contract
real-estate-agent:adminreal-estate-agent:terminate_legal_contract
real-estate-agent:adminreal-estate-agent:renew_legal_contract
real-estate-agent:adminreal-estate-agent:convert_lead
real-estate-agent:adminreal-estate-agent:activate_listing
real-estate-agent:adminreal-estate-agent:mark_under_contract
real-estate-agent:adminreal-estate-agent:close_listing
real-estate-agent:adminreal-estate-agent:withdraw_listing
real-estate-agent:adminreal-estate-agent:schedule_inspection
real-estate-agent:adminreal-estate-agent:submit_financing
real-estate-agent:adminreal-estate-agent:clear_contingencies
real-estate-agent:adminreal-estate-agent:submit_for_compliance_review
real-estate-agent:adminreal-estate-agent:approve_for_closing
real-estate-agent:adminreal-estate-agent:close_transaction
real-estate-agent:adminreal-estate-agent:cancel_transaction
real-estate-agent:adminreal-estate-agent:confirm_tour
real-estate-agent:adminreal-estate-agent:complete_tour
real-estate-agent:adminreal-estate-agent:cancel_tour
real-estate-agent:adminreal-estate-agent:deliver_disclosure
real-estate-agent:adminreal-estate-agent:acknowledge_disclosure
real-estate-agent:adminreal-estate-agent:view_all_contracts
real-estate-agent:adminreal-estate-agent:manage_all_contracts
real-estate-agent:adminreal-estate-agent:view_all_leads
real-estate-agent:adminreal-estate-agent:manage_all_leads
real-estate-agent:adminreal-estate-agent:view_all_contacts
real-estate-agent:adminreal-estate-agent:manage_all_contacts
real-estate-agent:adminreal-estate-agent:view_all_real_estate_listings
real-estate-agent:adminreal-estate-agent:manage_all_real_estate_listings
real-estate-agent:adminreal-estate-agent:view_all_tour_appointments
real-estate-agent:adminreal-estate-agent:manage_all_tour_appointments
real-estate-agent:adminreal-estate-agent:view_all_real_estate_transactions
real-estate-agent:adminreal-estate-agent:manage_all_real_estate_transactions
real-estate-agent:adminreal-estate-agent:view_all_disclosure_documents
real-estate-agent:adminreal-estate-agent:manage_all_disclosure_documents

Processes wired:

process_keyprocess_namePCF codePCF IDleveldescription
negotiate_document_agreementsNegotiate and document agreements/contracts12.4.9110523Negotiating terms to reach a final draft of a contract that is acceptable to all parties.
manage_contractsManage contracts4.2.3.4102914Keeping contracts up-to-date with routine evaluation. Maintain order and discipline with the contracts in order to avoid any loss of information and mishaps.

RACI realization:

actorkindraciprocess_keyrealization
LEGAL-COUNSELpersonaresponsiblenegotiate_document_agreementsgrant gates [real-estate-agent:approve_legal_contract] + the gated entities’ write tier
CONTRACT-OPS-MANAGERpersonaaccountablenegotiate_document_agreementsapproval gate
PROCUREMENT-CONTRACT-LIAISONpersonaconsultednegotiate_document_agreementsadvisory read grant
CONTRACT-OPS-SPECIALISTpersonainformednegotiate_document_agreementsnotification side effect (trigger_event / webhook_receiver)
CONTRACT-OPS-SPECIALISTpersonaresponsiblemanage_contractsgrant gates [real-estate-agent:execute_legal_contract, real-estate-agent:terminate_legal_contract, real-estate-agent:renew_legal_contract] + the gated entities’ write tier
CONTRACT-OPS-MANAGERpersonaaccountablemanage_contractsapproval gate
LEGAL-COUNSELpersonaconsultedmanage_contractsadvisory read grant

9.2 Functional ownership and default grants

(none: no business_function_domains rows for this scope’s domain)