# `PhoenixKitProjects.People.Person`
[🔗](https://github.com/BeamLabEU/phoenix_kit_projects/blob/v0.21.2/lib/phoenix_kit_projects/people/person.ex#L1)

READ-ONLY shadow schema over the core-owned `phoenix_kit_staff_people`
table (created by core migration V100 — present on every install,
whether or not the `phoenix_kit_staff` package is). Part of the
staff-optional seam (see `PhoenixKitProjects.People`): projects' own
bounded read model of a person, mapping ONLY the columns this module
reads. No changesets — people are managed by the staff module's admin;
projects never writes these rows.

Struct identity: this is `%PhoenixKitProjects.People.Person{}`, never
interchangeable with `%PhoenixKitStaff.Schemas.Person{}` — do not pass
it into staff functions.

# `t`

```elixir
@type t() :: %PhoenixKitProjects.People.Person{
  __meta__: term(),
  name: term(),
  primary_department: term(),
  primary_department_uuid: term(),
  status: term(),
  user: term(),
  user_uuid: term(),
  uuid: term()
}
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
