Market pillar · v0.16.0
opportunity Opportunity
Sales opportunity.
$id · https://corpospec.com/schemas/v0.16.0/opportunity.schema.json
Fields
| Field | Type | Required | Description |
|---|---|---|---|
| account | PathRef | yes | PathRef to the customer / prospect (customer.rs). |
| amount | number | yes | |
| close_date | IsoDate | yes | Target close date. |
| competitors | CompetitorEntry[] | yes | |
| created_at | IsoDate | yes | ISO 8601 date (YYYY-MM-DD). |
| currency | IsoCurrency | yes | Deal currency + amount (annual contract value). |
| id | PathRef | yes | Path-based cross-reference relative to .corpospec/ root. Pattern: `^[a-z0-9_-]+(/[a-z0-9_.-]+)+$` |
| name | string | yes | |
| owner | PathRef | yes | Path-based cross-reference relative to .corpospec/ root. Pattern: `^[a-z0-9_-]+(/[a-z0-9_.-]+)+$` |
| probability | number | yes | Win probability (0.0–1.0). |
| source | OpportunitySource | yes | Source / inbound channel. |
| stage | OpportunityStage | yes | Pipeline stage. |
| activity_refs | PathRef[] | — | PathRefs to associated activities (calls, demos, emails). |
| closed_at | IsoDate? | — | |
| loss_detail | string? | — | Free-form lost narrative. |
| loss_reason | LossReason? | — | Closed-lost reason (only set when stage == ClosedLost). |
| proposed_plan_ref | PathRef? | — | PathRef to the proposed pricing plan. |
Definitions
Shared types referenced within this schema.
CompetitorEntry
One competitor in the deal.
type: object
IsoCurrency
ISO 4217 currency code.
pattern: ^[A-Z]{3}$
IsoDate
ISO 8601 date (YYYY-MM-DD).
type: string
LossReason
Loss-reason taxonomy (for closed-lost analysis).
OpportunitySource
Source / inbound channel.
OpportunityStage
Pipeline stage.
PathRef
Path-based cross-reference relative to .corpospec/ root.
Pattern: `^[a-z0-9_-]+(/[a-z0-9_.-]+)+$`
pattern: ^[a-z0-9_-]+(/[a-z0-9_.-]+)+$
Reference in your YAML
# yaml-language-server: $schema=https://corpospec.com/schemas/v0.16.0/opportunity.schema.json