People pillar · v0.8.1

person Person

Person record aligned with vCard/jCard (RFC 6350) and W3C ORG Membership.

$id · https://corpospec.com/schemas/v0.8.1/person.schema.json

Fields

Field Type Required Description
email string yes Primary email address.
id PathRef yes PathRef of this record (e.g. `people/team/maik`).
name PersonName yes Person's name in RFC 6350 vCard form.
status PersonStatus yes Lifecycle status.
type string yes W3C ORG / schema.org type discriminator. Currently always `"Person"`.
bio string? Short prose biography or summary.
custom PersonCustom? Typed custom extension fields (payroll, insurance, compliance).
date_of_birth IsoDate? Date of birth.
end_date IsoDate? Last day of employment. `null` while active.
equity PathRef? PathRef to this person's stakeholder record in the cap table (if any).
personal_address PostalAddress? Personal (non-work) postal address.
phone string? Primary phone number in E.164-compatible form.
role PathRef? PathRef to the `Role` this person holds (if any).
start_date IsoDate? First day of employment (may precede `compensation_start_date` when initial service is uncompensated).
unit string? Organisational unit (id of an `OrgUnit` within `people/org`). This is a local identifier, not a PathRef — the unit set is defined on `OrgStructure.units[].id`.

Definitions

Shared types referenced within this schema.

DOInsurance
Directors & Officers (D&O) insurance details attached to a person. Captures whether D&O coverage is contractually required, the coverage ceiling, and an estimate of the annual premium so that compensation reporting can reason about total employer cost.
type: object
EmploymentType
Employment type enumerating the contractual relationship kinds observed across UNSTARTER, ACME, and German-law companies modelled in CorpoSpec. Includes the German-law specific values (`angestellte`, `geschaeftsfuehrer`, `minijob-520`, `werkstudent`) alongside internationally common categories.
IsoCountry
ISO 3166-1 alpha-2 country code.
pattern: ^[A-Z]{2}$
IsoDate
ISO 8601 date (YYYY-MM-DD).
type: string
PathRef
Path-based cross-reference relative to .corpospec/ root. Pattern: `^[a-z0-9_-]+(/[a-z0-9_.-]+)+$`
pattern: ^[a-z0-9_-]+(/[a-z0-9_.-]+)+$
PersonCustom
Typed extension fields for Person. Holds per-person payroll, insurance, and compliance metadata that does not belong on the W3C-aligned core `Person` record. Every field is optional — companies may omit any field not relevant to their jurisdiction.
type: object
PersonName
Person name. `given` and `family` follow RFC 6350 vCard semantics. `full` is stored explicitly rather than derived so that cultures with non-concatenative name formats (e.g. family-name-first, particles, patronymics) can present the preferred display form without rule-based reconstruction.
type: object
PersonStatus
Person employment status.
PostalAddress
Physical address aligned with schema.org PostalAddress.
type: object

Reference in your YAML

# yaml-language-server: $schema=https://corpospec.com/schemas/v0.8.1/person.schema.json