Skip to content

JNY-CRM-ENT-005Find current affiliates across an organization hierarchy

Markdown

JNY-CRM-ENT-005

Find current affiliates across an organization hierarchy

Markdown
  • DocumentApproved
  • Product intentProposed
  • ImplementationObserved

KindJourneyProduct areaCRMModuleEntitiesRevision1End-to-endOptionalApproved byAndrewApproved at2026-10-22

Read atreact-console da630758services-crm 7ea48a41

The Formal Contract

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

Goal
Find people currently affiliated with an organization and its descendants, and distinguish that listing from dated affiliation views and primary search labels.
Screens
/console/{tenantId}/crm/organizations/new/console/{tenantId}/crm/organizations/{id}/console/{tenantId}/crm/contacts

Steps

#SurfaceActionCapabilityExpectedProvenance
1/console/{tenantId}/crm/organizations/newCreate a national organization and a chapter beneath it.CAP-CRM-ENT-002The chapter identifies the national organization as its ancestor and top-level organization.test
2listContactsRequest contacts filtered to the chapter.CAP-CRM-ENT-003Each contact with a currently effective chapter affiliation appears once, whether primary or secondary.test
3recursivelyListContactsForOrganizationIdRequest the national organization’s descendant contacts.CAP-CRM-ENT-003The hierarchy includes current chapter affiliates, including secondary affiliations.test
4/console/{tenantId}/crm/organizations/{id}Inspect Current, Past, All and future As Of selections on the chapter’s Contacts tab.CAP-CRM-ENT-009Each selection returns its applicable affiliation rows, including separate rows for a person’s separate ties.test
5Quick SearchFind the chapter in Quick Search.CAP-CRM-ENT-003Contact results use the primary organization in their subtitle.test

Alternate and Failure Paths

PathFrom stepConditionPath takenOutcomeProvenance
alternate4Staff choose a historical As Of date.The tab retrieves affiliations effective on that date.The historical members appear.test
failure2The caller has organization read permission but lacks contact read permission.The people-list request is rejected.The tab receives no contact listing.test
services-crm:modules/entities/tests/e2e/contact-affiliations.e2e.spec.js#answers 403 permission_missing to a caller who may read organizations but not contacts

Assertions

IdStatementProvenance
01The chapter’s contact filter and descendant listing identify the same current people.test
02Upcoming and ended affiliations do not qualify as current membership.test

End-to-end policy: optional: Service proof covers affiliation membership and hierarchy traversal; the existing browser specification adds the Contacts tab and search label.

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.