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
nameis required and non-empty after trim.sourceUrlmust be a validhttporhttpsURL after normalization.- Service-area add/remove and type/org linking require status
active. markDeletedon 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.