Families & Households

Household & Family Management

The **Families** module is a core CRM component that groups individual contacts into household units. It is designed to model physical residences, simplify billing/giving tracking, and coordinate pastoral care.

Household & Family Management

The Families module is a core CRM component that groups individual contacts into household units. It is designed to model physical residences, simplify billing/giving tracking, and coordinate pastoral care.


1. Household Grouping Concepts

In Kononia, family records operate as distinct entities linked to contacts via a junction schema.

Core Architecture

  • families: Represents the physical household unit. It contains address details, shared contact info, and custom notes.
  • family_members: A junction table that resolves the many-to-many relationship between people and families. A person can theoretically be associated with multiple households (e.g., in co-parenting situations), though one is marked as primary.

2. Head of Household (head_person_id)

Every family record includes a head_person_id pointing to a record in the people table.

  • Primary Contact: The head of household serves as the default recipient for church communication (such as mailings or automated emails).
  • Financial Statements: End-of-year tax contribution statements and giving summaries are aggregated and addressed to the head of household by default.
  • Directory Display: In the public parish directory, members are listed under the household head to present a clear hierarchy.

3. Junction Roles & Membership (family_members)

Association records in the family_members table are qualified by specific structural parameters:

Member Roles

Every member linked to a household has an assigned role that dictates directory rendering:

  • 'head': Main point of contact / primary representative.
  • 'spouse': Husband/wife partner.
  • 'child': Dependent children.
  • 'relative': Extended family (e.g., grandparents, aunts/uncles) living at the same address.
  • 'dependent': Other legal dependents.
  • 'member': Standard household member.

Primary Designation (is_primary)

The is_primary boolean flag in family_members indicates whether the selected family is the person’s primary household.

  • When is_primary = true, the person’s main contact address is synchronized with the family’s address.
  • Only the primary household context is queried during directory lookups.

4. Permissions & Operations

Managing families requires specific permission scopes:

  • families.view: View the list of households and members.
  • families.manage: Create new households, edit details, add/remove members, and update assigned shepherds.