---
id: JNY-PFM-TNL-003
title: Staff correct an import and approve opening
feature: FEAT-PFM-TNL-04
product_area: platform
module: tenant-lifecycle
revision: 2
status: draft
product_intent: proposed
implementation_evidence: observed
supersedes: []
source_sha:
  services-platform: ad3f6a6582843008ed0f5a17b131878d15829af1
  services-crm: a8d1364f1dd44b723bb5f9acba12f983e9ec8d69
actor: ACT-PFM-040
goal: >-
  The customer receives a usable workspace after an initial load correction and
  separate activation decision.
capabilities:
  - CAP-PFM-TNL-011
  - CAP-PFM-TNL-005
  - CAP-PFM-TNL-012
  - CAP-PFM-TNL-006
screens: []
steps:
  - 'n': 1
    surface: enterHqTenantLoading
    action: Open the implementation workspace for loading with an explanation.
    capability: CAP-PFM-TNL-011
    expected: 'The load records its operator, opening time and reason.'
    provenance: test
    source: >-
      services-platform:modules/tenants/tests/e2e/hq-tenant-loading.e2e.spec.js#records
      who opened the load and why, which is what the row is evidence of
  - 'n': 2
    surface: '/contacts/{tenantId}/data_jobs'
    action: Submit import work and compare ordinary customer access.
    capability: CAP-PFM-TNL-005
    expected: Data-job routes remain admitted and ordinary customer routes close.
    provenance: test
    source: >-
      services-crm:modules/tenant-lifecycle/tests/e2e/tenant-availability.e2e.spec.js#is
      served the submission of a bulk contact job, which is what the import is
      made of
  - 'n': 3
    surface: resetHqTenant
    action: Confirm the workspace identifier and request correction by reset.
    capability: CAP-PFM-TNL-012
    expected: The response supplies the job that will empty selected data.
    provenance: test
    source: >-
      services-platform:modules/tenants/tests/e2e/hq-tenant-loading.e2e.spec.js#is
      accepted for a staff member holding hq.data-runs.manage: 202, naming the
      tenant and the job that empties it
  - 'n': 4
    surface: getHqTenantReset
    action: Inspect reset progress until it settles.
    capability: CAP-PFM-TNL-012
    expected: Its result reports participant removals while loading continues.
    provenance: test
    source: >-
      services-platform:modules/tenants/tests/e2e/hq-tenant-loading.e2e.spec.js#is
      followed by the reset read to the job it answered, succeeded
  - 'n': 5
    surface: activateHqTenant
    action: Activate the corrected load using activation authority.
    capability: CAP-PFM-TNL-011
    expected: >-
      The workspace returns to active, retaining implementation status and load
      history.
    provenance: test
    source: >-
      services-platform:modules/tenants/tests/e2e/hq-tenant-loading.e2e.spec.js#is
      served to a staff member holding hq.tenants.activate, returning the tenant
      to active
  - 'n': 6
    surface: patchHqTenant
    action: Change business status on the agreed go-live date.
    capability: CAP-PFM-TNL-006
    expected: Authorized staff make the separate live-status decision.
    provenance: test
    source: >-
      services-platform:modules/tenants/tests/e2e/tenant-deletion-requests.e2e.spec.js#lets
      Rhythm staff change the same status
alternates:
  - from_step: 3
    condition: A reset already has an open job.
    path: Reject the competing request and identify the existing run.
    outcome: The operator follows the recorded reset.
    provenance: test
    source: >-
      services-platform:modules/tenants/tests/e2e/hq-tenant-loading.e2e.spec.js#refuses
      the second 409, naming the reset that is running
  - from_step: 4
    condition: Removal stopped and the reset has settled failed.
    path: Submit another reset request.
    outcome: Remaining selected records are removed by the fresh attempt.
    provenance: test
    source: >-
      services-platform:modules/tenants/tests/integration/services/reset/reset-tenant.integration.spec.js#accepts
      a second reset once the first has settled, and the second succeeds
failures:
  - from_step: 5
    condition: The import-only caller requests activation.
    path: Refuse the missing activation authority.
    outcome: The workspace remains loading.
    provenance: test
    source: >-
      services-platform:modules/tenants/tests/e2e/hq-tenant-loading.e2e.spec.js#refuses
      the staff member who ran the import, activation being the other key
  - from_step: 1
    condition: The workspace is already in live business mode.
    path: Reject entry into initial loading.
    outcome: Its current status and lifecycle remain intact.
    provenance: test
    source: >-
      services-platform:modules/tenants/tests/e2e/hq-tenant-loading.e2e.spec.js#refuses
      a live tenant, an initial import going only into an implementation tenant
rules_in_play:
  - BR-CAP-PFM-TNL-011-02
  - BR-CAP-PFM-TNL-011-03
  - BR-CAP-PFM-TNL-011-04
  - BR-CAP-PFM-TNL-011-05
  - BR-CAP-PFM-TNL-012-02
  - BR-CAP-PFM-TNL-012-03
  - BR-CAP-PFM-TNL-012-06
  - BR-CAP-PFM-TNL-012-07
  - BR-CAP-PFM-TNL-005-04
assertions:
  - id: AS-JNY-PFM-TNL-003-01
    statement: >-
      Reset preserves classified kept tables and leaves implementation loading
      open.
    provenance: test
    source: >-
      services-platform:modules/tenants/tests/integration/services/reset/reset-tenant.integration.spec.js#keeps
      every table of every participant it does not empty, row for row
  - id: AS-JNY-PFM-TNL-003-02
    statement: >-
      Activation restores ordinary availability without deciding live business
      mode.
    provenance: test
    source: >-
      services-platform:modules/tenants/tests/e2e/hq-tenant-loading.e2e.spec.js#leaves
      the status where it was, going live being the separate decision
  - id: AS-JNY-PFM-TNL-003-03
    statement: >-
      Loading closes ordinary customer routes while retaining data-job and
      authorized system staff access.
    provenance: observed
    source: >-
      services-platform:modules/tenants/services/access/tenant-availability.ts:tenantAvailabilityOf
e2e_policy: required
e2e_reason: >-
  The outcome crosses lifecycle operations and warrants end-to-end verification;
  the current bindings establish backend fixtures, while screen and
  deployed-service coverage remain separate gaps.
proved_by: []
---

# Staff correct an import and approve opening

## Story

The import operator opens loading and submits the customer’s package. A mapping error requires selected data to be cleared while retained setup stays available. Staff follow the reset, load the corrected package and obtain the separate activation decision. Activation ends loading; going live remains an additional staff choice.
