Onboarding configuration
esc
Country
Forms
↑↓ navigate↵ open40 results
Countries/TZ/occupation

occupation

Base v1 · src/Modules/FormEngine/OmniDos.FormEngine.Infra/SeedData/Forms/occupation_base_v1_schema.json

Scope
Prefill from journey data

The service uses the first non-empty source. Use a dot path beginning with the source step id.

Options (enum)
EMPLOYMENToccupation.sourceOfIncome.employment
BUSINESSoccupation.sourceOfIncome.business
REMITTANCEoccupation.sourceOfIncome.remittance
OTHERoccupation.sourceOfIncome.other
Validationrequired
Error message keys (i18n)
Prefill from journey data

The service uses the first non-empty source. Use a dot path beginning with the source step id.

Options (enum)
EMPLOYEDoccupation.employmentStatus.employed
SELF_EMPLOYEDoccupation.employmentStatus.selfEmployed
UNEMPLOYEDoccupation.employmentStatus.unemployed
Validationrequired
Error message keys (i18n)
Prefill from journey data

The service uses the first non-empty source. Use a dot path beginning with the source step id.

Options (enum)
Validationrequired
Error message keys (i18n)
Live preview

Renders as the web app would. Interactive — pick values to exercise visibility rules and validation.

EQUITY
occupation

Occupation

Enter your occupation and sources of income.

Source of income

4 options

occupation.sourceOfIncome.helpText

Employment status

3 options

occupation.employmentStatus.tz.helpText

Profession

occupation.profession.tz.helpText

Blocking the CTA (3)

  • primarySourceOfIncome — Source of income is required
  • employmentStatus — Employment status is required.
  • profession — Profession is required
Generated change (2 files)
src/Modules/FormEngine/OmniDos.FormEngine.Infra/SeedData/Patches/TZ/occupation_tz_v1_schema_patch.json
[
  {
    "op": "remove",
    "path": "/x-crossFieldRules"
  },
  {
    "op": "replace",
    "path": "/required/1",
    "value": "employmentStatus"
  },
  {
    "op": "add",
    "path": "/required/2",
    "value": "profession"
  },
  {
    "op": "remove",
    "path": "/properties/secondaryMonthlyIncome"
  },
  {
    "op": "remove",
    "path": "/properties/secondarySourceOfIncome"
  },
  {
    "op": "remove",
    "path": "/properties/primaryMonthlyIncome"
  },
  {
    "op": "remove",
    "path": "/properties/primarySourceOfIncome/x-enumLabels/NONE"
  },
  {
    "op": "remove",
    "path": "/properties/primarySourceOfIncome/x-enumLabels/SELF_EMPLOYED"
  },
  {
    "op": "remove",
    "path": "/properties/primarySourceOfIncome/x-enumLabels/EMPLOYED_SALARIED"
  },
  {
    "op": "add",
    "path": "/properties/primarySourceOfIncome/x-enumLabels/EMPLOYMENT",
    "value": "occupation.sourceOfIncome.employment"
  },
  {
    "op": "add",
    "path": "/properties/primarySourceOfIncome/x-enumLabels/BUSINESS",
    "value": "occupation.sourceOfIncome.business"
  },
  {
    "op": "add",
    "path": "/properties/primarySourceOfIncome/x-enumLabels/REMITTANCE",
    "value": "occupation.sourceOfIncome.remittance"
  },
  {
    "op": "add",
    "path": "/properties/primarySourceOfIncome/x-enumLabels/OTHER",
    "value": "occupation.sourceOfIncome.other"
  },
  {
    "op": "replace",
    "path": "/properties/primarySourceOfIncome/enum/2",
    "value": "REMITTANCE"
  },
  {
    "op": "replace",
    "path": "/properties/primarySourceOfIncome/enum/1",
    "value": "BUSINESS"
  },
  {
    "op": "replace",
    "path": "/properties/primarySourceOfIncome/enum/0",
    "value": "EMPLOYMENT"
  },
  {
    "op": "add",
    "path": "/properties/primarySourceOfIncome/enum/3",
    "value": "OTHER"
  },
  {
    "op": "add",
    "path": "/properties/employmentStatus",
    "value": {
      "type": "string",
      "enum": [
        "EMPLOYED",
        "SELF_EMPLOYED",
        "UNEMPLOYED"
      ],
      "x-labelKey": "occupation.employmentStatus.label",
      "x-placeholderKey": "occupation.employmentStatus.placeholder",
      "x-popoverTitleKey": "occupation.employmentStatus.popoverTitle.label",
      "x-enumLabels": {
        "EMPLOYED": "occupation.employmentStatus.employed",
        "SELF_EMPLOYED": "occupation.employmentStatus.selfEmployed",
        "UNEMPLOYED": "occupation.employmentStatus.unemployed"
      },
      "x-errorMessages": {
        "type": "occupation.error.employmentStatus.type",
        "enum": "occupation.error.employmentStatus.enum"
      }
    }
  },
  {
    "op": "add",
    "path": "/properties/profession",
    "value": {
      "type": "string",
      "minLength": 2,
      "maxLength": 80,
      "x-labelKey": "occupation.profession.label",
      "x-placeholderKey": "occupation.profession.placeholder",
      "x-errorMessages": {
        "type": "occupation.error.profession.type",
        "required": "occupation.error.profession.required",
        "minLength": "occupation.error.profession.minLength",
        "maxLength": "occupation.error.profession.maxLength"
      }
    }
  }
]
src/Modules/FormEngine/OmniDos.FormEngine.Infra/SeedData/Patches/TZ/occupation_tz_v1_ui_patch.json
[
  {
    "op": "remove",
    "path": "/widgets/secondaryMonthlyIncome"
  },
  {
    "op": "remove",
    "path": "/widgets/secondarySourceOfIncome"
  },
  {
    "op": "remove",
    "path": "/widgets/primaryMonthlyIncome"
  },
  {
    "op": "add",
    "path": "/widgets/employmentStatus",
    "value": "selector"
  },
  {
    "op": "add",
    "path": "/widgets/profession",
    "value": "text"
  },
  {
    "op": "remove",
    "path": "/layout/1"
  },
  {
    "op": "replace",
    "path": "/layout/0/fields/1/0",
    "value": "employmentStatus"
  },
  {
    "op": "add",
    "path": "/layout/0/fields/2",
    "value": [
      "profession"
    ]
  },
  {
    "op": "remove",
    "path": "/layout/0/dividerHeight"
  },
  {
    "op": "remove",
    "path": "/layout/0/dividerType"
  },
  {
    "op": "remove",
    "path": "/layout/0/hasDivider"
  },
  {
    "op": "remove",
    "path": "/layout/0/x-sectionTitleDivider"
  },
  {
    "op": "remove",
    "path": "/layout/0/x-sectionTitle"
  },
  {
    "op": "add",
    "path": "/x-pageSubtitle",
    "value": "occupation.pageSubtitle"
  },
  {
    "op": "add",
    "path": "/helpText",
    "value": {
      "primarySourceOfIncome": "occupation.sourceOfIncome.helpText",
      "employmentStatus": "occupation.employmentStatus.tz.helpText",
      "profession": "occupation.profession.tz.helpText"
    }
  }
]
Downloads a zip to apply to a clone and raise as a PR.