entity

Professional

Person projection for an expert associated with a provider. Persisted in Airtable; HTTP register currently returns 501.

EntityStatus: Implemented in api-v1

Purpose

A professional is a person projection tied to a provider. Canonical person identity belongs to party-directory; this type holds personPartyId.

The domain class, ProfessionalRegistered event, Airtable professionals table, and AirtableProfessionalRepository exist. RegisterProfessionalUseCase requires a ProviderProfile row first. HTTP POST .../professionals currently returns 501 because detail endpoints are placeholders pending api-v2.

Invariants

  • Mutations (updateRole, markPrimary, end) fail with ProfessionalEndedError when status is ENDED.
  • end() also clears isPrimary.

Domain Events