entity

Provider

Service-providing organization projection in the marketplace. Aggregate root; scraped from a source URL or entered manually.

Entity(Aggregate Root)Status: Implemented in api-v1Aggregate Root

Purpose

A provider is the marketplace projection of a service-providing organization. It replaces the Plan 3 Contractor aggregate. Canonical organization identity lives in party-directory; this aggregate may hold organizationPartyId after linkToOrganization.

Invariants

  • name is required and non-empty after trim.
  • sourceUrl must be a valid http or https URL after normalization.
  • Service-area add/remove and type/org linking require status active.
  • markDeleted on an already-deleted provider is a domain error (ProviderAlreadyDeletedError).
  • Adding an already-attached service area is a no-op (no event). Removing an unknown service area is reported as unmatched, not an error.

Domain Events

changeProviderType and linkToOrganization persist without a dedicated domain event.