# Business Domain — Startups

> The Startup subject entity, its classification, and its workflows.

_Verified against `app/Models/Startup.php`, routes, and services on 2026-07-23._

---

## Entity
`Startup` (`app/Models/Startup.php`) — uses `SoftDeletes`.

- **Classification (LabelOption FKs, ~14):** action, statusOption, sector, traction, productStage, investmentStage, roundType, revenueModel, and more.
- **Relationships:** belongs to `Country`, `City`, `Group`; hasMany `StartupMember`, `StartupLocation` (geographic focuses); morphMany `File`, `Meeting`, `EntityNote`. Note bodies are capped at 5000 characters (`EntityNote::BODY_MAX_LENGTH`) across all write paths — see [`../06-history/decisions-log.md`](../06-history/decisions-log.md) (DR-009). Notes may be deleted from the **admin dashboard** only; the AI/API/MCP surface is create/edit-only (DR-010). Admin deletions are hard deletes but audited before removal (DR-011).
- **Computed valuation:** on save, post-money `valuation = asking_fund_sar / (offered_equity_pct / 100)`.
- **Bilingual naming:** `name` (Arabic) + `name_en` (English), plus `applicant_full_name`.
- **Provenance & dedup:** `source` = `monday` | `dashboard`; merge-on-insert dedup (`is_duplicate`, `additional_monday_item_ids`).

## Pipeline & actions
- **Groups** = pipeline stages (per startup type).
- **`action` LabelOption** applied via `StartupLabelActionService` (`app/Services/Actions/`): approve / reject / request-info style transitions with optional **group move**, `rejection_reason` / request-info capture, **notification dispatch**, and **meeting cancellation** side effects. Canonical path for dashboard, API, MCP, and agents.

## Workflows
- **Onboarding:** public `startup_signup` → creates Startup + `StartupMember`s + file uploads → auto valuation compute → scheduling/booking.
- **Initial due diligence:** OTP-gated `startup-initial-dd/*` upload portal.
- **Actions / action-groups:** admin (or agent, post-approval) applies an `action` option to advance/reject the startup.
- **Committees / Demos:** startups are pitched/evaluated; pitch decks streamed in the demo/committee portals; files stored via the secure startup file store (`app/Services/Storage/`).

## API surface
`/api/v1/startups` and MCP tools (`startup_list/search/get/find_gaps/update/bulk_update`, `startup_set_action`, `startup_member_*`, `startup_file_*`, `startup_set_geographic_focus`, `startup_upload_logo`, …). See [`../03-ai-agents/tools.md`](../03-ai-agents/tools.md).
