---
id: ACTORS-MBR
title: Membership Actors
product_area: membership
revision: 1
status: draft
product_intent: proposed
source_sha:
  services-membership: 5994c270e8a37a30f848e99ba5b5ee6b87c08893
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
actors:
  - id: ACT-MBR-001
    name: Membership Setup Administrator
    who: A staff administrator responsible for the association’s structure and membership configuration.
    goals:
      - Keep organizational arrangements aligned with the association’s operations.
      - Prepare the membership contexts and offerings staff use.
    can_broadly:
      - Configure unit categories and perform structural changes.
      - Maintain unit organization and local finance context.
      - 'Maintain membership programs, classifications, offerings and action explanations.'
    represented_by:
      - membership.structure.manage
      - membership.programs.manage
      - membership.configuration.manage
      - membership.application.access
    surfaces:
      - api
  - id: ACT-MBR-002
    name: Structure and Configuration Reader
    who: A staff caller authorized to inspect setup without administering it.
    goals:
      - Understand the organizational arrangement and membership configuration.
    can_broadly:
      - Inspect current and dated structure with local context.
      - 'Inspect membership contexts, offerings and action explanations.'
    represented_by:
      - membership.structure.read
      - membership.programs.read
      - membership.configuration.read
      - membership.application.access
    surfaces:
      - api
  - id: ACT-MBR-003
    name: Migration Producer
    who: An authorized integration preparing bulk migration of association setup.
    goals:
      - Carry existing setup into the supported Rhythm configuration model.
    can_broadly:
      - Prepare supported structural and membership configuration loads.
    represented_by:
      - membership.structure.manage
      - membership.programs.manage
      - membership.configuration.manage
    surfaces:
      - job
  - id: ACT-MBR-004
    name: Membership System
    who: >-
      Rhythm service execution interpreting periods and contributing to scheduled and workspace lifecycle
      work.
    goals:
      - Keep membership interpretation and module setup consistent over time.
    can_broadly:
      - Compute period dates and membership standing.
      - 'Contribute setup seeding, export, reset and controlled removal.'
    represented_by:
      - system (service execution and workspace lifecycle participation; no staff permission key)
    surfaces:
      - job
      - api
  - id: ACT-MBR-005
    name: Connected Rhythm Application
    who: A Rhythm application consuming structural or offering information during its own operations.
    goals:
      - Use authoritative structure and offering context without owning duplicate records.
    can_broadly:
      - Read ancestry and descendant context.
      - Read package and dues information for selling work.
      - Use registered unit and category dataset definitions.
    represented_by:
      - rhythm_table_reader (published database functions)
      - membership.structure.read (datasets)
      - service invocation (Commerce participant)
    surfaces:
      - api
      - job
  - id: ACT-MBR-006
    name: Membership Administrator
    who: 'A staff administrator maintains the association’s offer, unit configuration and membership operations.'
    goals:
      - Maintain an accurate offer and organizational structure.
      - Manage renewal operations and status processing.
      - Configure officer field access and snapshot characteristics.
    can_broadly:
      - 'Maintain membership programs, classifications, packages, reasons and application processes.'
      - 'Manage billing templates, individual runs and recurring definitions.'
      - Set scope and snapshot dimension configuration.
      - Request immediate status processing.
    represented_by:
      - membership.configuration.read|manage
      - membership.programs.read|manage
      - membership.structure.read|manage
      - membership.billing.read|manage
      - membership.operations.run
    surfaces:
      - console
      - api
  - id: ACT-MBR-007
    name: Membership Coordinator
    who: >-
      A coordinator manages membership holdings, periods, suspensions and unit connections across the
      workspace.
    goals:
      - Establish and maintain member holdings.
      - 'Explain recorded returns, corrections and closures.'
      - Maintain chapter and section connections.
    can_broadly:
      - 'Record initial memberships and subsequent direct terms, corrections and terminations.'
      - Suspend principal holdings and restore them.
      - 'Maintain unit connections using additions, endings, primary choices and transfers.'
      - 'Inspect memberships, applications and permitted record history.'
    represented_by:
      - membership.memberships.create|suspend
      - membership.terms.create|correct|terminate
      - membership.affiliations.manage (workspace-wide)
      - membership.members.read (workspace-wide)
      - membership.memberships.history
    surfaces:
      - console
      - api
  - id: ACT-MBR-008
    name: Membership Analyst
    who: >-
      A colleague inspects member records and reporting datasets without changing the membership offer or
      holdings.
    goals:
      - Answer dated membership and unit questions.
      - Analyze live records and published monthly copies.
    can_broadly:
      - 'Inspect member periods, applications and billing work.'
      - Query permitted membership and snapshot datasets.
    represented_by:
      - membership.members.read
      - membership.billing.read
      - >-
        membership.memberships.query, membership.membership-terms.query, membership.lifecycle-events.query,
        membership.term-affiliations.query
      - membership.membership-snapshot-members|affiliations|dimensions|counts.query
    surfaces:
      - console
      - api
  - id: ACT-MBR-009
    name: Unit Officer
    who: >-
      A chapter, section, zone or regional officer works within unit grants, commonly derived from a committee
      appointment.
    goals:
      - Support members within the assigned units.
      - Maintain permitted contact and chapter information.
      - Help local members join and renew.
    can_broadly:
      - Inspect visible holdings and their scope-marked affiliations.
      - Maintain unit connections within the officer’s grants.
      - Submit contact changes restricted by the role’s permitted fields.
      - 'Request membership orders, scoped financial summaries and roster exports.'
    represented_by:
      - membership.members.read (unit-scoped)
      - membership.affiliations.manage (unit-scoped)
      - membership.member-contact.update
      - membership.terms.renew
      - membership.memberships.enroll
      - membership.rosters.export
    surfaces:
      - portal
      - console
      - api
  - id: ACT-MBR-010
    name: Signed-In Member
    who: >-
      A portal user linked to a contact reads the memberships associated with that contact and uses Commerce
      for purchases.
    goals:
      - Inspect personal standing and chapter connections.
      - Purchase a membership or a returning period.
    can_broadly:
      - Read holdings associated with the account’s linked contact.
      - Use Commerce purchase and cancellation flows that consult Membership.
    represented_by:
      - membership.self.read
      - 'policy:membership:portal-member'
    surfaces:
      - portal
  - id: ACT-MBR-011
    name: Invoking Application
    who: >-
      Commerce or Submissions invokes Membership’s trusted service functions for purchase work or delivered
      application decisions.
    goals:
      - Coordinate purchases using membership-specific decisions.
      - Apply delivered application outcomes.
    can_broadly:
      - 'Request purchase preparation, fulfilment, cancellation and enforcement.'
      - Deliver decisions for supported membership subjects.
    represented_by:
      - service invocation of the Commerce participant function (no permission key)
      - service invocation of the decision function (no permission key)
    surfaces:
      - api
  - id: ACT-MBR-012
    name: Membership Automation
    who: >-
      Scheduled functions and background jobs perform membership status, billing, roster, snapshot, attention
      and event work.
    goals:
      - Maintain operational membership records and publication without repeated staff requests.
    can_broadly:
      - Refresh standing and record detected period boundaries.
      - Process planned billing actions and captured roster requests.
      - Build and validate monthly reporting copies for publication.
      - Deliver published membership outcomes to dependent applications.
    represented_by:
      - the service's job and schedule identities (no permission key)
    surfaces:
      - job
evidence:
  - 'services-membership:aws/membership.service.ts:MEMBERSHIP_PERMISSION_SETS'
  - 'services-membership:modules/structure/services/lifecycle/structure-participant.ts:structureParticipant'
  - >-
    services-membership:modules/structure/tests/integration/services/persistence/organizational-units.integration.spec.ts#the
    published functions
---

# Membership Actors

Setup administrators maintain association structure and membership configuration, while authorized readers inspect it. Migration producers prepare supported bulk loads; service execution interprets periods and participates in workspace lifecycle work. Connected applications consume that information within their own responsibilities. Officer and member experiences belong to membership administration and require its separate planning.
