---
id: CON-MBR-STR-003
name: Membership Program
feature: FEAT-MBR-STR-03
product_area: membership
module: structure
revision: 1
status: draft
product_intent: proposed
implementation_evidence: partially-observed
source_sha:
  services-membership: 5994c270e8a37a30f848e99ba5b5ee6b87c08893
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
definition: >-
  A membership program defines a context for holding membership, including owner categories, unit binding,
  classifications and shared date and selling settings.
owned_by: MOD-MBR-STR
synonyms:
  - membership context
  - program
not_to_be_confused_with:
  - Membership package
  - A person’s membership holding
  - Organizational unit
facets:
  - name: Eligible owners
    meaning: 'Contact, organization or either identifies the intended ownership category.'
    used_for: Supplying owner eligibility to membership operations.
  - name: Connection to units
    meaning: 'No binding, affiliation and identity distinguish how holdings refer to organizational units.'
    used_for: Establishing the program’s membership identity model.
  - name: Affiliation requirements
    meaning: Category counts and primary choices describe the units members can belong to.
    used_for: Providing defaults for term affiliations.
  - name: Mutual exclusion
    meaning: An exclusivity group identifies incompatible overlapping program holdings.
    used_for: Preventing incompatible memberships during creation or sale.
  - name: Membership numbers
    meaning: 'The numbering scope chooses workspace, program or CRM-owner numbering.'
    used_for: Supplying numbering context for new holdings.
  - name: Calendar allowances
    meaning: Grace and continuity settings contribute to date-based interpretation.
    used_for: Computing standing and continuity with live configuration.
  - name: Sales context
    meaning: 'Ordering, same-order qualification and cancellation settings supply Commerce inputs.'
    used_for: Describing selling and cancellation without calculating money here.
  - name: Classifications
    meaning: 'Membership types qualify benefits, grace and organization flow-down within a program.'
    used_for: Distinguishing categories such as Student and Regular.
  - name: Undelivered choices
    meaning: Grace-benefit and competing-holding preferences are retained without active readers.
    used_for: Preserving choices requiring further product decisions.
relationships:
  - to: CON-MBR-STR-001
    statement: Unit binding selects whether categories support affiliation or identify a holding.
    provenance: observed
    source: 'services-membership:modules/configuration/db/programs.table.ts:programs'
  - to: CON-MBR-STR-004
    statement: Packages select a classification within their membership program.
    provenance: observed
    source: 'services-membership:modules/configuration/db/membership-packages.table.ts:membershipPackages'
  - to: CON-MBR-STR-005
    statement: Program and classification inputs supply grace and continuity interpretation.
    provenance: observed
    source: 'services-membership:modules/terms/services/holding-cache.ts:holdingCacheOf'
lifecycle:
  - state: active
    meaning: Available for ordinary use under its owning record’s activity controls.
    how_it_changes: Staff change program activity through a versioned configuration save.
  - state: inactive
    meaning: 'Retained outside ordinary active use, with record-specific consumer restrictions.'
    how_it_changes: Staff change program activity through a versioned configuration save.
acted_on_by:
  - CAP-MBR-STR-009
  - CAP-MBR-STR-010
  - CAP-MBR-STR-011
  - CAP-MBR-STR-018
visible_to:
  - ACT-MBR-001
  - ACT-MBR-002
  - ACT-MBR-003
evidence:
  - >-
    services-membership: Verified material includes programs, program unit kinds and membership types tables,
    schemas and persistence.
  - >-
    services-membership: Verified material includes database refusals end-to-end and configuration acceptance
    journeys.
supersedes:
  - react-console acceptance inventory CAP-MBR-CFG-001
  - react-console acceptance inventory CAP-MBR-CFG-002
  - react-console acceptance inventory CAP-MBR-CFG-003
---

# Membership Program

## What It Is

A membership program defines one context in which a person or organization can hold membership. An association might offer national membership alongside a chapter-specific program. Each has its own recognizable reference, intended owners and connection to organizational units. Staff create the program before its types and packages so those records have a membership context to belong to.

The program is broader than a sellable offering. It collects choices shared by several classifications or packages: unit binding, numbering context, exclusivity, grace and continuity. Its membership types describe classifications within that context. A package then selects the program and one classification when describing what a purchase grants. This separation lets an annual and a lifetime offering share a membership context without becoming the same offering.

## What It Is Not

A program is not the member’s individual holding or its effective terms. Those records belong to membership administration. It is not a chapter record, even when a chapter supplies the identity of a holding. Nor does it own prices or checkout configuration. Its Commerce settings describe inputs and references used elsewhere.

## How It Is Used

Administrators establish programs when shaping the association’s membership model. They choose the owner category and unit relationship, then configure types and offerings. Readers consult the program to understand the context behind a package. Later calendar changes can affect interpretation of existing members because those settings are read live. A binding change deserves particular review: existing affiliation settings can survive the change even though the new binding no longer uses them in the same way.

## Its Facets

**Eligible owners.** Owner categories distinguish people from organizational holdings.

**Connection to units.** Identity binding and affiliation binding answer different membership questions.

**Affiliation requirements.** Counts and primary choices guide the permitted unit connections.

**Mutual exclusion.** Groups restrict overlapping holdings where the consumer enforces them.

**Membership numbers.** Number scope describes the sequence or owner number used.

**Calendar allowances.** Grace and continuity are distinct time allowances.

**Sales context.** Ordering profiles and cancellation treatment reach Commerce without duplicating its checkout record.

**Classifications.** Types carry benefit and flow-down choices as facets of the program.

**Undelivered choices.** Some switches remain stored preparation rather than effective controls.

## How It Relates

The hierarchy supplies the unit categories used for binding and affiliation requirements. Packages refer to a classification from the program and provide offering-specific terms. The term lifecycle reads grace, continuity and benefit inputs. Membership operations consume identity, owner, numbering and exclusivity settings, while Commerce interprets the program’s selling context.

## What It Could Become

The product should define safe transitions between unit bindings and settle the stored grace-benefit and competing-holding switches. It should also decide whether membership numbers must be unique across programs, rather than assuming that separate numbering scopes guarantee that outcome. Clear consumer behavior would make these settings dependable choices for administrators.
