# [Financial Crime](../domain.md) ## Entities ### Teller A Teller is a Party Role representing a bank employee who processes branch-based customer transactions. ```mermaid --- config: layout: elk --- classDiagram class Teller{ * Teller Identifier : string Employee Number : string Assigned Branch Identifier : string } Teller --|> PartyRole Teller "1" --> "0..*" Transaction : processes Teller "0..*" --> "1" Branch : assigned to class PartyRole["Party Role"] class Transaction["Transaction"] class Branch["Branch"] ``` ```yaml extends: Party Role existence: independent mutability: slowly_changing attributes: Teller Identifier: type: string identifier: primary description: Unique identifier for the teller role instance. Employee Number: type: string description: Internal identifier of the staff member acting as teller. Assigned Branch Identifier: type: string description: Branch identifier where the teller is primarily assigned. ``` ```yaml governance: retention_basis: Inherited from domain default retention of 10 years post relationship end for AML/CTF record-keeping ``` ## Relationships ### Teller Processes Transaction A Teller can process one or more branch-mediated Transactions. ```yaml source: Teller type: associates_with target: Transaction cardinality: one-to-many granularity: atomic ownership: Teller ``` ### Teller Assigned To Branch A Teller is assigned to a Branch for operational responsibilities. ```yaml source: Teller type: assigned_to target: Branch cardinality: many-to-one granularity: atomic ownership: Teller ```