Roles & access

Who can see and do what, decided by login type, tenant and the farmer's category.

Roles

Roles come from the login response (dataset PlusOneTenantUserData): tenant, user, a map of role id → role code, and work nodes. The role map is cached in KEY_USER_ROLES.

RoleHow the app decidesIn plain English
CadreTenant is ap.gov and the user is not UnitThe default AP field worker. Picks one Village → Habitation → VO and works on that VO's farmers.
Unit In-Charge / FMT L1Tenant is ap.gov and any role code contains unit-incharge or fmt_l1A supervisor. Gets every assigned VO automatically and a home screen for Endorsements, Surveys and Compact Blocks.
HAN (add-on)Any role code contains role.ap.gov.hanRead-only access to the farmer hub and profile.
FCCC (add-on)Any role code contains role.ap.gov.fcccCan filter Endorsements by habitation/VO (online only).

Notes:

  • Other FMT codes (fmt_l2, fmt_l3, fmt_dmmt, fmt_mt) and CRP codes (trainee_icrp, han_icrp, l3_icrp) are only farmer designations. They do not change the app.
  • VO (Village Organisation) is a place in the hierarchy, not a user role.
  • Role checks are substring matches on the last cached role list.

Role → feature access

✓ available · ✗ hidden or blocked · ◐ available with limits · – not affected

FeatureCadreUnit / FMT L1HAN (add-on)FCCC (add-on)
Village/Habitation/VO selection✓ one VO at a time✗ all VOs automatic––
Data downloadCadre version (11 items)Unit version (8 items, incl. Compact Block)––
HomeFarmer list + Add farmerVO tabs (Endorsement / Survey / Compact Block), no Add farmer––
Analytics✓ bottom bar, VO filter✓ bottom bar + menu, Cadre → VO → SHG filter––
My Plan & Profile✓✗◐ read-only items–
Activity Tracker✓✗––
Endorsements (menu)✗✓–✓ VO filter
Program config / instructions / login history✓✓––
Settings → Load more data◐ warns if sync queue not empty◐ blocked until every queued item has been attempted––
Farmer hub: Comments✓✗✗–
Farmer hub: Land, Livestock, Crops, Crop Plan, Crop Actual, Survey, Certification✓ by category rules✓ by category rules✗ disabled–
Farmer profile edit✓✓✗ read-only–
Crop Actual line-item edit✓◐ only if FMT_CROP_ACTUAL_EDIT_SWITCH ≠ 0––
12-hourly analytics worker✓✗––

Farmer category matrix (farmer hub, ap.gov)

The category is the text after the last / in the farmer's categoryName. A farmer "has a category" only if it is C4, C5 or Farmer (or రైతు). "Auth" = land must be authenticated (or the farmer has no land assets). "Synced" = farmer must already exist on the server.

TileNo categoryFarmer (C1–C3)C4C5
Land / Crops / Crop Plan / Certification✗✓✗✗
Crop Actual✗✓ Auth✗✗
ATM✗✓ Auth✗✓
KAP 25–26✗✓ Auth, synced✗✓ synced
Annual plan✗✓ Auth, synced✓ synced✓ synced
Livestock✗✓✓✓
Comments✗✓✗✓
Surveys✗✓✓✓
Kitchen Garden✓✓✓✓

Gates that apply before the table:

  1. Inactive farmer → every tile disabled.
  2. Profile incomplete → only Profile opens.
  3. Profile complete, no land, not C4/C5 → only Profile and Land open.
  4. HAN role → Land, Livestock, Comments, Crops, Crop Plan, Survey, Crop Actual, Certification disabled.
  5. Server switches can hide or block tiles (CROP_PLAN_EXTERNAL_SWITCH, SURVEYS_ACTION_PLAN_EXTERNAL_SWITCH, SURVEYS_MONTHLY_PROGRESS_EXTERNAL_SWITCH, CERTIFICATION_EXTERNAL_SWITCH, LAND_EXTERNAL_SWITCH, PROFILE_EXTERNAL_SWITCH, ATM_EXTERNAL_SWITCH, KAP_25_26_EXTERNAL_SWITCH, CROP_ACTUAL_EXCEPTION_EXTERNAL_SWITCH). Value "1" = on.