Skip to content

Opportunity Aggregates

Why This Exists

This document defines aggregate boundaries for the Opportunity Domain using Domain-Driven Design.

Owner

The owner is the Chief Product Officer and Enterprise Architect.

Business Value

Aggregate boundaries keep tender facts, indexing, matching, recommendations, watchlists, saved opportunities, and lifecycle state consistent.

Aggregate Catalogue

Aggregate Purpose Boundary
Tender Opportunity Root aggregate for a tender opportunity record. Tender facts, source, status, documents, deadlines, briefing sessions.
Tender Source Governs source configuration and source quality. Source identity, type, reliability, ingestion rules.
Tender Index Searchable structured tender representation. Indexed fields, extracted requirements, document references.
Opportunity Match Match between Organization and tender. Match score, reasons, inputs, status.
Qualification Assessment Eligibility, fit, effort, risk, and readiness analysis. Qualification result and factors.
Recommendation Record Bid/no-bid recommendation and win probability estimate. Recommendation state, rationale, confidence, owner decision.
Watchlist Customer monitoring list. Watch criteria, saved filters, alerts.
Saved Opportunity Saved tender pipeline record. Customer save state, notes, priority, follow-up state.

Aggregate Diagram

flowchart TD
    Tender[Tender Opportunity]
    Source[Tender Source]
    Index[Tender Index]
    Match[Opportunity Match]
    Qualification[Qualification Assessment]
    Recommendation[Recommendation Record]
    Watchlist[Watchlist]
    Saved[Saved Opportunity]

    Source --> Tender
    Tender --> Index
    Tender --> Match
    Match --> Qualification
    Qualification --> Recommendation
    Tender --> Saved
    Watchlist --> Tender

Core Invariants

Invariant Description
Tender identity is stable TenderOpportunityId must not change once created.
Source is preserved Tender source and retrieval metadata must be traceable.
Deadlines are explicit Submission and briefing deadlines must be modeled as deadline records.
Recommendation is owned Bid/no-bid recommendation record is owned by Opportunity.
Proposal content excluded Proposal writing and bid response content are out of scope.

Cross-Domain Reference Rule

Opportunity references OrganizationId, ComplianceProfileId or readiness summaries, and Intelligence session IDs. It does not own Organization or Compliance state.