Source snapshot: 13 October 2026. These pages describe the current implementation, including unfinished controls. See coverage and review notes.
- English
- മലയാളം
Community reports
Host:admin.<ROOT_DOMAIN> · Route: /[tenant]/reportsPurpose and access
Choose demographic and community reports from the report hub.You need an account session and a resolved membership context in the selected Mahallu (including the API’s current platform elevation path). The API independently checks the requested operation’s permissions and feature availability.Screen layout
The page displays report links/cards rather than a record-entry form. It links to blood-group, expatriate, and Yatheem reports.Fields and displayed information
This screen has no editable fields or filters in its rendered components.Actions
Navigation and row interactions are described in the sequence below.Interaction sequence
Choose a report → inspect its counts and table → filter the loaded records → return to the report hub to choose another view.States and rules
This hub is separate from Finance Reports and Accountant Reports. The destination routes perform their own member-access checks.Implementation references
Paths below are relative to the application repository. This is source-reviewed behavior, not a recorded browser test.apps/web/src/app/sites/admin/[tenant]/reports/page.tsx
apps/web/src/lib/session.ts, apps/web/src/lib/server-api.ts, apps/web/src/lib/tenants.ts, apps/web/src/lib/reports-summary.tsBlood group report
Host:admin.<ROOT_DOMAIN> · Route: /[tenant]/reports/blood-groupsPurpose and access
Inspect the blood group report using member data already recorded in the directory.You need an account session and a resolved membership context in the selected Mahallu (including the API’s current platform elevation path). The API independently checks the requested operation’s permissions and feature availability.Screen layout
The view combines summary counts, relevant grouping controls, and a member table. Name/phone search narrows the loaded list; columns differ by report.Fields and displayed information
Displayed table columns: Blood group, Phone.Fields and filters: Blood group report
Displayed table columns: Member.
Fields and filters: Member report table
Actions
Navigation and row interactions are described in the sequence below.Interaction sequence
Open the report → select available group filters → search a name or phone → inspect family/contact and report-specific values. Update source information through Members rather than entering records here.States and rules
Denied members.view produces a permission panel. No records and No matches are separate states. These views operate on the route’s loaded subset; the UI does not provide a new record-creation workflow.Implementation references
Paths below are relative to the application repository. This is source-reviewed behavior, not a recorded browser test.apps/web/src/app/sites/admin/[tenant]/reports/blood-groups/page.tsxapps/web/src/features/tenants/blood-group-report.tsxapps/web/src/features/tenants/member-report-table.tsx
apps/web/src/lib/session.ts, apps/web/src/lib/server-api.ts, apps/web/src/lib/tenants.ts, apps/web/src/lib/members.tsExpatriate register
Host:admin.<ROOT_DOMAIN> · Route: /[tenant]/reports/expatriatePurpose and access
Inspect the expatriate register using member data already recorded in the directory.You need an account session and a resolved membership context in the selected Mahallu (including the API’s current platform elevation path). The API independently checks the requested operation’s permissions and feature availability.Screen layout
The view combines summary counts, relevant grouping controls, and a member table. Name/phone search narrows the loaded list; columns differ by report.Fields and displayed information
Displayed table columns: Country, Occupation abroad, Contact abroad.Displayed table columns: Member.Fields and filters: Member report table
Actions
Navigation and row interactions are described in the sequence below.Interaction sequence
Open the report → select available group filters → search a name or phone → inspect family/contact and report-specific values. Update source information through Members rather than entering records here.States and rules
Denied members.view produces a permission panel. No records and No matches are separate states. These views operate on the route’s loaded subset; the UI does not provide a new record-creation workflow.Implementation references
Paths below are relative to the application repository. This is source-reviewed behavior, not a recorded browser test.apps/web/src/app/sites/admin/[tenant]/reports/expatriate/page.tsxapps/web/src/features/tenants/expatriate-report.tsxapps/web/src/features/tenants/member-report-table.tsx
apps/web/src/lib/session.ts, apps/web/src/lib/server-api.ts, apps/web/src/lib/tenants.ts, apps/web/src/lib/members.tsYatheem register
Host:admin.<ROOT_DOMAIN> · Route: /[tenant]/reports/yatheemPurpose and access
Inspect the yatheem register using member data already recorded in the directory.You need an account session and a resolved membership context in the selected Mahallu (including the API’s current platform elevation path). The API independently checks the requested operation’s permissions and feature availability.Screen layout
The view combines summary counts, relevant grouping controls, and a member table. Name/phone search narrows the loaded list; columns differ by report.Fields and displayed information
Displayed table columns: Guardian, Guardian phone, Date of birth.Displayed table columns: Member.Fields and filters: Member report table
Actions
Navigation and row interactions are described in the sequence below.Interaction sequence
Open the report → select available group filters → search a name or phone → inspect family/contact and report-specific values. Update source information through Members rather than entering records here.States and rules
Denied members.view produces a permission panel. No records and No matches are separate states. These views operate on the route’s loaded subset; the UI does not provide a new record-creation workflow.Implementation references
Paths below are relative to the application repository. This is source-reviewed behavior, not a recorded browser test.apps/web/src/app/sites/admin/[tenant]/reports/yatheem/page.tsxapps/web/src/features/tenants/yatheem-report.tsxapps/web/src/features/tenants/member-report-table.tsx
apps/web/src/lib/session.ts, apps/web/src/lib/server-api.ts, apps/web/src/lib/tenants.ts, apps/web/src/lib/members.tsRelevant controller permission keys: education.view, members.view, members.create, members.update, members.delete, health.view, health.manage. Keys are operation-specific; the current guard grants OWNER/ADMIN and its platform-elevation context an operational bypass. A visible control still does not establish authorization.API behavior references
apps/api/src/members/education-employment.controller.tsapps/api/src/members/health-support.controller.tsapps/api/src/members/members.controller.ts