{"product_id":"customer-360-banking-cep-platform","title":"Customer 360 — Banking CEP Platform","description":"\u003ch1 data-path-to-node=\"3\"\u003e📘 FULL DOCUMENTATION\u003c\/h1\u003e\n\u003ch2 data-path-to-node=\"4\"\u003eCustomer 360\u003c\/h2\u003e\n\u003cp data-path-to-node=\"5\"\u003eA comprehensive guide to the Customer Engagement Platform for banks. This covers all menu sections, architecture, entity relationships, workflows, and frequently asked questions.\u003c\/p\u003e\n\u003cp data-path-to-node=\"6\"\u003e\u003ci data-path-to-node=\"6\" data-index-in-node=\"0\"\u003eCustomer 360 Banking CEP · v1.0.0 · April 4, 2026\u003c\/i\u003e\u003c\/p\u003e\n\u003chr data-path-to-node=\"7\"\u003e\n\u003ch3 data-path-to-node=\"8\"\u003eTable of Contents\u003c\/h3\u003e\n\u003cp data-path-to-node=\"9\"\u003e\u003cb data-path-to-node=\"9\" data-index-in-node=\"0\"\u003e🏦 Overview\u003c\/b\u003e\u003c\/p\u003e\n\u003cul data-path-to-node=\"10\"\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"10,0,0\"\u003eWhat is Customer 360?\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"10,1,0\"\u003eGetting Started\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp data-path-to-node=\"11\"\u003e\u003cb data-path-to-node=\"11\" data-index-in-node=\"0\"\u003e📋 Menu Sections\u003c\/b\u003e\u003c\/p\u003e\n\u003cul data-path-to-node=\"12\"\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"12,0,0\"\u003eDashboard\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"12,1,0\"\u003eStaff Management\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"12,2,0\"\u003eDepartments \u0026amp; Teams\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"12,3,0\"\u003eRoles \u0026amp; Access\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"12,4,0\"\u003eCalendar\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"12,5,0\"\u003eFile Manager\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"12,6,0\"\u003eCustomers\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"12,7,0\"\u003eSegments\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"12,8,0\"\u003eCustomer Groups\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"12,9,0\"\u003eCampaigns\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"12,10,0\"\u003eProducts \u0026amp; Subscriptions\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"12,11,0\"\u003ePartners\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"12,12,0\"\u003eLocations\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"12,13,0\"\u003eOffer Builder\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"12,14,0\"\u003eLeads\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"12,15,0\"\u003eMy Contacts\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"12,16,0\"\u003eNotes\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"12,17,0\"\u003ePulse\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"12,18,0\"\u003eImport \/ Export\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"12,19,0\"\u003eAudit Log\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"12,20,0\"\u003eEmail Template Builder\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"12,21,0\"\u003eUser Profile\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"12,22,0\"\u003eSettings\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"12,23,0\"\u003eWorkspace\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp data-path-to-node=\"13\"\u003e\u003cb data-path-to-node=\"13\" data-index-in-node=\"0\"\u003e🏗️ Architecture\u003c\/b\u003e\u003c\/p\u003e\n\u003cul data-path-to-node=\"14\"\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"14,0,0\"\u003eMicroservices Overview\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"14,1,0\"\u003eAuthentication Process\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp data-path-to-node=\"15\"\u003e\u003cb data-path-to-node=\"15\" data-index-in-node=\"0\"\u003e🔗 Entity Relationships\u003c\/b\u003e\u003c\/p\u003e\n\u003cul data-path-to-node=\"16\"\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"16,0,0\"\u003eFull Entity Map\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"16,1,0\"\u003eKey Relationships\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp data-path-to-node=\"17\"\u003e\u003cb data-path-to-node=\"17\" data-index-in-node=\"0\"\u003e⚙️ Workflows\u003c\/b\u003e\u003c\/p\u003e\n\u003cul data-path-to-node=\"18\"\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"18,0,0\"\u003eOnboarding a New Customer\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"18,1,0\"\u003eConverting a Lead to a Customer\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"18,2,0\"\u003eLaunching a Campaign\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"18,3,0\"\u003eSending an Email Campaign via Template\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"18,4,0\"\u003eUsing Global Search\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp data-path-to-node=\"19\"\u003e\u003cb data-path-to-node=\"19\" data-index-in-node=\"0\"\u003e❓ Frequently Asked Questions\u003c\/b\u003e\u003c\/p\u003e\n\u003cul data-path-to-node=\"20\"\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"20,0,0\"\u003eGeneral Questions\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003chr data-path-to-node=\"21\"\u003e\n\u003ch1 data-path-to-node=\"22\"\u003e🏦 Overview\u003c\/h1\u003e\n\u003ch3 data-path-to-node=\"23\"\u003eWhat is Customer 360?\u003c\/h3\u003e\n\u003cp data-path-to-node=\"24\"\u003eCustomer 360 is a unified Customer Engagement Platform (CEP) built specifically for banks and financial institutions. It integrates staff management, CRM, campaign management, a product catalog, a partner network, and workspace tools into a single application with role-based access control.\u003c\/p\u003e\n\u003cp data-path-to-node=\"25\"\u003e💡 \u003cb data-path-to-node=\"25\" data-index-in-node=\"3\"\u003eTip:\u003c\/b\u003e Think of Customer 360 as the operational hub of your branch or bank: every employee—from a teller to the branch manager—works with the same data in a unified interface.\u003c\/p\u003e\n\u003cp data-path-to-node=\"26\"\u003e\u003cb data-path-to-node=\"26\" data-index-in-node=\"0\"\u003eCore Features\u003c\/b\u003e\u003c\/p\u003e\n\u003cul data-path-to-node=\"27\"\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"27,0,0\"\u003e360° Customer profiles with segments and groups\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"27,1,0\"\u003eLead pipeline management with customer conversion\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"27,2,0\"\u003eMulti-channel campaign engine with a Kanban board\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"27,3,0\"\u003eRole-Based Access Control (RBAC) across all modules\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"27,4,0\"\u003eOutlook-style calendar for meetings and events\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"27,5,0\"\u003eFile manager for uploading, viewing, and sharing\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"27,6,0\"\u003eDirectory of bank partners and branch locations\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"27,7,0\"\u003eMultilingual offer builder (Armenian, Russian, English)\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"27,8,0\"\u003ePersonal workspace: notes, contacts, and leads\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"27,9,0\"\u003eAudit log for compliance—every action is recorded\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp data-path-to-node=\"28\"\u003e\u003cb data-path-to-node=\"28\" data-index-in-node=\"0\"\u003eWho uses the system?\u003c\/b\u003e\u003c\/p\u003e\n\u003ctable data-path-to-node=\"29\"\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eROLE\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cstrong\u003eCORE AREAS\u003c\/strong\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"29,1,0,0\"\u003eAdministrator\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"29,1,1,0\"\u003eAll sections — full system configuration\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"29,2,0,0\"\u003eBranch Manager\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"29,2,1,0\"\u003eStaff, customers, campaigns, reports\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"29,3,0,0\"\u003eRetail Specialist\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"29,3,1,0\"\u003eCustomer profiles, leads, calendar\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"29,4,0,0\"\u003eMarketing\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"29,4,1,0\"\u003eCampaigns, segments, groups, offers\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"29,5,0,0\"\u003eCompliance\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"29,5,1,0\"\u003eRead-only access to all data, access to the audit log\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003ch3 data-path-to-node=\"30\"\u003eGetting Started\u003c\/h3\u003e\n\u003cp data-path-to-node=\"31\"\u003e\u003cb data-path-to-node=\"31\" data-index-in-node=\"0\"\u003eLogging In\u003c\/b\u003e\u003c\/p\u003e\n\u003cp data-path-to-node=\"31\"\u003eOpen the application URL and log in with your corporate email and password. In the demo environment, employee accounts have already been created.\u003c\/p\u003e\n\u003ctable data-path-to-node=\"32\"\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eROLE\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cstrong\u003eEMAIL\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cstrong\u003ePASSWORD\u003c\/strong\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"32,1,0,0\"\u003eAdministrator\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"32,1,1,0\"\u003eadmin@bank.com\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"32,1,2,0\"\u003eAdmin123!\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"32,2,0,0\"\u003eManager\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"32,2,1,0\"\u003ehovhannes.grigoryan@bank.com\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"32,2,2,0\"\u003eBank123!\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"32,3,0,0\"\u003eRetail\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"32,3,1,0\"\u003enarek.hakobyan@bank.com\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"32,3,2,0\"\u003eBank123!\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"32,4,0,0\"\u003eMarketing\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"32,4,1,0\"\u003eani.petrosyan@bank.com\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"32,4,2,0\"\u003eBank123!\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp data-path-to-node=\"33\"\u003e\u003cb data-path-to-node=\"33\" data-index-in-node=\"0\"\u003eNavigation\u003c\/b\u003e\u003c\/p\u003e\n\u003cp data-path-to-node=\"33\"\u003eAll navigation is located in the left sidebar. It can be collapsed into an \"icons-only\" mode using the arrow at the bottom. The \"Workspace\" section is a collapsible submenu containing leads, contacts, and notes.\u003c\/p\u003e\n\u003cp data-path-to-node=\"34\"\u003e💡 \u003cb data-path-to-node=\"34\" data-index-in-node=\"3\"\u003eTip:\u003c\/b\u003e Press \u003ccode data-path-to-node=\"34\" data-index-in-node=\"14\"\u003eCtrl+K\u003c\/code\u003e (or \u003ccode data-path-to-node=\"34\" data-index-in-node=\"25\"\u003eCmd+K\u003c\/code\u003e on Mac) anywhere in the application to open the global search palette. Enter at least 2 characters to search across all entities.\u003c\/p\u003e\n\u003cp data-path-to-node=\"35\"\u003e\u003cb data-path-to-node=\"35\" data-index-in-node=\"0\"\u003eTheme and Language\u003c\/b\u003e\u003c\/p\u003e\n\u003cp data-path-to-node=\"35\"\u003eUse the sun\/moon icon in the top bar to toggle between light and dark themes. Click the flag icon to switch the language between English and Russian. Both preferences are saved to your session.\u003c\/p\u003e\n\u003chr data-path-to-node=\"36\"\u003e\n\u003ch1 data-path-to-node=\"37\"\u003e📋 Menu Sections\u003c\/h1\u003e\n\u003ch3 data-path-to-node=\"38\"\u003eDashboard\u003c\/h3\u003e\n\u003cp data-path-to-node=\"39\"\u003eThe Dashboard is the main screen displaying real-time key metrics across the entire platform.\u003c\/p\u003e\n\u003cul data-path-to-node=\"40\"\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"40,0,0\"\u003eTotal customers, active leads, open campaigns, and partners\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"40,1,0\"\u003eA feed of recent activities from the audit log\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"40,2,0\"\u003eQuick action buttons: create customers, leads, campaigns\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"40,3,0\"\u003eToday’s calendar events\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"40,4,0\"\u003eStaff performance summary\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp data-path-to-node=\"41\"\u003e💡 \u003cb data-path-to-node=\"41\" data-index-in-node=\"3\"\u003eTip:\u003c\/b\u003e The Dashboard automatically aggregates data from all microservices upon loading. Manual refreshing is not required.\u003c\/p\u003e\n\u003ch3 data-path-to-node=\"42\"\u003eStaff Management\u003c\/h3\u003e\n\u003cp data-path-to-node=\"43\"\u003eManage all employee accounts. Administrators can create, edit, deactivate, and assign roles.\u003c\/p\u003e\n\u003cul data-path-to-node=\"44\"\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"44,0,0\"\u003eSearch by name or email\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"44,1,0\"\u003eFilter by role (Administrator, Manager, Retail, Marketing)\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"44,2,0\"\u003eFilter by status (Active \/ Inactive)\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"44,3,0\"\u003eEmployee profile featuring an avatar, department, and phone number\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"44,4,0\"\u003eAssign single or multiple roles to a user\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"44,5,0\"\u003eActivate or deactivate without deleting\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp data-path-to-node=\"45\"\u003e⚠️ \u003cb data-path-to-node=\"45\" data-index-in-node=\"3\"\u003eWarning:\u003c\/b\u003e Only users with the Administrator role can create or modify employee accounts. Deactivated users cannot log in, but their action history is preserved.\u003c\/p\u003e\n\u003ch3 data-path-to-node=\"46\"\u003eDepartments \u0026amp; Teams\u003c\/h3\u003e\n\u003cp data-path-to-node=\"47\"\u003eOrganize the internal structure of the bank by creating departments and teams. Employees are assigned to teams, and teams belong to departments.\u003c\/p\u003e\n\u003cul data-path-to-node=\"48\"\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"48,0,0\"\u003eCreate departments (e.g., Retail Banking, Corporate, Compliance)\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"48,1,0\"\u003eCreate teams within each department\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"48,2,0\"\u003eAssign employees to teams\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"48,3,0\"\u003eView team composition and headcount\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c\/p\u003e\n\u003cdiv class=\"code-block ng-tns-c2165278770-89 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwiNgK7j0eyTAxUAAAAAHQAAAAAQlQE\"\u003e\n\u003cdiv class=\"code-block-decoration header-formatted gds-title-s ng-tns-c2165278770-89 ng-star-inserted\"\u003e\n\u003cspan class=\"ng-tns-c2165278770-89\"\u003ePlaintext\u003c\/span\u003e\n\u003cdiv class=\"buttons ng-tns-c2165278770-89 ng-star-inserted\"\u003e\n\u003c!----\u003e\u003cbutton aria-label=\"Скопировать код\" class=\"mdc-icon-button mat-mdc-icon-button mat-mdc-button-base mat-mdc-tooltip-trigger copy-button ng-tns-c2165278770-89 mat-unthemed ng-star-inserted\"\u003e\u003cspan class=\"mat-mdc-button-persistent-ripple mdc-icon-button__ripple\"\u003e\u003c\/span\u003e\u003c!----\u003e\u003cspan class=\"mat-focus-indicator\"\u003e\u003c\/span\u003e\u003cspan class=\"mat-mdc-button-touch-target\"\u003e\u003c\/span\u003e\u003c\/button\u003e\u003c!----\u003e\u003c!----\u003e\n\u003c\/div\u003e\n\u003c!----\u003e\u003c!----\u003e\n\u003c\/div\u003e\n\u003c!----\u003e\n\u003cdiv class=\"formatted-code-block-internal-container ng-tns-c2165278770-89\"\u003e\n\u003cdiv class=\"animated-opacity ng-tns-c2165278770-89\"\u003e\n\u003cpre class=\"ng-tns-c2165278770-89\"\u003e\u003ccode role=\"text\" data-test-id=\"code-content\" class=\"code-container formatted ng-tns-c2165278770-89\"\u003eBank\n├── Retail Banking Department\n│   ├── Yerevan Branch Team\n│   └── Gyumri Branch Team\n├── Corporate Banking Department\n│   └── Corporate Clients Team\n└── Marketing Department\n    └── Digital Campaigns Team\n\u003c\/code\u003e\u003c\/pre\u003e\n\u003c!----\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c\/p\u003e\n\u003ch3 data-path-to-node=\"50\"\u003eRoles \u0026amp; Access\u003c\/h3\u003e\n\u003cp data-path-to-node=\"51\"\u003eThe platform utilizes Role-Based Access Control (RBAC). Each employee can hold one or multiple roles. Roles are defined at the system level and can be customized.\u003c\/p\u003e\n\u003ctable data-path-to-node=\"52\"\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eROLE\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cstrong\u003eCORE PERMISSIONS\u003c\/strong\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"52,1,0,0\"\u003eADMIN\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"52,1,1,0\"\u003eFull access, user management, settings\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"52,2,0,0\"\u003eMANAGER\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"52,2,1,0\"\u003eCustomer data, campaigns, staff overview, reports\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"52,3,0,0\"\u003eRETAIL\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"52,3,1,0\"\u003eCustomer profiles, leads, calendar, basic CRM\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"52,4,0,0\"\u003eMARKETING\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"52,4,1,0\"\u003eCampaigns, segments, groups, offers, partners\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"52,5,0,0\"\u003eCOMPLIANCE\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"52,5,1,0\"\u003eRead-only across all data, audit log access\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp data-path-to-node=\"53\"\u003e💡 \u003cb data-path-to-node=\"53\" data-index-in-node=\"3\"\u003eTip:\u003c\/b\u003e A user can hold multiple roles simultaneously. For example, a branch manager can hold both MANAGER and COMPLIANCE roles.\u003c\/p\u003e\n\u003ch3 data-path-to-node=\"54\"\u003eCalendar\u003c\/h3\u003e\n\u003cp data-path-to-node=\"55\"\u003eAn Outlook-style calendar for scheduling meetings and reminders. Each employee has a personalized calendar view.\u003c\/p\u003e\n\u003cul data-path-to-node=\"56\"\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"56,0,0\"\u003eViews: Day, Week, Month\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"56,1,0\"\u003eCreate events with a title, description, start, and end time\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"56,2,0\"\u003eAssign events to specific users\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"56,3,0\"\u003eColor-coded event categories\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"56,4,0\"\u003eUpcoming events widget on the dashboard\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3 data-path-to-node=\"57\"\u003eFile Manager\u003c\/h3\u003e\n\u003cp data-path-to-node=\"58\"\u003eUpload, organize, and share documents internally. Ideal for storing contracts, KYC documents, campaign materials, and internal memos.\u003c\/p\u003e\n\u003cul data-path-to-node=\"59\"\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"59,0,0\"\u003eUpload files of any type (PDF, DOCX, images, etc.)\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"59,1,0\"\u003eBuilt-in preview for images and PDFs\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"59,2,0\"\u003eSearch files by name\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"59,3,0\"\u003eFilter by type or upload date\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"59,4,0\"\u003eFile metadata: size, uploader, date\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp data-path-to-node=\"60\"\u003e⚠️ \u003cb data-path-to-node=\"60\" data-index-in-node=\"3\"\u003eWarning:\u003c\/b\u003e Files are stored on the server. In the demo environment, file records persist between restarts, but the actual file content may be cleared.\u003c\/p\u003e\n\u003ch3 data-path-to-node=\"61\"\u003eCustomers\u003c\/h3\u003e\n\u003cp data-path-to-node=\"62\"\u003eThe primary CRM module. Each customer card provides a 360° profile: personal data, products, subscriptions, segment affiliation, and notes.\u003c\/p\u003e\n\u003cul data-path-to-node=\"63\"\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"63,0,0\"\u003eSearch by name, email, phone, or account number\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"63,1,0\"\u003eFilter by segment (VIP, PLUS, STANDARD, BASIC)\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"63,2,0\"\u003eFilter by status (Active, Inactive)\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"63,3,0\"\u003eCustomer page: personal details, products, subscriptions, history\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"63,4,0\"\u003eAssign customers to segments and groups\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"63,5,0\"\u003eCreate manually or via lead conversion\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp data-path-to-node=\"64\"\u003e\u003cb data-path-to-node=\"64\" data-index-in-node=\"0\"\u003eENTITY: Customer\u003c\/b\u003e\u003c\/p\u003e\n\u003ctable data-path-to-node=\"65\"\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eFIELD\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cstrong\u003eTYPE\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cstrong\u003eDESCRIPTION\u003c\/strong\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"65,1,0,0\"\u003efullName\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"65,1,1,0\"\u003estring\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"65,1,2,0\"\u003eFull legal name\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"65,2,0,0\"\u003eemail\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"65,2,1,0\"\u003estring\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"65,2,2,0\"\u003ePrimary contact email\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"65,3,0,0\"\u003ephone\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"65,3,1,0\"\u003estring\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"65,3,2,0\"\u003eContact phone number\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"65,4,0,0\"\u003esegment\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"65,4,1,0\"\u003eenum\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"65,4,2,0\"\u003eVIP | PLUS | STANDARD | BASIC\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"65,5,0,0\"\u003estatus\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"65,5,1,0\"\u003eenum\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"65,5,2,0\"\u003eACTIVE | INACTIVE\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"65,6,0,0\"\u003eaccountNumber\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"65,6,1,0\"\u003estring\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"65,6,2,0\"\u003eBank account number\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"65,7,0,0\"\u003eproducts\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"65,7,1,0\"\u003eProduct[]\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"65,7,2,0\"\u003eConnected banking products\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"65,8,0,0\"\u003egroups\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"65,8,1,0\"\u003eGroup[]\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"65,8,2,0\"\u003eMembership in marketing groups\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003ch3 data-path-to-node=\"66\"\u003eSegments\u003c\/h3\u003e\n\u003cp data-path-to-node=\"67\"\u003eCustomer segments are dynamic, rule-based groupings used for targeting. They automatically include customers who meet specific criteria.\u003c\/p\u003e\n\u003cul data-path-to-node=\"68\"\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"68,0,0\"\u003eSegments: VIP, PLUS, STANDARD, BASIC (and custom)\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"68,1,0\"\u003eCriteria: income bracket, product count, account age, activity\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"68,2,0\"\u003eSegments are used directly in campaigns and offer targeting\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"68,3,0\"\u003eCustomer count within a segment updates in real-time\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp data-path-to-node=\"69\"\u003e💡 \u003cb data-path-to-node=\"69\" data-index-in-node=\"3\"\u003eTip:\u003c\/b\u003e Use segments as a \"single source of truth\" for targeting, and then generate groups from segments for specific, one-off campaigns.\u003c\/p\u003e\n\u003ch3 data-path-to-node=\"70\"\u003eCustomer Groups\u003c\/h3\u003e\n\u003cp data-path-to-node=\"71\"\u003eGroups are static or semi-static collections of customers intended for one-off targeting or campaign assignment.\u003c\/p\u003e\n\u003cul data-path-to-node=\"72\"\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"72,0,0\"\u003eCreate manually or from a segment snapshot\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"72,1,0\"\u003eGenerate by partner type or device type\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"72,2,0\"\u003eAdd and remove individual customers\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"72,3,0\"\u003eSynchronize group composition with its source segment\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"72,4,0\"\u003eAssign groups to campaigns as target audiences\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3 data-path-to-node=\"73\"\u003eCampaigns\u003c\/h3\u003e\n\u003cp data-path-to-node=\"74\"\u003eThe campaign engine orchestrates multi-channel marketing and sales campaigns, featuring a Kanban task board to track execution.\u003c\/p\u003e\n\u003cul data-path-to-node=\"75\"\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"75,0,0\"\u003eCampaign types: SMS, Email, Push, Call, Cross-sell\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"75,1,0\"\u003eKanban board with columns: To Do, In Progress, In Review, Done\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"75,2,0\"\u003eAssign tasks to specific employees\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"75,3,0\"\u003eCampaign audience: Group or Segment\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"75,4,0\"\u003eTrack status: DRAFT → ACTIVE → COMPLETED\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"75,5,0\"\u003eSchedule start and end dates\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp data-path-to-node=\"76\"\u003e\u003cb data-path-to-node=\"76\" data-index-in-node=\"0\"\u003eCampaign Lifecycle\u003c\/b\u003e\u003c\/p\u003e\n\u003cp\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c\/p\u003e\n\u003cdiv class=\"code-block ng-tns-c2165278770-90 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwiNgK7j0eyTAxUAAAAAHQAAAAAQnAE\"\u003e\n\u003cdiv class=\"code-block-decoration header-formatted gds-title-s ng-tns-c2165278770-90 ng-star-inserted\"\u003e\n\u003cspan class=\"ng-tns-c2165278770-90\"\u003ePlaintext\u003c\/span\u003e\n\u003cdiv class=\"buttons ng-tns-c2165278770-90 ng-star-inserted\"\u003e\n\u003c!----\u003e\u003cbutton aria-label=\"Скопировать код\" class=\"mdc-icon-button mat-mdc-icon-button mat-mdc-button-base mat-mdc-tooltip-trigger copy-button ng-tns-c2165278770-90 mat-unthemed ng-star-inserted\"\u003e\u003cspan class=\"mat-mdc-button-persistent-ripple mdc-icon-button__ripple\"\u003e\u003c\/span\u003e\u003c!----\u003e\u003cspan class=\"mat-focus-indicator\"\u003e\u003c\/span\u003e\u003cspan class=\"mat-mdc-button-touch-target\"\u003e\u003c\/span\u003e\u003c\/button\u003e\u003c!----\u003e\u003c!----\u003e\n\u003c\/div\u003e\n\u003c!----\u003e\u003c!----\u003e\n\u003c\/div\u003e\n\u003c!----\u003e\n\u003cdiv class=\"formatted-code-block-internal-container ng-tns-c2165278770-90\"\u003e\n\u003cdiv class=\"animated-opacity ng-tns-c2165278770-90\"\u003e\n\u003cpre class=\"ng-tns-c2165278770-90\"\u003e\u003ccode role=\"text\" data-test-id=\"code-content\" class=\"code-container formatted ng-tns-c2165278770-90\"\u003e[DRAFT] ──► [ACTIVE] ──► [COMPLETED]\n   ↑           |\ncreation   tasks move along Kanban\n               |\n          [To Do] → [In Progress] → [Review] → [Done]\n\u003c\/code\u003e\u003c\/pre\u003e\n\u003c!----\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c\/p\u003e\n\u003ch3 data-path-to-node=\"78\"\u003eProducts \u0026amp; Subscriptions\u003c\/h3\u003e\n\u003cp data-path-to-node=\"79\"\u003eThe product catalog contains all banking products available for subscription. Customers are linked to products via subscriptions.\u003c\/p\u003e\n\u003cul data-path-to-node=\"80\"\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"80,0,0\"\u003eProduct types: CARD, LOAN, DEPOSIT, ACCOUNT, INSURANCE, INVESTMENT, OTHER\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"80,1,0\"\u003eProduct fields: name, type, description, interest rate, term, fee, currency\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"80,2,0\"\u003eCustomers can subscribe to multiple products\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"80,3,0\"\u003eSubscriptions: status (ACTIVE\/SUSPENDED\/CANCELED), start\/end dates, applied offer\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"80,4,0\"\u003eAssign offers to subscriptions via the Offer Builder\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3 data-path-to-node=\"81\"\u003ePartners\u003c\/h3\u003e\n\u003cp data-path-to-node=\"82\"\u003eManage the bank's partner network: merchants, insurance companies, loyalty programs, fintech providers, and others.\u003c\/p\u003e\n\u003cul data-path-to-node=\"83\"\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"83,0,0\"\u003ePartner types: MERCHANT, INSURANCE, LOYALTY, FINTECH, TELECOM, RETAIL, OTHER\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"83,1,0\"\u003eFields: company name, contact person, email, phone, website, status\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"83,2,0\"\u003eToggle Active\/Inactive status\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"83,3,0\"\u003ePartner data is used when generating customer groups based on partner type\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3 data-path-to-node=\"84\"\u003eLocations\u003c\/h3\u003e\n\u003cp data-path-to-node=\"85\"\u003eA directory of all bank branches, ATMs, and service points.\u003c\/p\u003e\n\u003cul data-path-to-node=\"86\"\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"86,0,0\"\u003eTypes: BRANCH, ATM, SERVICE_POINT\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"86,1,0\"\u003eFields: name, city, address, phone, operating hours, coordinates\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"86,2,0\"\u003eStatus: Active\/Inactive\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"86,3,0\"\u003eFilter by city or type\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3 data-path-to-node=\"87\"\u003eOffer Builder\u003c\/h3\u003e\n\u003cp data-path-to-node=\"88\"\u003eCreate multilingual promotional offers and assign them to product subscriptions. Offers are edited simultaneously in Armenian, Russian, and English.\u003c\/p\u003e\n\u003cul data-path-to-node=\"89\"\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"89,0,0\"\u003eName and description in 3 languages (HY, RU, EN)\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"89,1,0\"\u003eDiscount type: percentage or fixed amount\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"89,2,0\"\u003eValidity period: start and end date\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"89,3,0\"\u003eAssign an offer to a specific subscription\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"89,4,0\"\u003eToggle Active\/Inactive status\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp data-path-to-node=\"90\"\u003e💡 \u003cb data-path-to-node=\"90\" data-index-in-node=\"3\"\u003eTip:\u003c\/b\u003e The Offer Builder is designed with compliance in mind—all language variants are edited together, eliminating the risk of incomplete localization.\u003c\/p\u003e\n\u003ch3 data-path-to-node=\"91\"\u003eLeads\u003c\/h3\u003e\n\u003cp data-path-to-node=\"92\"\u003eLeads are potential customers who have not yet completed the onboarding process. Manage them through a sales pipeline with status tracking.\u003c\/p\u003e\n\u003ctable data-path-to-node=\"93\"\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eSTATUS\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cstrong\u003eMEANING\u003c\/strong\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"93,1,0,0\"\u003eNEW\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"93,1,1,0\"\u003eJust received, not yet contacted\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"93,2,0,0\"\u003eCONTACTED\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"93,2,1,0\"\u003eInitial contact has been made\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"93,3,0,0\"\u003eQUALIFIED\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"93,3,1,0\"\u003eInterest confirmed, meets criteria\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"93,4,0,0\"\u003eUNQUALIFIED\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"93,4,1,0\"\u003eDoes not meet criteria, pipeline closed\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"93,5,0,0\"\u003eCONVERTED\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"93,5,1,0\"\u003eSuccessfully onboarded as a customer\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp data-path-to-node=\"94\"\u003eThe \"Convert\" action creates a new customer card from the lead's data and links them.\u003c\/p\u003e\n\u003ch3 data-path-to-node=\"95\"\u003eMy Contacts\u003c\/h3\u003e\n\u003cp data-path-to-node=\"96\"\u003eMy Contacts is a personal address book for each employee, separate from customer CRM records. Store personal and professional contacts with deep links to messengers.\u003c\/p\u003e\n\u003cul data-path-to-node=\"97\"\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"97,0,0\"\u003eContact types: PERSONAL, BUSINESS, COLLEAGUE, VIP, PARTNER, FAMILY, OTHER\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"97,1,0\"\u003eFields: name, email, phone, company, title, notes\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"97,2,0\"\u003eMessengers: Quick links for WhatsApp, Telegram, Viber\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"97,3,0\"\u003eToggle between grid and list views\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"97,4,0\"\u003eSearch and filter by type\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"97,5,0\"\u003eEach user only sees their own contacts\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3 data-path-to-node=\"98\"\u003eNotes\u003c\/h3\u003e\n\u003cp data-path-to-node=\"99\"\u003eA Google Keep-style note board for personal and shared records. Notes can be kept private or shared with specific colleagues.\u003c\/p\u003e\n\u003cul data-path-to-node=\"100\"\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"100,0,0\"\u003e8 color options for visual organization\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"100,1,0\"\u003eTitle, content, and tags for each note\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"100,2,0\"\u003ePrivacy: Private (only you) or Shared (selected colleagues)\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"100,3,0\"\u003ePin notes to the top of the list\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"100,4,0\"\u003eFilters: All, Private, Shared\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"100,5,0\"\u003eSearch by title, content, and tags\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"100,6,0\"\u003eResponsive masonry grid layout\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp data-path-to-node=\"101\"\u003e💡 \u003cb data-path-to-node=\"101\" data-index-in-node=\"3\"\u003eTip:\u003c\/b\u003e Use pinned notes for daily reminders. Use tags to group related notes—they are easily discoverable via search.\u003c\/p\u003e\n\u003ch3 data-path-to-node=\"102\"\u003ePulse\u003c\/h3\u003e\n\u003cp data-path-to-node=\"103\"\u003ePulse is the team's internal feed—a LinkedIn-style social layer for bank employees. Here, any employee can share updates, announcements, tips, and achievements with the entire organization.\u003c\/p\u003e\n\u003cul data-path-to-node=\"104\"\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"104,0,0\"\u003ePost text updates and URLs — links are auto-detected and made clickable\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"104,1,0\"\u003eLike any post with one click — the heart icon toggles your like\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"104,2,0\"\u003eComments — expand any post to read and add comments\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"104,3,0\"\u003eDelete your own posts and comments from the feed\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"104,4,0\"\u003eReverse-chronological feed with relative timestamps\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"104,5,0\"\u003eAvatars feature initials and a persistent color per user\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"104,6,0\"\u003ePublishing form expands on focus with a character counter (max 3,000)\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"104,7,0\"\u003ePress \u003ccode data-path-to-node=\"104,7,0\" data-index-in-node=\"6\"\u003eCtrl+Enter\u003c\/code\u003e to submit a post without using the mouse\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp data-path-to-node=\"105\"\u003e💡 \u003cb data-path-to-node=\"105\" data-index-in-node=\"3\"\u003eTip:\u003c\/b\u003e Pulse is ideal for bank-wide announcements, compliance reminders, quarterly goals, and welcoming new hires.\u003c\/p\u003e\n\u003ch3 data-path-to-node=\"106\"\u003eImport \/ Export\u003c\/h3\u003e\n\u003cp data-path-to-node=\"107\"\u003eThe Import \/ Export page provides tools for mass data management of customers and partners. Use the entity toggle at the top of the page to select the desired data type.\u003c\/p\u003e\n\u003cp data-path-to-node=\"108\"\u003e\u003cb data-path-to-node=\"108\" data-index-in-node=\"0\"\u003eImporting Customers\u003c\/b\u003e\u003c\/p\u003e\n\u003col start=\"1\" data-path-to-node=\"109\"\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"109,0,0\"\u003eNavigate to Import \/ Export → select Customers → Import tab.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"109,1,0\"\u003eDrag and drop a \u003ccode data-path-to-node=\"109,1,0\" data-index-in-node=\"16\"\u003e.csv\u003c\/code\u003e file or click to browse.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"109,2,0\"\u003eReview the automatically mapped columns and the preview table.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"109,3,0\"\u003eClick Import — rows containing existing emails are skipped automatically.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"109,4,0\"\u003eReview the final summary: Created, Skipped, Errors.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003cp data-path-to-node=\"110\"\u003e💡 \u003cb data-path-to-node=\"110\" data-index-in-node=\"3\"\u003eTip:\u003c\/b\u003e Download the sample template from the upload screen to ensure your column headers are correct. The parser also accepts variations like \u003ccode data-path-to-node=\"110\" data-index-in-node=\"143\"\u003eFirst Name\u003c\/code\u003e, \u003ccode data-path-to-node=\"110\" data-index-in-node=\"155\"\u003efirst_name\u003c\/code\u003e, and \u003ccode data-path-to-node=\"110\" data-index-in-node=\"171\"\u003efirstname\u003c\/code\u003e.\u003c\/p\u003e\n\u003cp data-path-to-node=\"111\"\u003e\u003cb data-path-to-node=\"111\" data-index-in-node=\"0\"\u003eExporting Customers\u003c\/b\u003e\u003c\/p\u003e\n\u003cul data-path-to-node=\"112\"\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"112,0,0\"\u003eExport All — downloads every customer in the system.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"112,1,0\"\u003eExport by Segment — select a segment and download its members.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"112,2,0\"\u003eExport by Group — select a group and download its assigned customers.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"112,3,0\"\u003eSegment Definitions — exports segment metadata.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"112,4,0\"\u003eGroup Definitions — exports group metadata along with customer counts.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp data-path-to-node=\"113\"\u003e\u003cb data-path-to-node=\"113\" data-index-in-node=\"0\"\u003eImporting and Exporting Partners\u003c\/b\u003e\u003c\/p\u003e\n\u003cp data-path-to-node=\"113\"\u003eToggle to Partners at the top of the page to import or export partner data. Deduplication is performed based on the \u003ccode data-path-to-node=\"113\" data-index-in-node=\"149\"\u003ename\u003c\/code\u003e field (case-insensitive). Export filters are available for partner type and status.\u003c\/p\u003e\n\u003cp data-path-to-node=\"114\"\u003e⚠️ \u003cb data-path-to-node=\"114\" data-index-in-node=\"3\"\u003eWarning:\u003c\/b\u003e Exports are generated on the client side using live API data. For very large datasets, downloading may take a few seconds.\u003c\/p\u003e\n\u003ch3 data-path-to-node=\"115\"\u003eAudit Log\u003c\/h3\u003e\n\u003cp data-path-to-node=\"116\"\u003eEvery create, update, and delete action performed by staff is recorded in an immutable audit log for compliance and security purposes.\u003c\/p\u003e\n\u003cul data-path-to-node=\"117\"\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"117,0,0\"\u003eCaptures: user, action (CREATE\/UPDATE\/DELETE), resource type, resource ID, timestamp\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"117,1,0\"\u003eFilter by user, action type, and date range\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"117,2,0\"\u003eTable format is ready for export\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"117,3,0\"\u003eCannot be altered or deleted by anyone\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"117,4,0\"\u003eActions resulting in 4xx\/5xx HTTP errors are not logged\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp data-path-to-node=\"118\"\u003e⚠️ \u003cb data-path-to-node=\"118\" data-index-in-node=\"3\"\u003eWarning:\u003c\/b\u003e The audit log is a compliance tool. All successful write operations across all modules are logged automatically—manual logging is not required.\u003c\/p\u003e\n\u003ch3 data-path-to-node=\"119\"\u003eEmail Template Builder\u003c\/h3\u003e\n\u003cp data-path-to-node=\"120\"\u003eThe Email Template Builder allows you to create, manage, and preview reusable HTML email templates for campaigns. Templates support dynamic variables that are populated at the time of sending.\u003c\/p\u003e\n\u003cp data-path-to-node=\"121\"\u003e\u003cb data-path-to-node=\"121\" data-index-in-node=\"0\"\u003eCreating a Template\u003c\/b\u003e\u003c\/p\u003e\n\u003col start=\"1\" data-path-to-node=\"122\"\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"122,0,0\"\u003eNavigate to \"Email Templates\" in the sidebar.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"122,1,0\"\u003eClick \"New Template\".\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"122,2,0\"\u003eEnter a name and select a category (Marketing, Transactional, Notification, Newsletter, Other).\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"122,3,0\"\u003eWrite a subject line — supports variables like \u003ccode data-path-to-node=\"122,3,0\" data-index-in-node=\"47\"\u003e{{firstName}}\u003c\/code\u003e, \u003ccode data-path-to-node=\"122,3,0\" data-index-in-node=\"62\"\u003e{{lastName}}\u003c\/code\u003e, \u003ccode data-path-to-node=\"122,3,0\" data-index-in-node=\"76\"\u003e{{email}}\u003c\/code\u003e.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"122,4,0\"\u003eDesign the email body using the visual editor or paste custom HTML.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"122,5,0\"\u003eClick \"Preview\" to verify the output before saving.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"122,6,0\"\u003eSave the template — it is immediately available for use in campaigns.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003cp data-path-to-node=\"123\"\u003e\u003cb data-path-to-node=\"123\" data-index-in-node=\"0\"\u003eSupported Variables\u003c\/b\u003e\u003c\/p\u003e\n\u003ctable data-path-to-node=\"124\"\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eVARIABLE\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cstrong\u003eREPLACED WITH\u003c\/strong\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"124,1,0,0\"\u003e\u003ccode data-path-to-node=\"124,1,0,0\" data-index-in-node=\"0\"\u003e{{firstName}}\u003c\/code\u003e\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"124,1,1,0\"\u003eCustomer's first name\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"124,2,0,0\"\u003e\u003ccode data-path-to-node=\"124,2,0,0\" data-index-in-node=\"0\"\u003e{{lastName}}\u003c\/code\u003e\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"124,2,1,0\"\u003eCustomer's last name\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"124,3,0,0\"\u003e\u003ccode data-path-to-node=\"124,3,0,0\" data-index-in-node=\"0\"\u003e{{email}}\u003c\/code\u003e\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"124,3,1,0\"\u003eCustomer's email address\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"124,4,0,0\"\u003e\u003ccode data-path-to-node=\"124,4,0,0\" data-index-in-node=\"0\"\u003e{{bankName}}\u003c\/code\u003e\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"124,4,1,0\"\u003eBank \/ Organization name\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"124,5,0,0\"\u003e\u003ccode data-path-to-node=\"124,5,0,0\" data-index-in-node=\"0\"\u003e{{date}}\u003c\/code\u003e\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"124,5,1,0\"\u003eCurrent date at the time of sending\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp data-path-to-node=\"125\"\u003e\u003cb data-path-to-node=\"125\" data-index-in-node=\"0\"\u003eTemplate Categories\u003c\/b\u003e\u003c\/p\u003e\n\u003cul data-path-to-node=\"126\"\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"126,0,0\"\u003eMarketing — promotional offers, product announcements\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"126,1,0\"\u003eTransactional — account statements, payment confirmations\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"126,2,0\"\u003eNotification — alerts, reminders, system messages\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"126,3,0\"\u003eNewsletter — monthly digests, branch news\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"126,4,0\"\u003eOther — miscellaneous emails for any task\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp data-path-to-node=\"127\"\u003e💡 \u003cb data-path-to-node=\"127\" data-index-in-node=\"3\"\u003eTip:\u003c\/b\u003e Use the \"Preview\" button to check your layout before publishing the template. The preview renders the HTML exactly as an email client will display it.\u003c\/p\u003e\n\u003cp data-path-to-node=\"128\"\u003e⚠️ \u003cb data-path-to-node=\"128\" data-index-in-node=\"3\"\u003eWarning:\u003c\/b\u003e Templates are globally shared across all employees—any user with access can edit or delete them. Give your templates clear, descriptive names (e.g., \"April 2026 — VIP Promo\") to avoid confusion.\u003c\/p\u003e\n\u003ch3 data-path-to-node=\"129\"\u003eUser Profile\u003c\/h3\u003e\n\u003cp data-path-to-node=\"130\"\u003eEvery employee has a personal profile page accessible via the avatar in the top right corner of the sidebar. The profile contains contact details, work information, and security settings.\u003c\/p\u003e\n\u003cp data-path-to-node=\"131\"\u003e\u003cb data-path-to-node=\"131\" data-index-in-node=\"0\"\u003eEditable Fields\u003c\/b\u003e\u003c\/p\u003e\n\u003cul data-path-to-node=\"132\"\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"132,0,0\"\u003eFull Name — displayed in greetings, Pulse posts, and the audit log.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"132,1,0\"\u003eEmail — used for login and notifications (must be unique).\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"132,2,0\"\u003ePhone — optional direct contact number.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"132,3,0\"\u003eJob Title — displayed on profile cards.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"132,4,0\"\u003eDepartment \u0026amp; Team Assignment — managed by an administrator or manager.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"132,5,0\"\u003eAvatar — upload a photo (JPEG\/PNG, max 2MB); initials serve as a fallback.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp data-path-to-node=\"133\"\u003e\u003cb data-path-to-node=\"133\" data-index-in-node=\"0\"\u003eChanging Your Password\u003c\/b\u003e\u003c\/p\u003e\n\u003col start=\"1\" data-path-to-node=\"134\"\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"134,0,0\"\u003eOpen your profile page.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"134,1,0\"\u003eScroll down to the \"Security\" section.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"134,2,0\"\u003eEnter your current password, then enter your new password twice.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"134,3,0\"\u003eClick \"Update Password\".\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"134,4,0\"\u003eYou remain logged in—re-authentication is not required.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003cp data-path-to-node=\"135\"\u003e💡 \u003cb data-path-to-node=\"135\" data-index-in-node=\"3\"\u003eTip:\u003c\/b\u003e Your display name (used in greetings and Pulse posts) is pulled from the \"First Name\" field. Keep it updated so colleagues can easily recognize your posts.\u003c\/p\u003e\n\u003ch3 data-path-to-node=\"136\"\u003eSettings\u003c\/h3\u003e\n\u003cp data-path-to-node=\"137\"\u003eThe settings page provides system configuration parameters for administrators, as well as personalization controls (theme and language) for all employees.\u003c\/p\u003e\n\u003cp data-path-to-node=\"138\"\u003e\u003cb data-path-to-node=\"138\" data-index-in-node=\"0\"\u003eTheme\u003c\/b\u003e\u003c\/p\u003e\n\u003cp data-path-to-node=\"138\"\u003eToggle between light and dark themes using the switch on the settings page or at the bottom of the sidebar. Your chosen theme is persisted between sessions via \u003ccode data-path-to-node=\"138\" data-index-in-node=\"166\"\u003elocalStorage\u003c\/code\u003e.\u003c\/p\u003e\n\u003cp data-path-to-node=\"139\"\u003e\u003cb data-path-to-node=\"139\" data-index-in-node=\"0\"\u003eLanguage\u003c\/b\u003e\u003c\/p\u003e\n\u003cp data-path-to-node=\"139\"\u003eSwitch the interface language between English (EN) and Russian (RU) at any time from the settings. All menu labels, form fields, buttons, and documentation update instantly without a page reload.\u003c\/p\u003e\n\u003cp data-path-to-node=\"140\"\u003e\u003cb data-path-to-node=\"140\" data-index-in-node=\"0\"\u003eAdmin-Only Settings\u003c\/b\u003e\u003c\/p\u003e\n\u003cul data-path-to-node=\"141\"\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"141,0,0\"\u003ePassword Policy — minimum length and complexity requirements for new accounts.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"141,1,0\"\u003eAudit Retention — retention period for audit events (demo: unlimited).\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"141,2,0\"\u003eData Reset — reload demo data without restarting services.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"141,3,0\"\u003eMail Gateway — configure the outbound SMTP server for campaigns.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp data-path-to-node=\"142\"\u003e💡 \u003cb data-path-to-node=\"142\" data-index-in-node=\"3\"\u003eTip:\u003c\/b\u003e Language and theme changes are instantaneous and personal—they do not affect other users' sessions.\u003c\/p\u003e\n\u003cp data-path-to-node=\"143\"\u003e⚠️ \u003cb data-path-to-node=\"143\" data-index-in-node=\"3\"\u003eWarning:\u003c\/b\u003e Administrator settings impact the entire system. Changes take effect immediately and cannot be undone via the UI.\u003c\/p\u003e\n\u003ch3 data-path-to-node=\"144\"\u003eWorkspace\u003c\/h3\u003e\n\u003cp data-path-to-node=\"145\"\u003eThe \"Workspace\" section in the sidebar consolidates all personal productivity tools: Leads, My Contacts, Notes, and Pulse. These tools are user-centric—data is tied to your account by default.\u003c\/p\u003e\n\u003ctable data-path-to-node=\"146\"\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eTOOL\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cstrong\u003ePURPOSE\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cstrong\u003eSHARED?\u003c\/strong\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"146,1,0,0\"\u003eLeads\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"146,1,1,0\"\u003eTrack potential customers through the pipeline\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"146,1,2,0\"\u003eAll employees see all leads\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"146,2,0,0\"\u003eMy Contacts\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"146,2,1,0\"\u003ePersonal address book, separate from the CRM\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"146,2,2,0\"\u003ePrivate — only your contacts\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"146,3,0,0\"\u003eNotes\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"146,3,1,0\"\u003eColor-coded notes with tags and pinning\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"146,3,2,0\"\u003eOptional — private or shared per note\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"146,4,0,0\"\u003ePulse\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"146,4,1,0\"\u003eShared social team feed for announcements\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"146,4,2,0\"\u003eVisible to all employees\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp data-path-to-node=\"147\"\u003e💡 \u003cb data-path-to-node=\"147\" data-index-in-node=\"3\"\u003eTip:\u003c\/b\u003e Think of the Workspace as your personal desk within the banking platform. The CRM (Customers, Campaigns) is the shared office; the Workspace is your private corner.\u003c\/p\u003e\n\u003chr data-path-to-node=\"148\"\u003e\n\u003ch1 data-path-to-node=\"149\"\u003e🏗️ Architecture\u003c\/h1\u003e\n\u003ch3 data-path-to-node=\"150\"\u003eMicroservices Overview\u003c\/h3\u003e\n\u003cp data-path-to-node=\"151\"\u003eCustomer 360 is structured as a microservices monorepo. Each service is an independent NestJS application utilizing its own in-memory MongoDB database. All external requests route through the API Gateway.\u003c\/p\u003e\n\u003cp\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c\/p\u003e\n\u003cdiv class=\"code-block ng-tns-c2165278770-91 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwiNgK7j0eyTAxUAAAAAHQAAAAAQpgE\"\u003e\n\u003cdiv class=\"code-block-decoration header-formatted gds-title-s ng-tns-c2165278770-91 ng-star-inserted\"\u003e\n\u003cspan class=\"ng-tns-c2165278770-91\"\u003ePlaintext\u003c\/span\u003e\n\u003cdiv class=\"buttons ng-tns-c2165278770-91 ng-star-inserted\"\u003e\n\u003c!----\u003e\u003cbutton aria-label=\"Скопировать код\" class=\"mdc-icon-button mat-mdc-icon-button mat-mdc-button-base mat-mdc-tooltip-trigger copy-button ng-tns-c2165278770-91 mat-unthemed ng-star-inserted\"\u003e\u003cspan class=\"mat-mdc-button-persistent-ripple mdc-icon-button__ripple\"\u003e\u003c\/span\u003e\u003c!----\u003e\u003cspan class=\"mat-focus-indicator\"\u003e\u003c\/span\u003e\u003cspan class=\"mat-mdc-button-touch-target\"\u003e\u003c\/span\u003e\u003c\/button\u003e\u003c!----\u003e\u003c!----\u003e\n\u003c\/div\u003e\n\u003c!----\u003e\u003c!----\u003e\n\u003c\/div\u003e\n\u003c!----\u003e\n\u003cdiv class=\"formatted-code-block-internal-container ng-tns-c2165278770-91\"\u003e\n\u003cdiv class=\"animated-opacity ng-tns-c2165278770-91\"\u003e\n\u003cpre class=\"ng-tns-c2165278770-91\"\u003e\u003ccode role=\"text\" data-test-id=\"code-content\" class=\"code-container formatted ng-tns-c2165278770-91\"\u003eBrowser \/ Frontend (React + Vite)\n           :5000\n             │\n             ▼\n┌─────────────────────────────┐\n│ API Gateway                 │\n│ \/api\/v2\/* :3001   │\n│ JWT Validation              │\n│ Request Routing             │\n└─┬────┬────┬────┬────┬───────┘\n  │    │    │    │    │\n  ▼    ▼    ▼    ▼    ▼\nAuth User Role  Org Calendar\n     :3002-3006\n             │\n           File :3007\n             │\n         Customer :3008\n(customers, leads, contacts,\nnotes, segments, groups,\ncampaigns, products,\nsubscriptions, partners,\nlocations)\n             │\n           Audit :3009\n\u003c\/code\u003e\u003c\/pre\u003e\n\u003c!----\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c\/p\u003e\n\u003ctable data-path-to-node=\"153\"\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eSERVICE\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cstrong\u003ePORT\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cstrong\u003eRESPONSIBILITY\u003c\/strong\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"153,1,0,0\"\u003eGateway\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"153,1,1,0\"\u003e3001\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"153,1,2,0\"\u003eJWT authorization, proxying, global search\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"153,2,0,0\"\u003eAuth Service\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"153,2,1,0\"\u003e3002\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"153,2,2,0\"\u003eLogin, token issuance, credential management\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"153,3,0,0\"\u003eUser Service\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"153,3,1,0\"\u003e3003\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"153,3,2,0\"\u003eEmployee profiles, avatars, role assignment\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"153,4,0,0\"\u003eRole Service\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"153,4,1,0\"\u003e3004\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"153,4,2,0\"\u003eRole definitions and permissions\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"153,5,0,0\"\u003eOrg Service\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"153,5,1,0\"\u003e3005\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"153,5,2,0\"\u003eDepartment and team structures\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"153,6,0,0\"\u003eCalendar Service\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"153,6,1,0\"\u003e3006\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"153,6,2,0\"\u003eEvents, meetings, reminders\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"153,7,0,0\"\u003eFile Service\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"153,7,1,0\"\u003e3007\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"153,7,2,0\"\u003eFile uploads, storage, metadata\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"153,8,0,0\"\u003eCustomer Service\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"153,8,1,0\"\u003e3008\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"153,8,2,0\"\u003eAll CRM entities (10 modules)\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"153,9,0,0\"\u003eAudit Service\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"153,9,1,0\"\u003e3009\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"153,9,2,0\"\u003eImmutable action log\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"153,10,0,0\"\u003eFrontend\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"153,10,1,0\"\u003e5000\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan data-path-to-node=\"153,10,2,0\"\u003eReact SPA via Vite\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003ch3 data-path-to-node=\"154\"\u003eAuthentication Process\u003c\/h3\u003e\n\u003col start=\"1\" data-path-to-node=\"155\"\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"155,0,0\"\u003eUser enters email + password.\u003c\/p\u003e\n\u003cp data-path-to-node=\"155,0,0\"\u003e↓\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"155,1,0\"\u003eGateway → \u003ccode data-path-to-node=\"155,1,0\" data-index-in-node=\"10\"\u003ePOST \/auth\/login\u003c\/code\u003e → Auth Service (validates credentials against hashed password).\u003c\/p\u003e\n\u003cp data-path-to-node=\"155,1,0\"\u003e↓\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"155,2,0\"\u003eAuth Service issues a JWT (payload: \u003ccode data-path-to-node=\"155,2,0\" data-index-in-node=\"36\"\u003e{ sub, email, roles }\u003c\/code\u003e).\u003c\/p\u003e\n\u003cp data-path-to-node=\"155,2,0\"\u003e↓\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"155,3,0\"\u003eFrontend stores the token in \u003ccode data-path-to-node=\"155,3,0\" data-index-in-node=\"29\"\u003elocalStorage\u003c\/code\u003e.\u003c\/p\u003e\n\u003cp data-path-to-node=\"155,3,0\"\u003e↓\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"155,4,0\"\u003eAll subsequent requests include: \u003ccode data-path-to-node=\"155,4,0\" data-index-in-node=\"33\"\u003eAuthorization: Bearer \u0026lt;token\u0026gt;\u003c\/code\u003e.\u003c\/p\u003e\n\u003cp data-path-to-node=\"155,4,0\"\u003e↓\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"155,5,0\"\u003eGateway validates the JWT on every request, extracts the user context, and forwards it to the target service.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003cp data-path-to-node=\"156\"\u003e💡 \u003cb data-path-to-node=\"156\" data-index-in-node=\"3\"\u003eTip:\u003c\/b\u003e JWT tokens encode the user's roles within the payload. A database lookup is not required on every request—permissions are resolved on the client side using the decoded token.\u003c\/p\u003e\n\u003chr data-path-to-node=\"157\"\u003e\n\u003ch1 data-path-to-node=\"158\"\u003e🔗 Entity Relationships\u003c\/h1\u003e\n\u003ch3 data-path-to-node=\"159\"\u003eFull Entity Map\u003c\/h3\u003e\n\u003cp\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c\/p\u003e\n\u003cdiv class=\"code-block ng-tns-c2165278770-92 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwiNgK7j0eyTAxUAAAAAHQAAAAAQqgE\"\u003e\n\u003cdiv class=\"code-block-decoration header-formatted gds-title-s ng-tns-c2165278770-92 ng-star-inserted\"\u003e\n\u003cspan class=\"ng-tns-c2165278770-92\"\u003ePlaintext\u003c\/span\u003e\n\u003cdiv class=\"buttons ng-tns-c2165278770-92 ng-star-inserted\"\u003e\n\u003c!----\u003e\u003cbutton aria-label=\"Скопировать код\" class=\"mdc-icon-button mat-mdc-icon-button mat-mdc-button-base mat-mdc-tooltip-trigger copy-button ng-tns-c2165278770-92 mat-unthemed ng-star-inserted\"\u003e\u003cspan class=\"mat-mdc-button-persistent-ripple mdc-icon-button__ripple\"\u003e\u003c\/span\u003e\u003c!----\u003e\u003cspan class=\"mat-focus-indicator\"\u003e\u003c\/span\u003e\u003cspan class=\"mat-mdc-button-touch-target\"\u003e\u003c\/span\u003e\u003c\/button\u003e\u003c!----\u003e\u003c!----\u003e\n\u003c\/div\u003e\n\u003c!----\u003e\u003c!----\u003e\n\u003c\/div\u003e\n\u003c!----\u003e\n\u003cdiv class=\"formatted-code-block-internal-container ng-tns-c2165278770-92\"\u003e\n\u003cdiv class=\"animated-opacity ng-tns-c2165278770-92\"\u003e\n\u003cpre class=\"ng-tns-c2165278770-92\"\u003e\u003ccode role=\"text\" data-test-id=\"code-content\" class=\"code-container formatted ng-tns-c2165278770-92\"\u003eEmployee ────────────┬──► Department\n                     │\n                     └──► Team\n                     │\n                     ├── creates ──► Customer ────────┬──► Segment (tag)\n                     │                                ├──► Group (membership)\n                     │                                └──► Product Subscription\n                     │                                │\n                     │                                └──► Offer\n                     │\n                     ├── manages ──► Lead ────────────► Customer (upon conversion)\n                     │\n                     ├── owns ─────► Contact (personal book)\n                     │\n                     ├── writes ───► Note ────────────► shared with employees\n                     │\n                     ├── creates ──► Campaign ────────┬──► Group (audience)\n                     │                                │\n                     │                                └──► Tasks (assigned to staff)\n                     │\n                     └── logins ───► Audit Event (every write action)\n\nPartner ──────────────────────────────────────────────► Group (generation by partner type)\nLocation ─────────────────────────────────────────────► (used in customer data)\n\u003c\/code\u003e\u003c\/pre\u003e\n\u003c!----\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c!----\u003e\u003c\/p\u003e\n\u003ch3 data-path-to-node=\"161\"\u003eKey Relationships\u003c\/h3\u003e\n\u003cp data-path-to-node=\"162\"\u003e\u003cb data-path-to-node=\"162\" data-index-in-node=\"0\"\u003eCustomer ↔ Segment\u003c\/b\u003e\u003c\/p\u003e\n\u003cp data-path-to-node=\"162\"\u003eA customer's segment is a single tag (VIP, PLUS, STANDARD, BASIC) stored on their profile. Changing the segment immediately moves the customer into a different targeting bracket.\u003c\/p\u003e\n\u003cp data-path-to-node=\"163\"\u003e\u003cb data-path-to-node=\"163\" data-index-in-node=\"0\"\u003eCustomer ↔ Group\u003c\/b\u003e\u003c\/p\u003e\n\u003cp data-path-to-node=\"163\"\u003eGroups function as a many-to-many relationship. A customer can belong to multiple groups; a group can contain many customers. Groups serve as the target audiences for campaigns.\u003c\/p\u003e\n\u003cp data-path-to-node=\"164\"\u003e\u003cb data-path-to-node=\"164\" data-index-in-node=\"0\"\u003eLead → Customer\u003c\/b\u003e\u003c\/p\u003e\n\u003cp data-path-to-node=\"164\"\u003eWhen a lead is converted, a complete customer card is generated from the lead's data. The lead's status changes to \u003ccode data-path-to-node=\"164\" data-index-in-node=\"131\"\u003eCONVERTED\u003c\/code\u003e, and the associated \u003ccode data-path-to-node=\"164\" data-index-in-node=\"161\"\u003ecustomerId\u003c\/code\u003e is saved.\u003c\/p\u003e\n\u003cp data-path-to-node=\"165\"\u003e\u003cb data-path-to-node=\"165\" data-index-in-node=\"0\"\u003eCampaign ↔ Group\u003c\/b\u003e\u003c\/p\u003e\n\u003cp data-path-to-node=\"165\"\u003eA campaign targets a Group or a Segment. The target dictates who receives the campaign's communications.\u003c\/p\u003e\n\u003cp data-path-to-node=\"166\"\u003e\u003cb data-path-to-node=\"166\" data-index-in-node=\"0\"\u003eNote ↔ Employee\u003c\/b\u003e\u003c\/p\u003e\n\u003cp data-path-to-node=\"166\"\u003eNotes have an owner (\u003ccode data-path-to-node=\"166\" data-index-in-node=\"37\"\u003euserId\u003c\/code\u003e) and an optional \u003ccode data-path-to-node=\"166\" data-index-in-node=\"61\"\u003esharedWith\u003c\/code\u003e array containing the \u003ccode data-path-to-node=\"166\" data-index-in-node=\"93\"\u003euserId\u003c\/code\u003es of recipients. Private notes are visible only to the owner. Shared notes appear for all specified recipients.\u003c\/p\u003e\n\u003chr data-path-to-node=\"167\"\u003e\n\u003ch1 data-path-to-node=\"168\"\u003e⚙️ Workflows\u003c\/h1\u003e\n\u003ch3 data-path-to-node=\"169\"\u003eOnboarding a New Customer\u003c\/h3\u003e\n\u003col start=\"1\" data-path-to-node=\"170\"\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"170,0,0\"\u003eNavigate to Customers → click \"New Customer\".\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"170,1,0\"\u003eFill out: Full Name, email, phone, segment, account number.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"170,2,0\"\u003eSave the customer card.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"170,3,0\"\u003eOpen the customer's profile page.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"170,4,0\"\u003eIn the \"Products\" section, click \"Add Product\" → select from the catalog → save.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"170,5,0\"\u003eIf necessary, create a subscription and apply an offer via the Offer Builder.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"170,6,0\"\u003eAssign the customer to relevant groups.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"170,7,0\"\u003eThe creation event is automatically recorded in the audit log.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003ch3 data-path-to-node=\"171\"\u003eConverting a Lead to a Customer\u003c\/h3\u003e\n\u003col start=\"1\" data-path-to-node=\"172\"\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"172,0,0\"\u003eNavigate to Workspace → Leads.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"172,1,0\"\u003eCreate a lead with contact details and product interest.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"172,2,0\"\u003eMove the lead through the pipeline: NEW → CONTACTED → QUALIFIED.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"172,3,0\"\u003eOnce ready to convert, open the lead and click \"Convert to Customer\".\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"172,4,0\"\u003eThe system automatically generates a customer card using the lead's data.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"172,5,0\"\u003eThe lead's status updates to CONVERTED, linking to the newly created customer.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"172,6,0\"\u003eContinue onboarding: assign products, a segment, and groups on the customer page.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003ch3 data-path-to-node=\"173\"\u003eLaunching a Campaign\u003c\/h3\u003e\n\u003col start=\"1\" data-path-to-node=\"174\"\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"174,0,0\"\u003eDefine the target audience: create a segment or generate a group.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"174,1,0\"\u003eNavigate to Campaigns → \"New Campaign\".\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"174,2,0\"\u003eSpecify: title, type (SMS\/Email\/Push\/Call\/Cross-sell), target group, and dates.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"174,3,0\"\u003eSave as DRAFT.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"174,4,0\"\u003eOpen the campaign → go to the Kanban board.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"174,5,0\"\u003eCreate tasks for each operational step and assign them to employees.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"174,6,0\"\u003eMove the campaign status to ACTIVE.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"174,7,0\"\u003eEmployees complete their tasks, moving cards across the Kanban columns.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"174,8,0\"\u003eOnce all tasks are finished, change the campaign status to COMPLETED.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003ch3 data-path-to-node=\"175\"\u003eSending an Email Campaign via Template\u003c\/h3\u003e\n\u003col start=\"1\" data-path-to-node=\"176\"\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"176,0,0\"\u003eNavigate to \"Email Templates\" → create a new template or select an existing one.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"176,1,0\"\u003eSet a subject line with variables: e.g., \"Exclusive offer for \u003ccode data-path-to-node=\"176,1,0\" data-index-in-node=\"62\"\u003e{{firstName}}\u003c\/code\u003e\".\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"176,2,0\"\u003eWrite the email body with a clear call-to-action and personalization variables.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"176,3,0\"\u003eClick \"Preview\" to ensure the HTML renders correctly.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"176,4,0\"\u003eSave the template.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"176,5,0\"\u003eNavigate to Campaigns → open an active campaign.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"176,6,0\"\u003eClick \"Send Email\" on the campaign details panel.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"176,7,0\"\u003eSelect the saved template from the dropdown menu.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"176,8,0\"\u003eClick \"Send\" — the system will deliver the email to the campaign's target group.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"176,9,0\"\u003eReview the sending history from that same campaign panel.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003cp data-path-to-node=\"177\"\u003e💡 \u003cb data-path-to-node=\"177\" data-index-in-node=\"3\"\u003eTip:\u003c\/b\u003e Templates using \u003ccode data-path-to-node=\"177\" data-index-in-node=\"24\"\u003e{{firstName}}\u003c\/code\u003e personalization consistently outperform generic emails. Always utilize at least the first name variable in the subject line.\u003c\/p\u003e\n\u003ch3 data-path-to-node=\"178\"\u003eUsing Global Search\u003c\/h3\u003e\n\u003col start=\"1\" data-path-to-node=\"179\"\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"179,0,0\"\u003ePress \u003ccode data-path-to-node=\"179,0,0\" data-index-in-node=\"6\"\u003eCtrl+K\u003c\/code\u003e (or \u003ccode data-path-to-node=\"179,0,0\" data-index-in-node=\"17\"\u003eCmd+K\u003c\/code\u003e on Mac) from any screen.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"179,1,0\"\u003eType at least 2 characters.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"179,2,0\"\u003eResults appear grouped by entity type in less than 500ms.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"179,3,0\"\u003eUse the \u003ccode data-path-to-node=\"179,3,0\" data-index-in-node=\"8\"\u003e↑\u003c\/code\u003e\/\u003ccode data-path-to-node=\"179,3,0\" data-index-in-node=\"10\"\u003e↓\u003c\/code\u003e arrow keys to navigate the results.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"179,4,0\"\u003ePress \u003ccode data-path-to-node=\"179,4,0\" data-index-in-node=\"6\"\u003eEnter\u003c\/code\u003e to navigate to the selected record's page.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp data-path-to-node=\"179,5,0\"\u003ePress \u003ccode data-path-to-node=\"179,5,0\" data-index-in-node=\"6\"\u003eEsc\u003c\/code\u003e or click outside the box to close it.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003cp data-path-to-node=\"180\"\u003eGlobal search queries all 10 entity types simultaneously: Customers, Leads, Contacts, Staff, Products, Campaigns, Partners, Locations, Segments, and Groups.\u003c\/p\u003e\n\u003chr data-path-to-node=\"181\"\u003e\n\u003ch1 data-path-to-node=\"182\"\u003e❓ Frequently Asked Questions\u003c\/h1\u003e\n\u003ch3 data-path-to-node=\"183\"\u003eGeneral Questions\u003c\/h3\u003e\n\u003cp data-path-to-node=\"184\"\u003e\u003cb data-path-to-node=\"184\" data-index-in-node=\"0\"\u003eIs data saved between restarts?\u003c\/b\u003e\u003c\/p\u003e\n\u003cp data-path-to-node=\"184\"\u003eIn the demo environment, all data is stored in in-memory MongoDB databases. Data is lost upon restarting, but all seed data is automatically reloaded on boot. File metadata is saved to the disk and survives restarts. In a production deployment, a persistent MongoDB Atlas cluster or a self-hosted database is used.\u003c\/p\u003e\n\u003cp data-path-to-node=\"185\"\u003e\u003cb data-path-to-node=\"185\" data-index-in-node=\"0\"\u003eHow many users does the system support?\u003c\/b\u003e\u003c\/p\u003e\n\u003cp data-path-to-node=\"185\"\u003eThe platform has no hard limits on the number of users. The demo environment seeds 14 users. In a production environment with a persistent database, the system can support thousands of concurrent users.\u003c\/p\u003e\n\u003cp data-path-to-node=\"186\"\u003e\u003cb data-path-to-node=\"186\" data-index-in-node=\"0\"\u003eCan an employee hold multiple roles?\u003c\/b\u003e\u003c\/p\u003e\n\u003cp data-path-to-node=\"186\"\u003eYes. Role assignment is a many-to-many relationship. If necessary, a user can hold the Admin, Manager, and Retail roles all at once.\u003c\/p\u003e\n\u003cp data-path-to-node=\"187\"\u003e\u003cb data-path-to-node=\"187\" data-index-in-node=\"0\"\u003eWhat languages does the interface support?\u003c\/b\u003e\u003c\/p\u003e\n\u003cp data-path-to-node=\"187\"\u003eThe application UI supports English and Russian. Additionally, the Offer Builder supports Armenian (HY) for writing promotional copy.\u003c\/p\u003e\n\u003cp data-path-to-node=\"188\"\u003e\u003cb data-path-to-node=\"188\" data-index-in-node=\"0\"\u003eIs the audit log tamper-proof?\u003c\/b\u003e\u003c\/p\u003e\n\u003cp data-path-to-node=\"188\"\u003eAt the application level, yes: there are no API endpoints available to delete or modify audit events. In the underlying MongoDB, a database administrator with direct access could alter records, which is why direct database access must be restricted in production.\u003c\/p\u003e\n\u003cp data-path-to-node=\"189\"\u003e\u003cb data-path-to-node=\"189\" data-index-in-node=\"0\"\u003eHow does global search work?\u003c\/b\u003e\u003c\/p\u003e\n\u003cp data-path-to-node=\"189\"\u003eThe API Gateway sends 10 parallel requests to all microservices simultaneously during a search. Results are normalized into a standard format (id, title, subtitle, url) and grouped by entity type. Each service returns up to 6 matches. Under typical conditions, the entire operation completes in under 500ms.\u003c\/p\u003e\n\u003cp data-path-to-node=\"190\"\u003e\u003cb data-path-to-node=\"190\" data-index-in-node=\"0\"\u003eCan notes be shared with external users?\u003c\/b\u003e\u003c\/p\u003e\n\u003cp data-path-to-node=\"190\"\u003eNo. Notes can only be shared with employees who have active accounts in the system. The selection dropdown displays all employees retrieved from the User Service.\u003c\/p\u003e\n\u003cp data-path-to-node=\"191\"\u003e\u003cb data-path-to-node=\"191\" data-index-in-node=\"0\"\u003eWhat happens if I convert a lead that already has a customer card?\u003c\/b\u003e\u003c\/p\u003e\n\u003cp data-path-to-node=\"191\"\u003eThe conversion endpoint creates a new customer card without running deduplication checks. It is highly recommended to search the lead's email against existing customers prior to conversion to prevent duplicate entries.\u003c\/p\u003e\n\u003cp data-path-to-node=\"192\"\u003e\u003cb data-path-to-node=\"192\" data-index-in-node=\"0\"\u003eHow are offers applied to subscriptions?\u003c\/b\u003e\u003c\/p\u003e\n\u003cp data-path-to-node=\"192\"\u003eFirst, create an offer in the Offer Builder. Next, open a customer's subscription record and select the offer from the dropdown menu. The offer details (discount, validity period) are then attached to the subscription record.\u003c\/p\u003e\n\u003cp data-path-to-node=\"193\"\u003e\u003cb data-path-to-node=\"193\" data-index-in-node=\"0\"\u003eCan data be exported?\u003c\/b\u003e\u003c\/p\u003e\n\u003cp data-path-to-node=\"193\"\u003eYes. The Import \/ Export page (located under CRM) supports CSV imports and exports for customers and partners. For customers: export all, by segment, by group, or export metadata. For partners: export all, by type, or by status. Switch between entities using the buttons at the top of the page.\u003c\/p\u003e\n\u003cp data-path-to-node=\"194\"\u003e\u003cb data-path-to-node=\"194\" data-index-in-node=\"0\"\u003eHow do I change the interface language?\u003c\/b\u003e\u003c\/p\u003e\n\u003cp data-path-to-node=\"194\"\u003eNavigate to Settings (the gear icon in the sidebar) and select EN (English) or RU (Russian) under the \"Language\" section. The change is instantaneous—all labels, buttons, menus, and even this Documentation page will switch without requiring a page reload.\u003c\/p\u003e\n\u003cp data-path-to-node=\"195\"\u003e\u003cb data-path-to-node=\"195\" data-index-in-node=\"0\"\u003eHow do I switch between the light and dark themes?\u003c\/b\u003e\u003c\/p\u003e\n\u003cp data-path-to-node=\"195\"\u003eUse the theme toggle in Settings or at the bottom of the sidebar. Your preference is saved in your browser and persists across sessions. Theme settings are independent for each user.\u003c\/p\u003e\n\u003cp data-path-to-node=\"196\"\u003e\u003cb data-path-to-node=\"196\" data-index-in-node=\"0\"\u003eCan email templates be reused across multiple campaigns?\u003c\/b\u003e\u003c\/p\u003e\n\u003cp data-path-to-node=\"196\"\u003eYes. Templates are saved centrally and can be accessed from any campaign via the \"Send Email\" panel. A single template can be reused for an unlimited number of mailings. Editing a template after sending will not affect emails that have already been dispatched.\u003c\/p\u003e\n\u003cp data-path-to-node=\"197\"\u003e\u003cb data-path-to-node=\"197\" data-index-in-node=\"0\"\u003eWhat is the difference between Segments and Groups?\u003c\/b\u003e\u003c\/p\u003e\n\u003cp data-path-to-node=\"197\"\u003eA Segment is a customer's singular tag (VIP, PLUS, STANDARD, BASIC): every customer belongs to exactly one segment. A Group is a named collection of customers that can be curated manually, by segment, by partner type, or by loyalty program. A customer can belong to numerous groups simultaneously. Campaigns utilize Groups as their target audiences.\u003c\/p\u003e\n\u003cp data-path-to-node=\"198\"\u003e\u003cb data-path-to-node=\"198\" data-index-in-node=\"0\"\u003eHow do I update my profile or change my password?\u003c\/b\u003e\u003c\/p\u003e\n\u003cp data-path-to-node=\"198\"\u003eClick your name or avatar in the top right corner of the sidebar to access your profile page. From there, you can update your name, phone number, job title, and avatar. Scroll down to the \"Security\" section to change your password. Changes are saved immediately.\u003c\/p\u003e\n\u003cp data-path-to-node=\"199\"\u003e\u003cb data-path-to-node=\"199\" data-index-in-node=\"0\"\u003eWhat happens to notes when an employee is deleted?\u003c\/b\u003e\u003c\/p\u003e\n\u003cp data-path-to-node=\"199\"\u003eNotes are tied to the \u003ccode data-path-to-node=\"199\" data-index-in-node=\"73\"\u003euserId\u003c\/code\u003e. If an account is deleted, private notes remain in the database but become inaccessible via the UI. Shared notes created by the deleted employee will continue to be visible to the recipients they were shared with.\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003eNOTE: the price is for the full ownership for the product with all rights \u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003chr data-path-to-node=\"200\"\u003e\n\u003cp data-path-to-node=\"201\"\u003e\u003ci data-path-to-node=\"201\" data-index-in-node=\"0\"\u003eCustomer 360 Banking CEP · 2026\u003c\/i\u003e\u003c\/p\u003e","brand":"DIstrict-13","offers":[{"title":"Default Title","offer_id":48235871109368,"sku":null,"price":3800000.0,"currency_code":"AMD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0822\/0442\/6488\/files\/Screenshotfrom2026-04-1314-32-11.png?v=1776147190","url":"https:\/\/district-13.shop\/products\/customer-360-banking-cep-platform","provider":"DIstrict-13","version":"1.0","type":"link"}