Onboarding configuration
esc
Country
Forms
↑↓ navigate↵ open40 results
Countries/RW/address

address

Base v1 · src/Modules/FormEngine/OmniDos.FormEngine.Infra/SeedData/Forms/address_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)
Validation
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)
BUGBugesera
KIGKigali
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)
BURBurera
RULRulindo
Validation
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)
BUDBudaha
BUKBukunzi
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)
GISGisunzu
KIBKibuye
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)
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
address

Address

Enter your residential address.

Province

2 options

District (Optional)

2 options

Village

2 options

Cell

2 options

Postal address
Postal code

Blocking the CTA (5)

  • province — Province is required
  • village — Village is required
  • cell — Cell is required
  • postalAddress — Postal address is required
  • postalCode — Postal code is required

Not shown to the customer

  • countryOfResidence — in the schema, but no layout row places it
  • countryOfResidence — x-hidden — sent in the payload, never displayed
Generated change (2 files)
src/Modules/FormEngine/OmniDos.FormEngine.Infra/SeedData/Patches/RW/address_rw_v1_schema_patch.json
[
  {
    "op": "replace",
    "path": "/required/3",
    "value": "postalAddress"
  },
  {
    "op": "replace",
    "path": "/required/2",
    "value": "cell"
  },
  {
    "op": "replace",
    "path": "/required/1",
    "value": "village"
  },
  {
    "op": "replace",
    "path": "/required/0",
    "value": "province"
  },
  {
    "op": "add",
    "path": "/required/4",
    "value": "postalCode"
  },
  {
    "op": "remove",
    "path": "/properties/city"
  },
  {
    "op": "remove",
    "path": "/properties/zipCode"
  },
  {
    "op": "remove",
    "path": "/properties/address"
  },
  {
    "op": "remove",
    "path": "/properties/state"
  },
  {
    "op": "replace",
    "path": "/properties/countryOfResidence/default",
    "value": "RW"
  },
  {
    "op": "add",
    "path": "/properties/countryOfResidence/x-hidden",
    "value": true
  },
  {
    "op": "add",
    "path": "/properties/countryOfResidence/x-source",
    "value": "basic_info.countryOfResidence"
  },
  {
    "op": "add",
    "path": "/properties/province",
    "value": {
      "type": "string",
      "minLength": 2,
      "maxLength": 100,
      "x-labelKey": "address.province.label",
      "x-placeholderKey": "address.province.placeholder",
      "x-errorMessages": {
        "type": "address.error.province.type",
        "required": "address.error.province.required",
        "minLength": "address.error.province.minLength",
        "maxLength": "address.error.province.maxLength"
      },
      "enum": [
        "BUG",
        "KIG"
      ],
      "x-enumLabels": {
        "BUG": "Bugesera",
        "KIG": "Kigali"
      }
    }
  },
  {
    "op": "add",
    "path": "/properties/district",
    "value": {
      "type": "string",
      "minLength": 2,
      "maxLength": 120,
      "x-labelKey": "address.district.label",
      "x-placeholderKey": "address.district.placeholder",
      "x-errorMessages": {
        "type": "address.error.district.type",
        "required": "address.error.district.required",
        "minLength": "address.error.district.minLength",
        "maxLength": "address.error.district.maxLength"
      },
      "enum": [
        "BUR",
        "RUL"
      ],
      "x-enumLabels": {
        "BUR": "Burera",
        "RUL": "Rulindo"
      }
    }
  },
  {
    "op": "add",
    "path": "/properties/village",
    "value": {
      "type": "string",
      "minLength": 3,
      "maxLength": 12,
      "pattern": "^[A-Za-z0-9\\- ]+$",
      "x-labelKey": "address.village.label",
      "x-placeholderKey": "address.village.placeholder",
      "x-errorMessages": {
        "type": "address.error.village.type",
        "required": "address.error.village.required",
        "minLength": "address.error.village.minLength",
        "maxLength": "address.error.village.maxLength",
        "pattern": "address.error.village.pattern"
      },
      "enum": [
        "BUD",
        "BUK"
      ],
      "x-enumLabels": {
        "BUD": "Budaha",
        "BUK": "Bukunzi"
      }
    }
  },
  {
    "op": "add",
    "path": "/properties/cell",
    "value": {
      "type": "string",
      "minLength": 2,
      "maxLength": 100,
      "x-labelKey": "address.cell.label",
      "x-placeholderKey": "address.cell.placeholder",
      "x-errorMessages": {
        "type": "address.error.cell.type",
        "required": "address.error.cell.required",
        "minLength": "address.error.cell.minLength",
        "maxLength": "address.error.cell.maxLength"
      },
      "enum": [
        "GIS",
        "KIB"
      ],
      "x-enumLabels": {
        "GIS": "Gisunzu",
        "KIB": "Kibuye"
      }
    }
  },
  {
    "op": "add",
    "path": "/properties/postalAddress",
    "value": {
      "type": "string",
      "minLength": 2,
      "maxLength": 100,
      "x-labelKey": "address.postalAddress.label",
      "x-placeholderKey": "address.postalAddress.placeholder",
      "x-errorMessages": {
        "type": "address.error.postalAddress.type",
        "required": "address.error.postalAddress.required",
        "minLength": "address.error.postalAddress.minLength",
        "maxLength": "address.error.postalAddress.maxLength"
      }
    }
  },
  {
    "op": "add",
    "path": "/properties/postalCode",
    "value": {
      "type": "string",
      "minLength": 2,
      "maxLength": 100,
      "x-labelKey": "address.postalCode.label",
      "x-placeholderKey": "address.postalCode.placeholder",
      "x-errorMessages": {
        "type": "address.error.postalCode.type",
        "required": "address.error.postalCode.required",
        "minLength": "address.error.postalCode.minLength",
        "maxLength": "address.error.postalCode.maxLength"
      }
    }
  }
]
src/Modules/FormEngine/OmniDos.FormEngine.Infra/SeedData/Patches/RW/address_rw_v1_ui_patch.json
[
  {
    "op": "remove",
    "path": "/widgets/city"
  },
  {
    "op": "remove",
    "path": "/widgets/zipCode"
  },
  {
    "op": "remove",
    "path": "/widgets/address"
  },
  {
    "op": "remove",
    "path": "/widgets/state"
  },
  {
    "op": "remove",
    "path": "/widgets/countryOfResidence"
  },
  {
    "op": "add",
    "path": "/widgets/province",
    "value": "selector"
  },
  {
    "op": "add",
    "path": "/widgets/district",
    "value": "selector"
  },
  {
    "op": "add",
    "path": "/widgets/village",
    "value": "selector"
  },
  {
    "op": "add",
    "path": "/widgets/cell",
    "value": "selector"
  },
  {
    "op": "add",
    "path": "/widgets/postalAddress",
    "value": "text"
  },
  {
    "op": "add",
    "path": "/widgets/postalCode",
    "value": "text"
  },
  {
    "op": "replace",
    "path": "/layout/0/fields/4/0",
    "value": "postalAddress"
  },
  {
    "op": "replace",
    "path": "/layout/0/fields/3/0",
    "value": "cell"
  },
  {
    "op": "replace",
    "path": "/layout/0/fields/2/0",
    "value": "village"
  },
  {
    "op": "replace",
    "path": "/layout/0/fields/1/0",
    "value": "district"
  },
  {
    "op": "replace",
    "path": "/layout/0/fields/0/0",
    "value": "province"
  },
  {
    "op": "add",
    "path": "/layout/0/fields/5",
    "value": [
      "postalCode"
    ]
  }
]
Downloads a zip to apply to a clone and raise as a PR.