---
id: SVC-MBR-MEM-applications
title: Applications Service Module
product_area: membership
module: memberships
repository: services-membership
source_module: modules/applications
revision: 1
status: draft
design_intent: proposed
implementation_evidence: partially-observed
inference: []
source_sha:
  services-membership: 5994c270e8a37a30f848e99ba5b5ee6b87c08893
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
owns:
  - DOM-MBR-MEM-004
does_not_own:
  - >-
    Submissions owns form definitions, answers, review stages and authoritative
    decisions.
  - Commerce owns any dues order requested by an approval.
  - Memberships owns the pending coverage a purchase can reserve.
operations:
  - operation_id: getApplicationsHealth
    intent: Return the applications deployment’s build health without workspace data.
    access: public
    permission: 'none: the shared module health route'
    realises: []
    published_to_submissions: 'not published: deployment health exposes no submission capture'
  - operation_id: listApplicationProcesses
    intent: >-
      List process configuration by program and kind, including ordered package
      choices.
    access: console
    permission: membership.configuration.read
    realises:
      - CAP-MBR-MEM-011
    published_to_submissions: >-
      not published: process administration and request reads do not publish
      applicant intake
  - operation_id: createApplicationProcess
    intent: Configure how a submission definition relates to membership requests.
    access: console
    permission: membership.configuration.manage
    realises:
      - CAP-MBR-MEM-011
    published_to_submissions: >-
      not published: process administration and request reads do not publish
      applicant intake
  - operation_id: getApplicationProcess
    intent: Read one process and its ordered offer choices.
    access: console
    permission: membership.configuration.read
    realises:
      - CAP-MBR-MEM-011
    published_to_submissions: >-
      not published: process administration and request reads do not publish
      applicant intake
  - operation_id: updateApplicationProcess
    intent: >-
      Merge supplied process changes at the current version, retaining omitted
      fields and packages.
    access: console
    permission: membership.configuration.manage
    realises:
      - CAP-MBR-MEM-011
    published_to_submissions: >-
      not published: process administration and request reads do not publish
      applicant intake
  - operation_id: deleteApplicationProcess
    intent: Remove an unreferenced process using its read version.
    access: console
    permission: membership.configuration.manage
    realises:
      - CAP-MBR-MEM-011
    published_to_submissions: >-
      not published: process administration and request reads do not publish
      applicant intake
  - operation_id: listApplications
    intent: Page typed requests permitted by their membership scope.
    access: console
    permission: membership.members.read
    realises:
      - CAP-MBR-MEM-011
    published_to_submissions: >-
      not published: process administration and request reads do not publish
      applicant intake
  - operation_id: getApplication
    intent: Read one typed request through the referenced holding’s visibility rules.
    access: console
    permission: membership.members.read
    realises:
      - CAP-MBR-MEM-011
    published_to_submissions: >-
      not published: process administration and request reads do not publish
      applicant intake
  - operation_id: handleSubmissionDecision
    intent: >-
      Apply a delivered decision, continue required dues ordering and
      acknowledge completed work.
    access: internal
    permission: 'none: the Submissions engine invokes the decision function over IAM'
    realises:
      - CAP-MBR-MEM-012
    published_to_submissions: >-
      not published: an internal service, partner or query contract; no intake
      route is registered
events:
  - name: submission.decided v1
    direction: consumed
    when: Submissions delivers a result for a registered Membership subject.
    payload_summary: >-
      Submission and decision identity, result, outcome code, decision time and
      supersession reference.
jobs: []
integrations:
  - system: Submissions engine
    direction: inbound and outbound
    contract: >-
      Register join and membership subjects for decision delivery; the
      acknowledgement adapter currently rejects requests.
  - system: Commerce
    direction: outbound
    contract: >-
      Prepare approved dues purchases and delegate placement using a
      decision-based key; the configured order adapter refuses.
consistency:
  - rule: >-
      Decision recording and rejection-related pending coverage closure share
      one transaction.
    kind: transactional
    compensation: Rollback retains the prior application and coverage for later delivery.
  - rule: >-
      Required ordering precedes acknowledgement after the recording transaction
      commits.
    kind: eventual
    compensation: >-
      Preparation or placement refusal leaves the recorded decision
      unacknowledged for retry.
evidence:
  - >-
    services-membership at 5994c270:
    modules/applications/aws/api/applications.routes.ts;
    aws/api/configuration-routes.ts; aws/lambda/SUBMISSION_DECISIONS.handler.ts;
    services/decisions/decision-handler.ts; services/reads/application-reads.ts;
    contracts/*; ports/submissions.ts.
controls: [TC-AVL-002, TC-AVL-003, TC-AVL-004, TC-AZ-001, TC-AZ-002, TC-AZ-003, TC-AZ-004, TC-AZ-006, TC-CHG-001, TC-CHG-002, TC-CHG-003, TC-CHG-004, TC-CRY-001, TC-CRY-002, TC-CRY-003, TC-DAT-001, TC-DAT-002, TC-DAT-003, TC-DAT-007, TC-IAM-001, TC-IAM-002, TC-IAM-004, TC-IAM-005, TC-IAM-006, TC-LOG-002, TC-LOG-003, TC-LOG-004, TC-LOG-005, TC-MON-001, TC-MON-002, TC-MON-003, TC-MON-004, TC-PI-001, TC-PI-002, TC-PI-003, TC-PI-004, TC-PI-005, TC-PRV-001, TC-PRV-002, TC-SEC-001, TC-SEC-004, TC-TEN-001, TC-TEN-002, TC-TEN-003, TC-TEN-004]
---

# Applications Service Module

## What This Service Is For

This service interprets typed membership requests and applies decisions delivered by Submissions. Administrators configure the relationship between definitions, programs and offers.

## Boundary

Submissions owns form answers, review and decision authority. Membership owns the typed request and process configuration and delegates purchase placement to Commerce. Rejecting decisions can close existing reservations through Membership’s term paths.

## Operations in Words

Console readers inspect processes and permitted typed requests. Administrators maintain process configuration using partial updates. The internal decision handler records outcome facts, orders approved dues where required and acknowledges only completed work.

## Events and Jobs

Decision delivery is consumed for the registered join and membership subjects. This service has no independent job loop or produced event catalogue; dependent period changes use Membership’s event publisher.

## Consistency Guarantees

Decision recording and pending-term cancellation commit together. Purchase placement and acknowledgement happen afterward and can remain unfinished. Stable decision keys support partner retry, but both default adapters currently refuse successful completion.
