---
id: RESP-MBR
title: Membership Responsibilities
product_area: membership
revision: 1
status: draft
design_intent: proposed
source_sha:
  services-membership: 5994c270e8a37a30f848e99ba5b5ee6b87c08893
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
modules:
  - module: MOD-MBR-STR
    owns:
      - DOM-MBR-STR-001
      - DOM-MBR-STR-002
      - DOM-MBR-STR-003
      - DOM-MBR-STR-004
      - DOM-MBR-STR-005
      - DOM-MBR-STR-006
    exposes:
      operations:
        - listOrganizationalUnitTypes
        - createOrganizationalUnitType
        - getOrganizationalUnitType
        - replaceOrganizationalUnitType
        - deactivateOrganizationalUnitType
        - deleteOrganizationalUnitType
        - listOrganizationalUnitRelationshipTypes
        - createOrganizationalUnitRelationshipType
        - listOrganizationalUnits
        - searchOrganizationalUnits
        - listOrganizationalUnitTree
        - createOrganizationalUnit
        - getOrganizationalUnit
        - replaceOrganizationalUnit
        - deleteOrganizationalUnit
        - moveOrganizationalUnit
        - mergeOrganizationalUnit
        - deactivateOrganizationalUnit
        - listOrganizationalUnitDescendants
        - listOrganizationalUnitAncestors
        - listOrganizationalUnitParentHistory
        - listOrganizationalUnitOrganizations
        - linkOrganizationalUnitOrganization
        - endOrganizationalUnitOrganization
        - getOrganizationalUnitFinancialSettings
        - setOrganizationalUnitFinancialSettings
        - listOrganizationalUnitDuesProducts
        - createOrganizationalUnitDuesProduct
        - replaceOrganizationalUnitDuesProduct
        - listPrograms
        - createProgram
        - getProgram
        - updateProgram
        - deleteProgram
        - replaceProgramUnitTypes
        - listMembershipTypes
        - createMembershipType
        - getMembershipType
        - updateMembershipType
        - deleteMembershipType
        - listMembershipPackages
        - createMembershipPackage
        - getMembershipPackage
        - updateMembershipPackage
        - deleteMembershipPackage
        - listStatusReasons
        - createStatusReason
        - getStatusReason
        - updateStatusReason
        - deleteStatusReason
        - listChangePolicySets
        - createChangePolicySet
        - getChangePolicySet
        - updateChangePolicySet
        - deleteChangePolicySet
        - getTermsTenantHealth
        - database functions membership.unit_descendants and membership.unit_ancestors
        - query datasets membership.organizational_units and membership.organizational_unit_types
        - >-
          term engine functions (computeTermPeriod, termRuleProblems, statusOf, episodesOf, cacheOf, sweep
          decisions)
        - >-
          export datasets of units, unit kinds, unit versions, programs, types, packages, change policies and
          status reasons
      events:
        - membership.unit.reparented
    delegates:
      - concern: >-
          Individual memberships and their terms, affiliations, scopes, applications, billing and scheduled
          standing updates
        to: MOD-MBR-MEM
      - concern: Configuration revision history captured by the shared change-event machinery
        to: MOD-MBR-MEM (history streams on the shared change-events capture)
      - concern: Delivery of recorded business events after the originating transaction
        to: Membership change-events dispatcher and queue (macroservice framework)
      - concern: 'Organizational-unit custom-field definitions, value checks and object registration'
        to: MOD-PFM-MTD
      - concern: 'Registered datasets, saved queries and export staging'
        to: MOD-PFM-QRY
      - concern: 'Role definitions, permission policies and authorization for the module''s seven permission keys'
        to: MOD-PFM-SEC
      - concern: 'Coordination of workspace creation, reset, export and removal'
        to: MOD-PFM-TNL
      - concern: 'Import execution, batch boundaries, crosswalk resolution and reported item results'
        to: MOD-PFM-DJE
      - concern: 'The underlying product identifier, shared description, availability and prices'
        to: MOD-ACC-PRD
      - concern: 'Ordering-profile records, checkout and payment settlement'
        to: MOD-COM-ORD
      - concern: 'Referenced organizations, contact roles and organization classifications'
        to: MOD-CRM-ENT
      - concern: Committee records associated with organizational units
        to: MOD-CMT-CMT
    guarantees:
      - INV-DOM-MBR-STR-001-01
      - INV-DOM-MBR-STR-001-02
      - INV-DOM-MBR-STR-001-03
      - INV-DOM-MBR-STR-001-04
      - INV-DOM-MBR-STR-001-06
      - INV-DOM-MBR-STR-002-01
      - INV-DOM-MBR-STR-002-04
      - INV-DOM-MBR-STR-002-05
      - INV-DOM-MBR-STR-002-07
      - INV-DOM-MBR-STR-003-02
      - INV-DOM-MBR-STR-003-05
      - INV-DOM-MBR-STR-004-01
      - INV-DOM-MBR-STR-004-02
      - INV-DOM-MBR-STR-005-01
      - INV-DOM-MBR-STR-005-03
      - INV-DOM-MBR-STR-005-04
      - INV-DOM-MBR-STR-006-02
      - INV-DOM-MBR-STR-006-03
      - INV-DOM-MBR-STR-006-05
      - INV-DOM-MBR-STR-006-06
  - module: MOD-MBR-MEM
    owns:
      - DOM-MBR-MEM-001
      - DOM-MBR-MEM-002
      - DOM-MBR-MEM-003
      - DOM-MBR-MEM-004
      - DOM-MBR-MEM-005
      - DOM-MBR-MEM-006
    exposes:
      operations:
        - getApplicationsHealth
        - listApplicationProcesses
        - createApplicationProcess
        - getApplicationProcess
        - updateApplicationProcess
        - deleteApplicationProcess
        - listApplications
        - getApplication
        - handleSubmissionDecision
        - getSnapshotsHealth
        - getSnapshotDimensionSettings
        - replaceSnapshotDimensionSettings
        - membership snapshot query datasets
        - prepare_purchase
        - commerce_commit_claims
        - fulfill
        - prepare_change
        - modify
        - commerce_claim_change
        - prepare_cancellation
        - commerce_claim_cancellation
        - cancel
        - commerce_release_claims
        - enforce
        - restore
        - publishBusinessEvent
        - change-events dispatcher and consumer
        - getMembershipsHealth
        - listMemberships
        - createMembership
        - getMembership
        - getMembershipAsOf
        - createTerm
        - suspendMembership
        - restoreMembership
        - correctTerm
        - terminateTerm
        - addAffiliation
        - endAffiliation
        - setPrimaryAffiliation
        - transferAffiliation
        - runStatusSweep
        - updateMemberContact
        - getMembershipFinancialSummary
        - renewMembership
        - enrollMember
        - exportRoster
        - getRosterExport
        - getMyMemberships
        - getScopeSettings
        - replaceScopeSettings
        - handleCrmChangeEvents
        - mergedUnitAffiliations
        - membershipDataOperations
        - listBillingTemplates
        - createBillingTemplate
        - getBillingTemplate
        - updateBillingTemplate
        - deleteBillingTemplate
        - listBillingRuns
        - createBillingRun
        - getBillingRun
        - listBillingRunActions
        - planBillingRun
        - executeBillingRun
        - cancelBillingRun
        - listRecurringBillingRuns
        - createRecurringBillingRun
        - getRecurringBillingRun
        - updateRecurringBillingRun
        - listMembershipHistory
        - getMembershipRevision
        - listMembershipHistoryActors
        - listTermHistory
        - getTermRevision
        - listTermHistoryActors
        - membershipAsOf
        - live membership query datasets
      events:
        - membership.term.committed
        - membership.term.terminated
        - membership.term.cancelled
        - membership.membership.suspended
        - membership.membership.restored
        - membership.term.superseded
        - membership.affiliation.started
        - membership.affiliation.ended
        - membership.unit.reparented
    delegates:
      - concern: >-
          Association units, programs, offer configuration, status reasons and
          period calculation
        to: MOD-MBR-STR
      - concern: >-
          People, organizations and relationships used for ownership and
          organizational coverage
        to: MOD-CRM-ENT
      - concern: >-
          CRM record merge coordination; Membership participation is currently
          absent
        to: MOD-CRM-DQ
      - concern: 'Purchase, payment, cancellation, amendment and refund lifecycles'
        to: MOD-COM-ORD
      - concern: Membership and dues products and their pricing
        to: MOD-ACC-PRD
      - concern: 'Form answers, review stages and authoritative request decisions'
        to: MOD-SUB-SUB
      - concern: >-
          Officer grants from appointments and receiver reactions to terminated
          coverage
        to: MOD-CMT-CMT
      - concern: 'Policy, role and grant evaluation, including portal-role attachment'
        to: MOD-PFM-SEC
      - concern: 'Shared custom-field definition, value infrastructure and forms'
        to: MOD-PFM-MTD
      - concern: 'Attention persistence, delivery and responsibility assignment'
        to: MOD-PFM-ELG
      - concern: Communication requests and message sending
        to: MOD-PFM-NOT
      - concern: 'Query execution, snapshot ledger and scheduling contracts'
        to: MOD-PFM-QRY
      - concern: Bulk-data execution and import coordination
        to: MOD-PFM-DJE
      - concern: Durable execution and shared job monitoring
        to: MOD-PFM-OPS
      - concern: 'Workspace creation, export and deletion lifecycle'
        to: MOD-PFM-TNL
      - concern: Integration event registration and catalogue ownership
        to: MOD-PFM-INT
    guarantees:
      - INV-DOM-MBR-MEM-001-01
      - INV-DOM-MBR-MEM-001-05
      - INV-DOM-MBR-MEM-001-09
      - INV-DOM-MBR-MEM-001-12
      - INV-DOM-MBR-MEM-002-01
      - INV-DOM-MBR-MEM-002-06
      - INV-DOM-MBR-MEM-002-09
      - INV-DOM-MBR-MEM-003-04
      - INV-DOM-MBR-MEM-003-05
      - INV-DOM-MBR-MEM-003-08
      - INV-DOM-MBR-MEM-004-02
      - INV-DOM-MBR-MEM-004-06
      - INV-DOM-MBR-MEM-005-03
      - INV-DOM-MBR-MEM-005-05
      - INV-DOM-MBR-MEM-005-06
      - INV-DOM-MBR-MEM-006-02
      - INV-DOM-MBR-MEM-006-05
      - INV-DOM-MBR-MEM-006-07
evidence:
  - >-
    services-membership at 5994c270: modules/structure, modules/configuration, modules/terms, aws/terms,
    aws/api/configuration-routes.ts, aws/membership.service.ts, aws/membership.change-events.ts.
  - >-
    rhythm-v2-docs: specs/membership/structure/design (the module's domain objects, service contracts and
    decisions); specs/membership/memberships/MODULE.md (the other module's boundary).
  - >-
    services-membership at 5994c270: aws/api/membership.routes.ts and each
    module's route list; aws/membership.service.ts;
    aws/membership.change-events.ts, membership.attention.ts,
    membership.responsibilities.ts, membership.metadata.ts; modules/*/services;
    README.md.
  - >-
    rhythm-v2-docs: specs/PRODUCT-AREAS.md (MOD-MBR-STR, MOD-MBR-MEM);
    specs/membership/memberships/MODULE.md
---

# Membership Responsibilities

## How the Product Area Is Divided

Organizational structure, configuration and terms owns association setup and the calculations that interpret membership dates and standing. Memberships, applications and membership billing owns member-specific records and the processes that apply those calculations. The latter module has no design responsibility row yet.

## Organizational Structure, Configuration and Terms

The ownership, exposed operations and invariant references above define this module's boundary. Structure arranges units and retains their dated parentage; configuration defines programs, membership types, packages and reasons; the term engine calculates periods and standing from supplied inputs. Consumers remain responsible for recording member-specific results. The contracts distinguish operations that require a version from those with optional or absent checks, and placement transactions from imports that need a separate ancestry rebuild.

## Memberships, Applications and Membership Billing

The module owns six broad objects: membership, term, unit affiliation, typed application, renewal batch and history. Its service contracts divide implementation among holdings, application handling, renewal billing, checkout participation, timelines, reporting and event delivery. The exposure list records actual route operations and named internal entry points, including deployment health; the event list includes the shared delivery of Structure’s unit movement event. Detailed invariants and enforcement limits remain with the object and service contracts.

The module can describe its local database boundaries, but those boundaries do not establish complete live partner journeys. Default ordering, contact-update and decision-acknowledgement adapters refuse. Intake, subscriptions, portal-role wiring and job recovery retain the gaps already recorded by examination.

## What Is Delegated to Platform and Other Areas

Platform provides metadata, authorization, query and export facilities, workspace lifecycle coordination and import execution. Accounting supplies the products extended by packages and dues offerings; Commerce supplies ordering and settlement; CRM supplies the referenced organizations and roles; Committees retains committee records. The memberships module performs scheduled standing updates and provides configuration revision history through the shared capture mechanism. Business-event delivery uses the macroservice dispatcher after commit, with delivery guarantees limited to the evidence described in the workflows.
