> ## Documentation Index
> Fetch the complete documentation index at: https://mahalldocs.eucodes.in/llms.txt
> Use this file to discover all available pages before exploring further.

# Division profile

> Current screen specification: Division profile. English and Malayalam guidance for the development team.

<Note>Source snapshot: 13 October 2026. These pages describe the current implementation, including unfinished controls. See [coverage and review notes](/reference/coverage).</Note>

<Tabs>
  <Tab title="English">
    ## Division profile

    Host: `admin.<ROOT_DOMAIN>` · Route: `/[tenant]/divisions/[divisionId]`

    ### Purpose and access

    Inspect the households and residents of one subdivision.

    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 record screen contains division information, families/members roster tabs, search, Add family, and Assign family controls.

    ### Fields and displayed information

    #### Fields and filters: Division detail view

    | Field / control | Reference | Input | Required marker | Choices / hints / initial values |
    | - | - | - | - | - |
    | Search query | `searchQuery` | text | Not marked | — |

    #### Fields and filters: Add family dialog

    | Field / control | Reference | Input | Required marker | Choices / hints / initial values |
    | - | - | - | - | - |
    | Ward select | `ward-select` | select | Not marked | -- Choose  / Area -- |
    | Municipal House Number | `municipal-house-number` | text | Not marked | e.g. 12/450-A |
    | Mahall house number | `mahall-house-number` | text | Not marked | — |
    | House Name | `house-name` | text | Not marked | e.g. Baitul Noor, Al-Falah |
    | Place / Locality | `place` | text | Not marked | e.g. Kalpetta |
    | Post Office | `post` | text | Not marked | e.g. Kalpetta North |
    | State | `state` | searchable select | Not marked | Select State; Initial: Kerala |
    | District | `district` | searchable select | Not marked | Select District |
    | PIN Code | `pin` | text | Not marked | e.g. 673121 |
    | Local Body Type | `local-body-type` | select | Not marked | Panchayath, Municipality, Corporation; Initial: Grama Panchayath |
    | Local Body Name | `local-body-name` | text | Not marked | Name |
    | Emergency Contact Person | `family-emer-name` | text | Not marked | e.g. Relative or Neighbor |
    | Emergency Phone | `family-emer-phone` | text | Not marked | +91 98765 43210 |
    | Requires community support | `requiresCommunitySupport` | checkbox | Not marked | — |
    | Welfare Category | `support-category` | select | Not marked | Select Category, Medical assistance, Regular medicine aid, Financial assistance, Home visit / Elderly care, Mobility assistance, Counselling / Guidance, Children education aid, Other welfare aid |
    | Support Status | `support-status` | select | Not marked | Active Support, Monitoring / Periodic, Resolved / Discontinued; Initial: ACTIVE |
    | Welfare Notes / Case Summary | `support-notes` | textarea | Not marked | Details regarding family situation, required aid, or monthly allocation... |
    | Househead / Applicant Name | `applicant-name` | text | Yes | Full legal name |
    | Father's Name | `father-name` | text | Not marked | Father's full name |
    | Date of Birth | `applicant-dob` | date | Not marked | — |
    | Gender | `applicant-gender` | select | Not marked | Male, Female, Other; Initial: MALE |
    | Blood Group | `applicant-blood` | select | Not marked | Select Blood Group |
    | Family category | `family-category` | select | Not marked | -- Select  -- |
    | Mobile Phone | `applicant-phone` | text | Yes | +91 98765 43210 |
    | Email Address | `applicant-email` | email | Not marked | [name@example.com](mailto:name@example.com) |
    | Govt ID Type | `applicant-id-type` | select | Not marked | Aadhaar Card, Voter ID, Passport, Driving License, Ration Card; Initial: Aadhaar Card |
    | ID Number | `applicant-id-num` | text | Not marked | Enter ID / card number |
    | Current Course / Class / Standard | `applicant-student-course` | text | Not marked | e.g. Plus Two Science, Class 10, B.Com |
    | Current Institution / School / College | `applicant-student-inst` | text | Not marked | e.g. Farook College, Govt HSS |
    | Employment Status | `applicant-emp-status` | select | Not marked | Select employment status |
    | Job Title / Designation | `applicant-job-title` | text | Not marked | e.g. Accountant, Driver, Electrician, Sales Executive |
    | Employer / Company / Business | `applicant-employer` | text | Not marked | e.g. Lulu Hypermarket, Self - Freelance |
    | Applicant is job seeker | `applicantIsJobSeeker` | checkbox | Not marked | — |
    | New applicant skill | `newApplicantSkill` | text | Not marked | e.g. Driving, Accounting, Plumbing, Teaching, Coding, Electrical |
    | Highest Education Level | `applicant-edu-level` | select | Not marked | Select highest education |
    | Primary Qualification / Major | `applicant-edu-details` | text | Not marked | e.g. B.Com, Plus Two Science, Alimiyya |
    | Level | `app-new-edu-level` | select | Not marked | Initial: SECONDARY\_SSLC |
    | Degree / Course | `app-new-edu-degree` | text | Not marked | e.g. SSLC, Plus Two, B.Com |
    | Institution / Board | `app-new-edu-inst` | text | Not marked | e.g. Govt HSS, Calicut Univ |
    | Year | `app-new-edu-year` | text | Not marked | e.g. 2021 |
    | Applicant has disability | `applicantHasDisability` | checkbox | Not marked | — |
    | Disability Category | `applicantDisabilityType` | select | Not marked | Select Category |
    | Disability Percentage (%) | `applicantDisabilityPercentage` | number | Not marked | Percentage %; min 1; max 100 |
    | Applicant disability certificate | `applicantDisabilityCertificate` | checkbox | Not marked | — |
    | Applicant disability certificate no | `applicantDisabilityCertificateNo` | text | Not marked | Certificate / UDID Number |
    | Applicant has chronic illness | `applicantHasChronicIllness` | checkbox | Not marked | — |
    | Specific Diagnosis / Details | `applicantChronicDetails` | text | Not marked | Condition notes or specific diagnosis |
    | Applicant treatment required | `applicantTreatmentRequired` | checkbox | Not marked | — |
    | Applicant regular medication required | `applicantRegularMedicationRequired` | checkbox | Not marked | — |
    | Applicant requires assistance | `applicantRequiresAssistance` | checkbox | Not marked | — |
    | Primary Caregiver Name | `applicantPrimaryCaregiverName` | text | Not marked | Name of person assisting |
    | Caregiver Relationship | `applicantCaregiverRelationship` | text | Not marked | e.g. Spouse, Son, Daughter, Caretaker |
    | Emergency Contact Person | `applicantEmergencyContactName` | text | Not marked | Emergency contact name |
    | Emergency Phone Number | `applicantEmergencyContactPhone` | text | Not marked | e.g. +91 98765 43210 |
    | Applicant requires mental health support | `applicantRequiresMentalHealthSupport` | checkbox | Not marked | — |
    | Support Type Required | `applicantMentalHealthSupportType` | select | Not marked | Select Support Type, Medical / Psychiatric Treatment, Professional Counselling, Family Mediation & Support, Mahallu Community Care, Other |
    | Applicant requires community support | `applicantRequiresCommunitySupport` | checkbox | Not marked | — |
    | Support Category | `applicantSupportCategory` | select | Not marked | Select Welfare Category |
    | Support Status | `applicantSupportStatus` | select | Not marked | Active (Needs Continuous Care), Monitoring (Periodic Follow-up), Resolved / Completed; Initial: ACTIVE |
    | Welfare Committee Notes | `applicantSupportNotes` | textarea | Not marked | Confidential notes for the Mahallu welfare committee / relief desk... |
    | Member Name | `m-name-${m.id}` | text | Yes | Full name |
    | Relation to Head | `m-rel-${m.id}` | select | Not marked | Spouse, Son, Daughter, Parent, Sibling, Other |
    | Gender | `m-gen-${m.id}` | select | Not marked | Male, Female, Other |
    | Date of Birth | `m-dob-${m.id}` | date | Not marked | — |
    | Phone Number | `m-phone-${m.id}` | text | Not marked | Mobile phone |
    | Govt ID Type | `m-id-type-${m.id}` | select | Not marked | Aadhaar Card, Voter ID, Passport, Driving License, Ration Card |
    | ID Number | `m-id-num-${m.id}` | text | Not marked | Enter ID number |
    | Current Course / Class / Standard | `m-stu-course-${m.id}` | text | Not marked | e.g. Plus Two Science, Class 10, B.Com |
    | Current Institution / School / College | `m-stu-inst-${m.id}` | text | Not marked | e.g. Farook College, Govt HSS |
    | Employment Status | `m-emp-${m.id}` | select | Not marked | Select status |
    | Job Title / Role | `m-job-${m.id}` | text | Not marked | e.g. Accountant, Driver, Electrician |
    | Employer / Business | `m-biz-${m.id}` | text | Not marked | e.g. Lulu Hypermarket, Freelance |
    | M.new skill input | `m.newSkillInput` | text | Not marked | Type skill (e.g. Electrician, Driving, Plumbing) & click Add |
    | Highest Education Level | `m-edu-${m.id}` | select | Not marked | Select education level |
    | M.new edu level | `m.newEduLevel` | select | Not marked | — |
    | M.new edu degree | `m.newEduDegree` | text | Not marked | Degree / Course |
    | M.new edu institution | `m.newEduInstitution` | text | Not marked | Institution / Board |
    | M.new edu year | `m.newEduYear` | text | Not marked | Year |
    | M.has disability | `m.hasDisability` | checkbox | Not marked | — |
    | M.has chronic illness | `m.hasChronicIllness` | checkbox | Not marked | — |
    | M.regular medication required | `m.regularMedicationRequired` | checkbox | Not marked | — |
    | M.is job seeker | `m.isJobSeeker` | checkbox | Not marked | — |

    #### Fields and filters: Assign family dialog

    | Field / control | Reference | Input | Required marker | Choices / hints / initial values |
    | - | - | - | - | - |
    | Assign house num | `assign-house-num` | text | Not marked | — |

    ### Actions

    | Control | Result | Component |
    | - | - | - |
    | Manage Structure | No direct click handler; may be a menu trigger or linked control. See the sequence below. | `division-detail-view.tsx` |
    | Add Family to this | No direct click handler; may be a menu trigger or linked control. See the sequence below. | `division-detail-view.tsx` |
    | Register New Family | Opens the `add family` view. | `division-detail-view.tsx` |
    | Select Existing Family | Opens the `assign family` view. | `division-detail-view.tsx` |
    | Families ( ) | Changes the selected view, filter, or page in local state. | `division-detail-view.tsx` |
    | Members ( ) | Changes the selected view, filter, or page in local state. | `division-detail-view.tsx` |
    | Open Record | No direct click handler; may be a menu trigger or linked control. See the sequence below. | `division-detail-view.tsx` |
    | 1. Location & Housing | Changes the selected view, filter, or page in local state. | `add-family-dialog.tsx` |
    | 2. Househead (Applicant) | Changes the selected view, filter, or page in local state. | `add-family-dialog.tsx` |
    | 3. Family Members | Changes the selected view, filter, or page in local state. | `add-family-dialog.tsx` |
    | Student | Updates local UI state; persistence is described separately below. | `add-family-dialog.tsx` |
    | Worker / Adult | Updates local UI state; persistence is described separately below. | `add-family-dialog.tsx` |
    | Add | Invokes the associated handler; see the sequence below. | `add-family-dialog.tsx` |
    | + | Invokes the associated handler; see the sequence below. | `add-family-dialog.tsx` |
    | × | Invokes the associated handler; see the sequence below. | `add-family-dialog.tsx` |
    | Add | Invokes the associated handler; see the sequence below. | `add-family-dialog.tsx` |
    | × | Invokes the associated handler; see the sequence below. | `add-family-dialog.tsx` |
    | No Known Condition Healthy / No chronic illness | Updates local UI state; persistence is described separately below. | `add-family-dialog.tsx` |
    | Has Condition Chronic illness, disability, or care | Updates local UI state; persistence is described separately below. | `add-family-dialog.tsx` |
    | Not Disclosed Prefer not to disclose | Updates local UI state; persistence is described separately below. | `add-family-dialog.tsx` |
    | Add Member | Invokes the associated handler; see the sequence below. | `add-family-dialog.tsx` |
    | Remove | Invokes the associated handler; see the sequence below. | `add-family-dialog.tsx` |
    | Student | Updates local UI state; persistence is described separately below. | `add-family-dialog.tsx` |
    | Worker / Adult | Updates local UI state; persistence is described separately below. | `add-family-dialog.tsx` |
    | Add | Invokes the associated handler; see the sequence below. | `add-family-dialog.tsx` |
    | + | Invokes the associated handler; see the sequence below. | `add-family-dialog.tsx` |
    | × | Invokes the associated handler; see the sequence below. | `add-family-dialog.tsx` |
    | Add | Invokes the associated handler; see the sequence below. | `add-family-dialog.tsx` |
    | × | Invokes the associated handler; see the sequence below. | `add-family-dialog.tsx` |
    | Cancel | Invokes the associated handler; see the sequence below. | `add-family-dialog.tsx` |
    | ← Back: Location | Changes the selected view, filter, or page in local state. | `add-family-dialog.tsx` |
    | ← Back: Applicant | Changes the selected view, filter, or page in local state. | `add-family-dialog.tsx` |
    | Next: Applicant Details → | Changes the selected view, filter, or page in local state. | `add-family-dialog.tsx` |
    | Next: Family Members → | Changes the selected view, filter, or page in local state. | `add-family-dialog.tsx` |
    | Save & Register Family | Submits the associated API change; follow the sequence and failure rules below. | `add-family-dialog.tsx` |
    | Assign to | Submits the associated API change; follow the sequence and failure rules below. | `assign-family-dialog.tsx` |

    #### Linked navigation

    | Link | Target in source |
    | - | - |
    | s | `/${slug}/divisions` |
    | Manage Structure | `/${slug}/settings/structure` |
    | Open Record | `/${slug}/families/${family.id}` |
    | Open Record | `/${slug}/members/${member.id}` |

    ### Interaction sequence

    Open a division → switch between families and members → search the active roster. Add family starts intake in this division; Assign family links an existing household through its assignment dialog.

    ### States and rules

    The detail route resolves its division and associated data within the tenant. Missing records use notFound. Changing the roster tab changes the search context; it does not alter membership.

    Explicit validation messages in the rendered forms:

    * Please provide the Applicant / Househead Name.
    * Please provide the primary contact phone number.
    * Failed to load existing families.

    The rendered action controls bind loading indicators to pending state. Failed API saves keep their documented error/notification path; a loading indicator alone does not establish persistence.

    ### 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]/divisions/[divisionId]/page.tsx`
    * `apps/web/src/features/tenants/division-detail-view.tsx`
    * `apps/web/src/features/tenants/add-family-dialog.tsx`
    * `apps/web/src/features/tenants/assign-family-dialog.tsx`

    Data and access helpers: `apps/web/src/lib/structure.ts`, `apps/web/src/lib/server-api.ts`, `apps/web/src/lib/business-resources.ts`, `apps/web/src/lib/houses.ts`, `apps/web/src/lib/members.ts`, `apps/web/src/lib/api-client.ts`

    Relevant controller permission keys: `structure.view`, `structure.update`, `families.view`, `families.create`, `families.update`, `families.delete`. 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/structure/structure.controller.ts`
    * `apps/api/src/families/families.controller.ts`
  </Tab>

  <Tab title="മലയാളം">
    ## Division profile

    Host: `admin.<ROOT_DOMAIN>` · Route: `/[tenant]/divisions/[divisionId]`

    ### ഉദ്ദേശ്യവും പ്രവേശനവും

    ഒരു പ്രദേശത്തിലെ കുടുംബങ്ങളെയും താമസക്കാരെയും പരിശോധിക്കുക.

    Account sessionഉം തിരഞ്ഞെടുത്ത മഹല്ലിൽ resolved membership contextഉം വേണം; APIയിലെ നിലവിലെ platform elevation pathഉം ഇതിൽപ്പെടും. ഓരോ പ്രവർത്തനത്തിന്റെയും permissions/features API പ്രത്യേകം പരിശോധിക്കുന്നു.

    ### സ്ക്രീൻ ക്രമം

    പ്രദേശവിവരങ്ങൾ, families/members ടാബുകൾ, തിരച്ചിൽ, Add family, Assign family എന്നിവ കാണിക്കുന്നു.

    ### ഫീൽഡുകളും പ്രദർശിപ്പിക്കുന്ന വിവരങ്ങളും

    #### ഫീൽഡുകളും ഫിൽട്ടറുകളും: Division detail view

    | ഫീൽഡ് / നിയന്ത്രണം | റഫറൻസ് | ഇൻപുട്ട് | നിർബന്ധ ചിഹ്നം | തിരഞ്ഞെടുപ്പുകൾ / സൂചനകൾ / ആരംഭ മൂല്യങ്ങൾ |
    | - | - | - | - | - |
    | Search query | `searchQuery` | text | ചിഹ്നമില്ല | — |

    #### ഫീൽഡുകളും ഫിൽട്ടറുകളും: Add family dialog

    | ഫീൽഡ് / നിയന്ത്രണം | റഫറൻസ് | ഇൻപുട്ട് | നിർബന്ധ ചിഹ്നം | തിരഞ്ഞെടുപ്പുകൾ / സൂചനകൾ / ആരംഭ മൂല്യങ്ങൾ |
    | - | - | - | - | - |
    | Ward select | `ward-select` | select | ചിഹ്നമില്ല | -- Choose  / Area -- |
    | Municipal House Number | `municipal-house-number` | text | ചിഹ്നമില്ല | e.g. 12/450-A |
    | Mahall house number | `mahall-house-number` | text | ചിഹ്നമില്ല | — |
    | House Name | `house-name` | text | ചിഹ്നമില്ല | e.g. Baitul Noor, Al-Falah |
    | Place / Locality | `place` | text | ചിഹ്നമില്ല | e.g. Kalpetta |
    | Post Office | `post` | text | ചിഹ്നമില്ല | e.g. Kalpetta North |
    | State | `state` | searchable select | ചിഹ്നമില്ല | Select State; ആരംഭം: Kerala |
    | District | `district` | searchable select | ചിഹ്നമില്ല | Select District |
    | PIN Code | `pin` | text | ചിഹ്നമില്ല | e.g. 673121 |
    | Local Body Type | `local-body-type` | select | ചിഹ്നമില്ല | Panchayath, Municipality, Corporation; ആരംഭം: Grama Panchayath |
    | Local Body Name | `local-body-name` | text | ചിഹ്നമില്ല | Name |
    | Emergency Contact Person | `family-emer-name` | text | ചിഹ്നമില്ല | e.g. Relative or Neighbor |
    | Emergency Phone | `family-emer-phone` | text | ചിഹ്നമില്ല | +91 98765 43210 |
    | Requires community support | `requiresCommunitySupport` | checkbox | ചിഹ്നമില്ല | — |
    | Welfare Category | `support-category` | select | ചിഹ്നമില്ല | Select Category, Medical assistance, Regular medicine aid, Financial assistance, Home visit / Elderly care, Mobility assistance, Counselling / Guidance, Children education aid, Other welfare aid |
    | Support Status | `support-status` | select | ചിഹ്നമില്ല | Active Support, Monitoring / Periodic, Resolved / Discontinued; ആരംഭം: ACTIVE |
    | Welfare Notes / Case Summary | `support-notes` | textarea | ചിഹ്നമില്ല | Details regarding family situation, required aid, or monthly allocation... |
    | Househead / Applicant Name | `applicant-name` | text | ഉണ്ട് | Full legal name |
    | Father's Name | `father-name` | text | ചിഹ്നമില്ല | Father's full name |
    | Date of Birth | `applicant-dob` | date | ചിഹ്നമില്ല | — |
    | Gender | `applicant-gender` | select | ചിഹ്നമില്ല | Male, Female, Other; ആരംഭം: MALE |
    | Blood Group | `applicant-blood` | select | ചിഹ്നമില്ല | Select Blood Group |
    | Family category | `family-category` | select | ചിഹ്നമില്ല | -- Select  -- |
    | Mobile Phone | `applicant-phone` | text | ഉണ്ട് | +91 98765 43210 |
    | Email Address | `applicant-email` | email | ചിഹ്നമില്ല | [name@example.com](mailto:name@example.com) |
    | Govt ID Type | `applicant-id-type` | select | ചിഹ്നമില്ല | Aadhaar Card, Voter ID, Passport, Driving License, Ration Card; ആരംഭം: Aadhaar Card |
    | ID Number | `applicant-id-num` | text | ചിഹ്നമില്ല | Enter ID / card number |
    | Current Course / Class / Standard | `applicant-student-course` | text | ചിഹ്നമില്ല | e.g. Plus Two Science, Class 10, B.Com |
    | Current Institution / School / College | `applicant-student-inst` | text | ചിഹ്നമില്ല | e.g. Farook College, Govt HSS |
    | Employment Status | `applicant-emp-status` | select | ചിഹ്നമില്ല | Select employment status |
    | Job Title / Designation | `applicant-job-title` | text | ചിഹ്നമില്ല | e.g. Accountant, Driver, Electrician, Sales Executive |
    | Employer / Company / Business | `applicant-employer` | text | ചിഹ്നമില്ല | e.g. Lulu Hypermarket, Self - Freelance |
    | Applicant is job seeker | `applicantIsJobSeeker` | checkbox | ചിഹ്നമില്ല | — |
    | New applicant skill | `newApplicantSkill` | text | ചിഹ്നമില്ല | e.g. Driving, Accounting, Plumbing, Teaching, Coding, Electrical |
    | Highest Education Level | `applicant-edu-level` | select | ചിഹ്നമില്ല | Select highest education |
    | Primary Qualification / Major | `applicant-edu-details` | text | ചിഹ്നമില്ല | e.g. B.Com, Plus Two Science, Alimiyya |
    | Level | `app-new-edu-level` | select | ചിഹ്നമില്ല | ആരംഭം: SECONDARY\_SSLC |
    | Degree / Course | `app-new-edu-degree` | text | ചിഹ്നമില്ല | e.g. SSLC, Plus Two, B.Com |
    | Institution / Board | `app-new-edu-inst` | text | ചിഹ്നമില്ല | e.g. Govt HSS, Calicut Univ |
    | Year | `app-new-edu-year` | text | ചിഹ്നമില്ല | e.g. 2021 |
    | Applicant has disability | `applicantHasDisability` | checkbox | ചിഹ്നമില്ല | — |
    | Disability Category | `applicantDisabilityType` | select | ചിഹ്നമില്ല | Select Category |
    | Disability Percentage (%) | `applicantDisabilityPercentage` | number | ചിഹ്നമില്ല | Percentage %; min 1; max 100 |
    | Applicant disability certificate | `applicantDisabilityCertificate` | checkbox | ചിഹ്നമില്ല | — |
    | Applicant disability certificate no | `applicantDisabilityCertificateNo` | text | ചിഹ്നമില്ല | Certificate / UDID Number |
    | Applicant has chronic illness | `applicantHasChronicIllness` | checkbox | ചിഹ്നമില്ല | — |
    | Specific Diagnosis / Details | `applicantChronicDetails` | text | ചിഹ്നമില്ല | Condition notes or specific diagnosis |
    | Applicant treatment required | `applicantTreatmentRequired` | checkbox | ചിഹ്നമില്ല | — |
    | Applicant regular medication required | `applicantRegularMedicationRequired` | checkbox | ചിഹ്നമില്ല | — |
    | Applicant requires assistance | `applicantRequiresAssistance` | checkbox | ചിഹ്നമില്ല | — |
    | Primary Caregiver Name | `applicantPrimaryCaregiverName` | text | ചിഹ്നമില്ല | Name of person assisting |
    | Caregiver Relationship | `applicantCaregiverRelationship` | text | ചിഹ്നമില്ല | e.g. Spouse, Son, Daughter, Caretaker |
    | Emergency Contact Person | `applicantEmergencyContactName` | text | ചിഹ്നമില്ല | Emergency contact name |
    | Emergency Phone Number | `applicantEmergencyContactPhone` | text | ചിഹ്നമില്ല | e.g. +91 98765 43210 |
    | Applicant requires mental health support | `applicantRequiresMentalHealthSupport` | checkbox | ചിഹ്നമില്ല | — |
    | Support Type Required | `applicantMentalHealthSupportType` | select | ചിഹ്നമില്ല | Select Support Type, Medical / Psychiatric Treatment, Professional Counselling, Family Mediation & Support, Mahallu Community Care, Other |
    | Applicant requires community support | `applicantRequiresCommunitySupport` | checkbox | ചിഹ്നമില്ല | — |
    | Support Category | `applicantSupportCategory` | select | ചിഹ്നമില്ല | Select Welfare Category |
    | Support Status | `applicantSupportStatus` | select | ചിഹ്നമില്ല | Active (Needs Continuous Care), Monitoring (Periodic Follow-up), Resolved / Completed; ആരംഭം: ACTIVE |
    | Welfare Committee Notes | `applicantSupportNotes` | textarea | ചിഹ്നമില്ല | Confidential notes for the Mahallu welfare committee / relief desk... |
    | Member Name | `m-name-${m.id}` | text | ഉണ്ട് | Full name |
    | Relation to Head | `m-rel-${m.id}` | select | ചിഹ്നമില്ല | Spouse, Son, Daughter, Parent, Sibling, Other |
    | Gender | `m-gen-${m.id}` | select | ചിഹ്നമില്ല | Male, Female, Other |
    | Date of Birth | `m-dob-${m.id}` | date | ചിഹ്നമില്ല | — |
    | Phone Number | `m-phone-${m.id}` | text | ചിഹ്നമില്ല | Mobile phone |
    | Govt ID Type | `m-id-type-${m.id}` | select | ചിഹ്നമില്ല | Aadhaar Card, Voter ID, Passport, Driving License, Ration Card |
    | ID Number | `m-id-num-${m.id}` | text | ചിഹ്നമില്ല | Enter ID number |
    | Current Course / Class / Standard | `m-stu-course-${m.id}` | text | ചിഹ്നമില്ല | e.g. Plus Two Science, Class 10, B.Com |
    | Current Institution / School / College | `m-stu-inst-${m.id}` | text | ചിഹ്നമില്ല | e.g. Farook College, Govt HSS |
    | Employment Status | `m-emp-${m.id}` | select | ചിഹ്നമില്ല | Select status |
    | Job Title / Role | `m-job-${m.id}` | text | ചിഹ്നമില്ല | e.g. Accountant, Driver, Electrician |
    | Employer / Business | `m-biz-${m.id}` | text | ചിഹ്നമില്ല | e.g. Lulu Hypermarket, Freelance |
    | M.new skill input | `m.newSkillInput` | text | ചിഹ്നമില്ല | Type skill (e.g. Electrician, Driving, Plumbing) & click Add |
    | Highest Education Level | `m-edu-${m.id}` | select | ചിഹ്നമില്ല | Select education level |
    | M.new edu level | `m.newEduLevel` | select | ചിഹ്നമില്ല | — |
    | M.new edu degree | `m.newEduDegree` | text | ചിഹ്നമില്ല | Degree / Course |
    | M.new edu institution | `m.newEduInstitution` | text | ചിഹ്നമില്ല | Institution / Board |
    | M.new edu year | `m.newEduYear` | text | ചിഹ്നമില്ല | Year |
    | M.has disability | `m.hasDisability` | checkbox | ചിഹ്നമില്ല | — |
    | M.has chronic illness | `m.hasChronicIllness` | checkbox | ചിഹ്നമില്ല | — |
    | M.regular medication required | `m.regularMedicationRequired` | checkbox | ചിഹ്നമില്ല | — |
    | M.is job seeker | `m.isJobSeeker` | checkbox | ചിഹ്നമില്ല | — |

    #### ഫീൽഡുകളും ഫിൽട്ടറുകളും: Assign family dialog

    | ഫീൽഡ് / നിയന്ത്രണം | റഫറൻസ് | ഇൻപുട്ട് | നിർബന്ധ ചിഹ്നം | തിരഞ്ഞെടുപ്പുകൾ / സൂചനകൾ / ആരംഭ മൂല്യങ്ങൾ |
    | - | - | - | - | - |
    | Assign house num | `assign-house-num` | text | ചിഹ്നമില്ല | — |

    ### പ്രവർത്തനങ്ങൾ

    | നിയന്ത്രണം | ഫലം | Component |
    | - | - | - |
    | Manage Structure | നേരിട്ടുള്ള click handler ഇല്ല; menu trigger/linked control ആയിരിക്കാം. താഴെ പ്രവർത്തനക്രമം കാണുക. | `division-detail-view.tsx` |
    | Add Family to this | നേരിട്ടുള്ള click handler ഇല്ല; menu trigger/linked control ആയിരിക്കാം. താഴെ പ്രവർത്തനക്രമം കാണുക. | `division-detail-view.tsx` |
    | Register New Family | `add family` കാഴ്ച തുറക്കും. | `division-detail-view.tsx` |
    | Select Existing Family | `assign family` കാഴ്ച തുറക്കും. | `division-detail-view.tsx` |
    | Families ( ) | പ്രാദേശിക stateൽ കാഴ്ച, filter അല്ലെങ്കിൽ page മാറ്റും. | `division-detail-view.tsx` |
    | Members ( ) | പ്രാദേശിക stateൽ കാഴ്ച, filter അല്ലെങ്കിൽ page മാറ്റും. | `division-detail-view.tsx` |
    | Open Record | നേരിട്ടുള്ള click handler ഇല്ല; menu trigger/linked control ആയിരിക്കാം. താഴെ പ്രവർത്തനക്രമം കാണുക. | `division-detail-view.tsx` |
    | 1. Location & Housing | പ്രാദേശിക stateൽ കാഴ്ച, filter അല്ലെങ്കിൽ page മാറ്റും. | `add-family-dialog.tsx` |
    | 2. Househead (Applicant) | പ്രാദേശിക stateൽ കാഴ്ച, filter അല്ലെങ്കിൽ page മാറ്റും. | `add-family-dialog.tsx` |
    | 3. Family Members | പ്രാദേശിക stateൽ കാഴ്ച, filter അല്ലെങ്കിൽ page മാറ്റും. | `add-family-dialog.tsx` |
    | Student | Local UI state പുതുക്കും; സംരക്ഷിക്കൽ താഴെ പ്രത്യേകം വിവരിക്കുന്നു. | `add-family-dialog.tsx` |
    | Worker / Adult | Local UI state പുതുക്കും; സംരക്ഷിക്കൽ താഴെ പ്രത്യേകം വിവരിക്കുന്നു. | `add-family-dialog.tsx` |
    | Add | ബന്ധപ്പെട്ട handler പ്രവർത്തിപ്പിക്കും; താഴെ പ്രവർത്തനക്രമം കാണുക. | `add-family-dialog.tsx` |
    | + | ബന്ധപ്പെട്ട handler പ്രവർത്തിപ്പിക്കും; താഴെ പ്രവർത്തനക്രമം കാണുക. | `add-family-dialog.tsx` |
    | × | ബന്ധപ്പെട്ട handler പ്രവർത്തിപ്പിക്കും; താഴെ പ്രവർത്തനക്രമം കാണുക. | `add-family-dialog.tsx` |
    | Add | ബന്ധപ്പെട്ട handler പ്രവർത്തിപ്പിക്കും; താഴെ പ്രവർത്തനക്രമം കാണുക. | `add-family-dialog.tsx` |
    | × | ബന്ധപ്പെട്ട handler പ്രവർത്തിപ്പിക്കും; താഴെ പ്രവർത്തനക്രമം കാണുക. | `add-family-dialog.tsx` |
    | No Known Condition Healthy / No chronic illness | Local UI state പുതുക്കും; സംരക്ഷിക്കൽ താഴെ പ്രത്യേകം വിവരിക്കുന്നു. | `add-family-dialog.tsx` |
    | Has Condition Chronic illness, disability, or care | Local UI state പുതുക്കും; സംരക്ഷിക്കൽ താഴെ പ്രത്യേകം വിവരിക്കുന്നു. | `add-family-dialog.tsx` |
    | Not Disclosed Prefer not to disclose | Local UI state പുതുക്കും; സംരക്ഷിക്കൽ താഴെ പ്രത്യേകം വിവരിക്കുന്നു. | `add-family-dialog.tsx` |
    | Add Member | ബന്ധപ്പെട്ട handler പ്രവർത്തിപ്പിക്കും; താഴെ പ്രവർത്തനക്രമം കാണുക. | `add-family-dialog.tsx` |
    | Remove | ബന്ധപ്പെട്ട handler പ്രവർത്തിപ്പിക്കും; താഴെ പ്രവർത്തനക്രമം കാണുക. | `add-family-dialog.tsx` |
    | Student | Local UI state പുതുക്കും; സംരക്ഷിക്കൽ താഴെ പ്രത്യേകം വിവരിക്കുന്നു. | `add-family-dialog.tsx` |
    | Worker / Adult | Local UI state പുതുക്കും; സംരക്ഷിക്കൽ താഴെ പ്രത്യേകം വിവരിക്കുന്നു. | `add-family-dialog.tsx` |
    | Add | ബന്ധപ്പെട്ട handler പ്രവർത്തിപ്പിക്കും; താഴെ പ്രവർത്തനക്രമം കാണുക. | `add-family-dialog.tsx` |
    | + | ബന്ധപ്പെട്ട handler പ്രവർത്തിപ്പിക്കും; താഴെ പ്രവർത്തനക്രമം കാണുക. | `add-family-dialog.tsx` |
    | × | ബന്ധപ്പെട്ട handler പ്രവർത്തിപ്പിക്കും; താഴെ പ്രവർത്തനക്രമം കാണുക. | `add-family-dialog.tsx` |
    | Add | ബന്ധപ്പെട്ട handler പ്രവർത്തിപ്പിക്കും; താഴെ പ്രവർത്തനക്രമം കാണുക. | `add-family-dialog.tsx` |
    | × | ബന്ധപ്പെട്ട handler പ്രവർത്തിപ്പിക്കും; താഴെ പ്രവർത്തനക്രമം കാണുക. | `add-family-dialog.tsx` |
    | Cancel | ബന്ധപ്പെട്ട handler പ്രവർത്തിപ്പിക്കും; താഴെ പ്രവർത്തനക്രമം കാണുക. | `add-family-dialog.tsx` |
    | ← Back: Location | പ്രാദേശിക stateൽ കാഴ്ച, filter അല്ലെങ്കിൽ page മാറ്റും. | `add-family-dialog.tsx` |
    | ← Back: Applicant | പ്രാദേശിക stateൽ കാഴ്ച, filter അല്ലെങ്കിൽ page മാറ്റും. | `add-family-dialog.tsx` |
    | Next: Applicant Details → | പ്രാദേശിക stateൽ കാഴ്ച, filter അല്ലെങ്കിൽ page മാറ്റും. | `add-family-dialog.tsx` |
    | Next: Family Members → | പ്രാദേശിക stateൽ കാഴ്ച, filter അല്ലെങ്കിൽ page മാറ്റും. | `add-family-dialog.tsx` |
    | Save & Register Family | ബന്ധപ്പെട്ട API മാറ്റം സമർപ്പിക്കും; താഴെയുള്ള പ്രവർത്തനക്രമവും പിശക് നിയമങ്ങളും കാണുക. | `add-family-dialog.tsx` |
    | Assign to | ബന്ധപ്പെട്ട API മാറ്റം സമർപ്പിക്കും; താഴെയുള്ള പ്രവർത്തനക്രമവും പിശക് നിയമങ്ങളും കാണുക. | `assign-family-dialog.tsx` |

    #### ലിങ്ക് നാവിഗേഷൻ

    | ലിങ്ക് | Source ലക്ഷ്യം |
    | - | - |
    | s | `/${slug}/divisions` |
    | Manage Structure | `/${slug}/settings/structure` |
    | Open Record | `/${slug}/families/${family.id}` |
    | Open Record | `/${slug}/members/${member.id}` |

    ### പ്രവർത്തനക്രമം

    പ്രദേശം തുറക്കുക → families/members മാറ്റുക → സജീവ പട്ടികയിൽ തിരയുക. Add family ഈ പ്രദേശത്തിൽ intake ആരംഭിക്കും; Assign family നിലവിലുള്ള കുടുംബം ബന്ധിപ്പിക്കാൻ ഡയലോഗ് തുറക്കും.

    ### നിലകളും നിയമങ്ങളും

    മഹല്ലിനുള്ളിൽ നിന്നാണ് പ്രദേശവും ബന്ധപ്പെട്ട വിവരങ്ങളും വായിക്കുന്നത്. ലഭിക്കാത്ത രേഖകൾ notFound ഉപയോഗിക്കുന്നു. ടാബ് മാറ്റുന്നത് തിരച്ചിൽ പട്ടികയാണ് മാറ്റുന്നത്; അംഗത്വമല്ല.

    Rendered formsലെ വ്യക്തമായ validation സന്ദേശങ്ങൾ:

    * Please provide the Applicant / Househead Name.
    * Please provide the primary contact phone number.
    * Failed to load existing families.

    Rendered action controls pending state അനുസരിച്ച് loading indicator കാണിക്കുന്നു. API save പരാജയപ്പെട്ടാൽ ബന്ധപ്പെട്ട error/notification കാണിക്കും; loading indicator മാത്രം persistence തെളിയിക്കുന്നില്ല.

    ### Implementation റഫറൻസുകൾ

    താഴെയുള്ള paths application repositoryയെ അടിസ്ഥാനമാക്കിയുള്ളതാണ്. Source പരിശോധിച്ച behavior ആണ്; browser test രേഖയല്ല.

    * `apps/web/src/app/sites/admin/[tenant]/divisions/[divisionId]/page.tsx`
    * `apps/web/src/features/tenants/division-detail-view.tsx`
    * `apps/web/src/features/tenants/add-family-dialog.tsx`
    * `apps/web/src/features/tenants/assign-family-dialog.tsx`

    Data/access helpers: `apps/web/src/lib/structure.ts`, `apps/web/src/lib/server-api.ts`, `apps/web/src/lib/business-resources.ts`, `apps/web/src/lib/houses.ts`, `apps/web/src/lib/members.ts`, `apps/web/src/lib/api-client.ts`

    ബന്ധപ്പെട്ട controller permission keys: `structure.view`, `structure.update`, `families.view`, `families.create`, `families.update`, `families.delete`. ഓരോ പ്രവർത്തനത്തിനും key വ്യത്യസ്തമാണ്; നിലവിലെ guard OWNER/ADMINനും platform-elevation contextനും operational bypass നൽകുന്നു. Control കാണുന്നതുകൊണ്ട് authorization ഉറപ്പില്ല.

    ### API behavior റഫറൻസുകൾ

    * `apps/api/src/structure/structure.controller.ts`
    * `apps/api/src/families/families.controller.ts`
  </Tab>
</Tabs>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.