Skip to content

JNY-CRM-REG-005An organization address change updates linked placements

Markdown

JNY-CRM-REG-005

An organization address change updates linked placements

Markdown
  • DocumentDraft
  • Product intentProposed
  • ImplementationObserved

KindJourneyProduct areaCRMModuleRegionsRevision2End-to-endOptional

Read atservices-crm a8d1364freact-console baf6dae3

The Formal Contract

The narrative above explains; the sections below are authoritative — the rules, scenarios and tests this document binds.

Goal
Save an office move once and reconcile the organization and its linked people.
Screens
/console/{tenantId}/crm/organizations/{id}/console/{tenantId}/crm/contacts/{id}

Steps

#SurfaceActionCapabilityExpectedProvenance
1/console/{tenantId}/crm/organizations/{id}Save the organization’s main address in another region’s coverage.CAP-CRM-ENT-005The organization address change is committed.test
2/console/{tenantId}/crm/organizations/{id}Read the organization after assignment processing.CAP-CRM-REG-008Its placement reflects the new deciding address.test
3/console/{tenantId}/crm/contacts/{id}Read an employee using the organization’s linked work address.CAP-CRM-REG-008Regional reconciliation updates the employee without editing their contact address rows.test
services-crm:modules/regions/tests/integration/services/region-assignment/region-assignment.integration.spec.js#a linked address (docs/affiliations/README.md §0b.3, the fan-out) › moves the linked contact when its organization’s address moves, though no contact row was written

Alternate and Failure Paths

PathFrom stepConditionPath takenOutcomeProvenance
alternate3The employee has an automatic-assignment override.Reconciliation preserves the stored exception.Only eligible linked employees receive a new region.test
services-crm:modules/regions/tests/integration/services/region-assignment/region-assignment.integration.spec.js#manual regions and the override › never changes the region of a contact that overrides automatic assignment
failure3The employee’s affiliation expired before the organization moved.The link no longer supplies a current deciding address.The organization event can reconcile the contact and clear its previously calculated region.inferred
services-crm:modules/entities/services/persistence/contacts.ts:readContactRegionAddresses; services-crm:modules/regions/services/region-assignment/region-assignment.ts:linkedContactRegionAssignmentHandler, reconcileRegionAssignments

Assertions

IdStatementProvenance
01Changing the linked employee’s region adds one version increment without writing contact address rows.test
services-crm:modules/regions/tests/integration/services/region-assignment/region-assignment.integration.spec.js#a linked address (docs/affiliations/README.md §0b.3, the fan-out) › bumps the contact’s version once, for the region that moved and nothing else

End-to-end policy: optional: Service evidence covers linked assignment; the organization-maintenance browser journey exercises it as part of its broader address workflow.

The Markdown files under specs/ in rhythmsoftware/rhythm-v2-docs are the canonical source of truth. This reader is a generated, read-only projection of them.