{
  "$schema": "https://govschema.org/spec/v0.3/govschema.schema.json",
  "govschemaVersion": "0.3.0",
  "id": "tz/brela/company-registration-form-14a",
  "version": "1.0.0",
  "title": "Tanzania — BRELA Form 14a, Application for Registration of a Company",
  "description": "The Business Registrations and Licensing Agency's (BRELA) Form 14a, 'Application for Registration of a Company', filed pursuant to section 14(2) of the Companies Act, Cap. 212, via BRELA's Online Registration System (ORS). Opens Tanzania's Business Formation vertical (Tanzania's first schema in this registry, its 60th jurisdiction). This is a whole-of-form schema: Form 14a itself is a fixed-layout, non-repeating template (a single Applicant, a company-information block, a single Registered Office, a single free-text Business Activities block, exactly two numbered Director blocks, exactly one Company Secretary block, a single-row Authorised Share Capital table, and exactly two numbered Shareholder blocks), so no fields were descoped for repeating-group reasons. Every numbered person-block (both directors, both shareholders) is modeled as required, not optional, because the Companies Act itself — independently re-fetched this cycle from the same authority's own site — fixes these as legal minimums for every company, not just a form-printing convenience: section 186 ('Every company shall have at least two directors'), section 26/27 (a company whose membership falls below two members incurs personal liability for its officers after six months, and the Act's 'private company' definition contains no single-member carve-out), and section 187 ('Every company shall have a Secretary', mandatory for every company, not only public companies — confirmed still in force by the Written Laws (Miscellaneous Amendments) (No. 3) Act, 2021, which eased only the professional-qualification requirement for a private company's secretary, not the requirement to have one at all). Signature/seal/stamp blocks at the end of the form (Director ×2, Company Secretary) are a physical wet-signature/attestation mechanism, not data fields, and are out of scope, consistent with this registry's treatment of physical-signature-only blocks elsewhere. This schema does not submit anything to BRELA or imply Government of Tanzania endorsement.",
  "status": "draft",
  "jurisdiction": {
    "country": "TZ",
    "level": "national"
  },
  "authority": {
    "name": "Business Registrations and Licensing Agency",
    "abbreviation": "BRELA",
    "url": "https://www.brela.go.tz"
  },
  "process": {
    "type": "registration",
    "language": "en"
  },
  "source": {
    "url": "https://www.brela.go.tz/uploads/documents/sw-1621406129-Form%2014a.pdf",
    "retrievedAt": "2026-07-15",
    "documentRef": "Form 14a, \"Application for Registration of a Company\", pursuant to section 14(2) of the Companies Act, Cap. 212"
  },
  "verification": {
    "method": "manual-source-review-v1",
    "lastVerifiedAt": "2026-07-15",
    "verifiedBy": "GovSchema Engineering (Standards Engineer)",
    "nextReviewBy": "2027-01-15",
    "notes": "GOV-3113 'GovSchema Standard Research' cycle (child of GOV-3109, itself delegated from GOV-3104). Opens Tanzania as a new jurisdiction in this registry (the registry's 60th) via Business Formation. Independently re-fetched this cycle directly from brela.go.tz (no login/CAPTCHA/WAF gate): HTTP 200, content-type application/pdf, 263,198 bytes, sha256 d0535d301c8764d40a4a0abec116f4c00e07d2ce544f489908788b7b1633fc35, a genuine 3-page native text-layer PDF (confirmed via pdfjs-dist's getTextContent, not a scanned image; no /AcroForm or /Widget annotations exist on any of the 3 pages — this is a fill-in-the-blank dotted-line template, not an interactive PDF form). Every prose line was extracted and read in full, including a coordinate-level (x/y) re-extraction to resolve the AUTHORISED SHARE CAPITAL table's column structure (page 2): a horizontal-line/vertical-line pixel scan of a 2.5x-scale node-canvas render located 6 column boundaries at x=1,145,295,478,710,941,1227px and 3 row boundaries, confirming a 2-line wrapped header ('Type of / Shares', 'Class of / shares', 'Total Number of / shares', 'Value', 'Aggregate nominal / value', 'Currency' with a fixed, already-printed 'TZS' beneath it) over one blank data row and one further 'Total' row (whose own label sits inside the 4th column, with a second fixed 'TZS' beneath the Currency column) — modeled as 5 fill-in fields (type/class/total-number-of-shares/aggregate-nominal-value/total-value), since the Currency cells are a printed constant (TZS), not applicant input. The SHAREHOLDER 2 block (page 3) prints its field labels without the trailing dotted-blank glyphs every other block has (confirmed via the same coordinate re-extraction); this is a pagination/layout artifact — a 'Warning: TT: undefined function: 32' from pdfjs-dist's font-glyph path generator on that page's Times-family font was checked and traced to character code 32 (space), not to any of the printed labels, so no header/label text was lost — the block's field set was cross-checked field-for-field against the identically-labeled SHAREHOLDER 1 block instead of relying on the missing dots alone. A second BRELA-hosted primary source, the Companies Act, Cap. 212 itself (https://www.brela.go.tz/uploads/documents/sw-1602521545-COMPANIES%20ACT%20(CAP.%20212).pdf, independently re-fetched this cycle, HTTP 200, sha256 9c75e2d0623454942a535e5cddd22898683da877c3f7cbfd5e9a81f1196ef0fd), was used to corroborate cardinality: section 186 (minimum two directors), sections 26-27 (minimum two members/shareholders, no single-member carve-out in this Act), and section 187 (mandatory Secretary for every company) together confirm the form's own fixed two-director/two-shareholder/one-secretary layout reflects statutory minimums, not merely a print convenience — reversing an initial assumption (drawn from UK/Kenya-style Companies Act norms, where private companies may have one director/member and no mandatory secretary) that these second-occurrence blocks should be modeled optional; a secondary corroborating source (a 2021 corporate-secretarial client note on the Written Laws (Miscellaneous Amendments) (No.3) Act, 2021's changes to section 14(2) itself, https://breakthroughattorneys.co.tz/amendment-to-the-companies-act-cap-212/, independently re-fetched, HTTP 200) further confirmed the amendment that added National ID/TIN/email/telephone/passport particulars to section 14(2) filings, matching this form's own field set, and explicitly described the Taxpayer Identification Number as required 'where applicable' — the basis for modeling every TIN field (company, and each director's/secretary's own TIN) as optional rather than required, since the source's own qualifier signals it will not always exist at filing time. 'Tracking number', 'Incorporation number', and 'Incorporation date' are modeled as optional: unlike every other blank on the form, these read as an administrative/system-assigned reference the BRELA ORS system itself populates (a tracking number before any content is filled in, and an incorporation number/date logically cannot exist before the registration this very form applies for is granted), so treating them as applicant-supplied-required would misrepresent the form. Company Type and both Genders are modeled as free-text strings, not enums, because the form itself prints only a blank dotted line for each with no accompanying option list (matching this registry's established practice of not fabricating enum values a source does not itself enumerate). No `documents[]` is modeled: the form prints no enclosures/attachments list and no 'attach'/'copy of' instruction anywhere in its 3 pages (confirmed by a full-text grep of the extraction for both terms), unlike, e.g., Pakistan's SECP Form-1, which does itemize specific enclosures. An ephemeral, from-scratch conformance checker (deriving required/requiredWhen/enum rules directly from this schema's own fields[], discarded after use, not committed) ran 1 valid mock scenario (a two-director, two-shareholder private company with a company secretary) at 0 errors, plus 4 mutation-control fixtures (missing required field; invalid date format; negative share count; invalid email pattern) each correctly raising exactly 1 error. Structural validation: `node tools/validate.mjs` and `node tools/validate-ajv.mjs` (ajv 2020-12 against spec/v0.3) both pass on the full registry after adding this document; `npm run build-index` was re-run in `tools/govschema-client/` to regenerate `registry-index.json`."
  },
  "maturity": {
    "level": "structural-reference",
    "criteria": {
      "structuralReference": true,
      "verifiedSchema": false,
      "agentReadySchema": false,
      "executionTestedSchema": false
    },
    "method": "maturity-self-assessment-v1",
    "assertedBy": "GovSchema Engineering (Standards Engineer)",
    "assertedAt": "2026-07-15"
  },
  "license": "CC-BY-4.0",
  "fields": [
    {
      "name": "trackingNumber",
      "label": "Tracking number",
      "type": "string",
      "required": false,
      "description": "Application-tracking reference. Reads as a BRELA Online Registration System (ORS)-assigned reference rather than an applicant-supplied value.",
      "sourceRef": "Page 1, APPLICATION — \"Tracking number\""
    },
    {
      "name": "applicationDate",
      "label": "Application date",
      "type": "date",
      "required": true,
      "sourceRef": "Page 1, APPLICATION — \"Application date\""
    },
    {
      "name": "applicantNationalId",
      "label": "Applicant — National ID",
      "type": "string",
      "required": true,
      "sourceRef": "Page 1, APPLICANT — \"National ID\""
    },
    {
      "name": "applicantName",
      "label": "Applicant — Name",
      "type": "string",
      "required": true,
      "sourceRef": "Page 1, APPLICANT — \"Name\""
    },
    {
      "name": "applicantGender",
      "label": "Applicant — Gender",
      "type": "string",
      "required": true,
      "description": "Modeled as free text: the form prints only a blank dotted line, no enumerated option list.",
      "sourceRef": "Page 1, APPLICANT — \"Gender\""
    },
    {
      "name": "applicantDateOfBirth",
      "label": "Applicant — Date of birth",
      "type": "date",
      "required": true,
      "sourceRef": "Page 1, APPLICANT — \"Date of birth\""
    },
    {
      "name": "applicantNationality",
      "label": "Applicant — Nationality",
      "type": "string",
      "required": true,
      "sourceRef": "Page 1, APPLICANT — \"Nationality\""
    },
    {
      "name": "applicantEmail",
      "label": "Applicant — E-mail Address",
      "type": "string",
      "required": true,
      "sourceRef": "Page 1, APPLICANT — \"E-mail Address\"",
      "validation": { "pattern": "^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$" }
    },
    {
      "name": "applicantMobilePhoneNumbers",
      "label": "Applicant — Mobile Phone Numbers",
      "type": "string",
      "required": true,
      "sourceRef": "Page 1, APPLICANT — \"Mobile Phone Numbers\""
    },
    {
      "name": "applicantCanUpdateDataInOrs",
      "label": "Can this person update data in ORS?",
      "type": "boolean",
      "required": true,
      "description": "If affirmative, this person is empowered to assign other persons who can update data in ORS, per the form's own explanatory note beneath this field.",
      "sourceRef": "Page 1, APPLICANT — \"Can this person update data in ORS?\"; \"This person is empowered to assign persons who can update data in ORS\""
    },
    {
      "name": "companyTin",
      "label": "Company — TIN",
      "type": "string",
      "required": false,
      "description": "Taxpayer Identification Number, where applicable — a new company may not yet have one at the time of filing.",
      "sourceRef": "Page 1, INFORMATION ABOUT COMPANY — \"TIN\""
    },
    {
      "name": "incorporationNumber",
      "label": "Incorporation number",
      "type": "string",
      "required": false,
      "description": "Reads as a BRELA-assigned registration reference rather than an applicant-supplied value, since it logically cannot exist before this application is granted.",
      "sourceRef": "Page 1, INFORMATION ABOUT COMPANY — \"Incorporation number\""
    },
    {
      "name": "companyName",
      "label": "Company name",
      "type": "string",
      "required": true,
      "sourceRef": "Page 1, INFORMATION ABOUT COMPANY — \"Company name\""
    },
    {
      "name": "companyType",
      "label": "Company type",
      "type": "string",
      "required": true,
      "description": "Modeled as free text: the form prints only a blank dotted line, no enumerated option list of the company types the Companies Act, Cap. 212 recognizes.",
      "sourceRef": "Page 1, INFORMATION ABOUT COMPANY — \"Company type\""
    },
    {
      "name": "incorporationDate",
      "label": "Incorporation date",
      "type": "date",
      "required": false,
      "description": "Reads as a BRELA-assigned date rather than an applicant-supplied value, since it logically cannot exist before this application is granted.",
      "sourceRef": "Page 1, INFORMATION ABOUT COMPANY — \"Incorporation date\""
    },
    {
      "name": "accountingDate",
      "label": "Accounting date",
      "type": "string",
      "required": true,
      "description": "The company's chosen financial year-end reference date (day and month, recurring annually).",
      "sourceRef": "Page 1, INFORMATION ABOUT COMPANY — \"Accounting date\""
    },
    {
      "name": "registeredOfficeAddress",
      "label": "Registered office",
      "type": "string",
      "required": true,
      "sourceRef": "Page 1, REGISTERED OFFICE — \"Registered office\""
    },
    {
      "name": "registeredOfficePoBox",
      "label": "Registered office — P.O. BOX",
      "type": "string",
      "required": true,
      "sourceRef": "Page 1, REGISTERED OFFICE — \"P.O. BOX\""
    },
    {
      "name": "registeredOfficeEmail",
      "label": "Registered office — E-mail",
      "type": "string",
      "required": true,
      "sourceRef": "Page 1, REGISTERED OFFICE — \"E-mail\"",
      "validation": { "pattern": "^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$" }
    },
    {
      "name": "registeredOfficeMobilePhoneNumber",
      "label": "Registered office — Mobile Phone Number",
      "type": "string",
      "required": true,
      "sourceRef": "Page 1, REGISTERED OFFICE — \"Mobile Phone Number\""
    },
    {
      "name": "businessActivitiesDescription",
      "label": "Name of activities",
      "type": "string",
      "required": true,
      "description": "Description of the company's business activities. The form itself gives 4 dotted lines of writing space for this single answer (1 labeled line plus 3 blank continuation lines).",
      "sourceRef": "Page 1, BUSINESS ACTIVITIES — \"Name of activities\""
    },
    {
      "name": "director1CanUpdateDataInOrs",
      "label": "Director 1 — Can this person update data in ORS?",
      "type": "boolean",
      "required": true,
      "sourceRef": "Page 1, DIRECTORS, Director 1 — \"Can this person update data in ORS?\""
    },
    {
      "name": "director1NationalIdOrPassport",
      "label": "Director 1 — National ID/Passport No",
      "type": "string",
      "required": true,
      "sourceRef": "Page 1, DIRECTORS, Director 1 — \"National ID/Passport No\""
    },
    {
      "name": "director1Tin",
      "label": "Director 1 — TIN",
      "type": "string",
      "required": false,
      "description": "Taxpayer Identification Number, where applicable.",
      "sourceRef": "Page 1, DIRECTORS, Director 1 — \"TIN\""
    },
    {
      "name": "director1Name",
      "label": "Director 1 — Name",
      "type": "string",
      "required": true,
      "sourceRef": "Page 1, DIRECTORS, Director 1 — \"Name\""
    },
    {
      "name": "director1Gender",
      "label": "Director 1 — Gender",
      "type": "string",
      "required": true,
      "sourceRef": "Page 1, DIRECTORS, Director 1 — \"Gender\""
    },
    {
      "name": "director1DateOfBirth",
      "label": "Director 1 — Date of birth",
      "type": "date",
      "required": true,
      "sourceRef": "Page 1, DIRECTORS, Director 1 — \"Date of birth\""
    },
    {
      "name": "director1Nationality",
      "label": "Director 1 — Nationality",
      "type": "string",
      "required": true,
      "sourceRef": "Page 1, DIRECTORS, Director 1 — \"Nationality\""
    },
    {
      "name": "director1Email",
      "label": "Director 1 — E-mail Address",
      "type": "string",
      "required": true,
      "sourceRef": "Page 1, DIRECTORS, Director 1 — \"E-mail Address\"",
      "validation": { "pattern": "^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$" }
    },
    {
      "name": "director1MobilePhoneNumber",
      "label": "Director 1 — Mobile Phone Number",
      "type": "string",
      "required": true,
      "sourceRef": "Page 1, DIRECTORS, Director 1 — \"Mobile Phone Number\""
    },
    {
      "name": "director1ResidentialAddress",
      "label": "Director 1 — Residential address",
      "type": "string",
      "required": true,
      "sourceRef": "Page 2, DIRECTORS, Director 1 (continued) — \"Residential address\""
    },
    {
      "name": "director2CanUpdateDataInOrs",
      "label": "Director 2 — Can this person update data in ORS?",
      "type": "boolean",
      "required": true,
      "description": "Required, not optional: the Companies Act, Cap. 212 section 186 fixes a minimum of two directors for every company, matching the form's own fixed two-director layout.",
      "sourceRef": "Page 2, DIRECTOR 2 — \"Can this person update data in ORS?\""
    },
    {
      "name": "director2NationalIdOrPassport",
      "label": "Director 2 — National ID/Passport No",
      "type": "string",
      "required": true,
      "sourceRef": "Page 2, DIRECTOR 2 — \"National ID/Passport No\""
    },
    {
      "name": "director2Tin",
      "label": "Director 2 — TIN",
      "type": "string",
      "required": false,
      "description": "Taxpayer Identification Number, where applicable.",
      "sourceRef": "Page 2, DIRECTOR 2 — \"TIN\""
    },
    {
      "name": "director2Name",
      "label": "Director 2 — Name",
      "type": "string",
      "required": true,
      "sourceRef": "Page 2, DIRECTOR 2 — \"Name\""
    },
    {
      "name": "director2Gender",
      "label": "Director 2 — Gender",
      "type": "string",
      "required": true,
      "sourceRef": "Page 2, DIRECTOR 2 — \"Gender\""
    },
    {
      "name": "director2DateOfBirth",
      "label": "Director 2 — Date of birth",
      "type": "date",
      "required": true,
      "sourceRef": "Page 2, DIRECTOR 2 — \"Date of birth\""
    },
    {
      "name": "director2Nationality",
      "label": "Director 2 — Nationality",
      "type": "string",
      "required": true,
      "sourceRef": "Page 2, DIRECTOR 2 — \"Nationality\""
    },
    {
      "name": "director2Email",
      "label": "Director 2 — E-mail Address",
      "type": "string",
      "required": true,
      "sourceRef": "Page 2, DIRECTOR 2 — \"E-mail Address\"",
      "validation": { "pattern": "^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$" }
    },
    {
      "name": "director2MobilePhoneNumber",
      "label": "Director 2 — Mobile Phone Number",
      "type": "string",
      "required": true,
      "sourceRef": "Page 2, DIRECTOR 2 — \"Mobile Phone Number\""
    },
    {
      "name": "director2ResidentialAddress",
      "label": "Director 2 — Residential address",
      "type": "string",
      "required": true,
      "sourceRef": "Page 2, DIRECTOR 2 — \"Residential address\""
    },
    {
      "name": "secretaryCanUpdateDataInOrs",
      "label": "Company Secretary — Can this person update data in ORS?",
      "type": "boolean",
      "required": true,
      "description": "Required, not optional: the Companies Act, Cap. 212 section 187 mandates a Secretary for every company (public or private), a requirement the Written Laws (Miscellaneous Amendments) (No. 3) Act, 2021 preserved, easing only a private-company secretary's professional-qualification requirement.",
      "sourceRef": "Page 2, COMPANY SECRETARY — \"Can this person update data in ORS?\""
    },
    {
      "name": "secretaryNationalIdOrPassport",
      "label": "Company Secretary — National ID/Passport No",
      "type": "string",
      "required": true,
      "sourceRef": "Page 2, COMPANY SECRETARY — \"National ID/Passport No\""
    },
    {
      "name": "secretaryTin",
      "label": "Company Secretary — TIN",
      "type": "string",
      "required": false,
      "description": "Taxpayer Identification Number, where applicable.",
      "sourceRef": "Page 2, COMPANY SECRETARY — \"TIN\""
    },
    {
      "name": "secretaryName",
      "label": "Company Secretary — Name",
      "type": "string",
      "required": true,
      "sourceRef": "Page 2, COMPANY SECRETARY — \"Name\""
    },
    {
      "name": "secretaryGender",
      "label": "Company Secretary — Gender",
      "type": "string",
      "required": true,
      "sourceRef": "Page 2, COMPANY SECRETARY — \"Gender\""
    },
    {
      "name": "secretaryDateOfBirth",
      "label": "Company Secretary — Date of birth",
      "type": "date",
      "required": true,
      "sourceRef": "Page 2, COMPANY SECRETARY — \"Date of birth\""
    },
    {
      "name": "secretaryNationality",
      "label": "Company Secretary — Nationality",
      "type": "string",
      "required": true,
      "sourceRef": "Page 2, COMPANY SECRETARY — \"Nationality\""
    },
    {
      "name": "secretaryEmail",
      "label": "Company Secretary — E-mail Address",
      "type": "string",
      "required": true,
      "sourceRef": "Page 2, COMPANY SECRETARY — \"E-mail Address\"",
      "validation": { "pattern": "^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$" }
    },
    {
      "name": "secretaryMobilePhoneNumber",
      "label": "Company Secretary — Mobile Phone Number",
      "type": "string",
      "required": true,
      "sourceRef": "Page 2, COMPANY SECRETARY — \"Mobile Phone Number\""
    },
    {
      "name": "secretaryResidentialAddress",
      "label": "Company Secretary — Residential address",
      "type": "string",
      "required": true,
      "sourceRef": "Page 2, COMPANY SECRETARY — \"Residential address\""
    },
    {
      "name": "authorisedShareCapitalTypeOfShares",
      "label": "Authorised Share Capital — Type of Shares",
      "type": "string",
      "required": true,
      "sourceRef": "Page 2, AUTHORISED SHARE CAPITAL table — \"Type of Shares\" column"
    },
    {
      "name": "authorisedShareCapitalClassOfShares",
      "label": "Authorised Share Capital — Class of shares",
      "type": "string",
      "required": true,
      "sourceRef": "Page 2, AUTHORISED SHARE CAPITAL table — \"Class of shares\" column"
    },
    {
      "name": "authorisedShareCapitalTotalNumberOfShares",
      "label": "Authorised Share Capital — Total Number of shares",
      "type": "integer",
      "required": true,
      "sourceRef": "Page 2, AUTHORISED SHARE CAPITAL table — \"Total Number of shares\" column",
      "validation": { "minimum": 1 }
    },
    {
      "name": "authorisedShareCapitalAggregateNominalValue",
      "label": "Authorised Share Capital — Aggregate nominal value (TZS)",
      "type": "number",
      "required": true,
      "description": "Denominated in Tanzanian Shillings, per the table's own printed Currency column (fixed to 'TZS', not a fill-in cell).",
      "sourceRef": "Page 2, AUTHORISED SHARE CAPITAL table — \"Value / Aggregate nominal value\" / \"Currency TZS\" columns",
      "validation": { "minimum": 0 }
    },
    {
      "name": "authorisedShareCapitalTotalValueTzs",
      "label": "Authorised Share Capital — Total (TZS)",
      "type": "number",
      "required": true,
      "description": "The table's own bottom 'Total' row, denominated in Tanzanian Shillings per its printed 'TZS' label.",
      "sourceRef": "Page 2, AUTHORISED SHARE CAPITAL table — \"Total\" row, \"TZS\"",
      "validation": { "minimum": 0 }
    },
    {
      "name": "shareholder1NationalIdOrPassport",
      "label": "Shareholder 1 — National ID/Passport No",
      "type": "string",
      "required": true,
      "sourceRef": "Page 2, SHAREHOLDERS, Shareholder 1 — \"National ID/Passport No\""
    },
    {
      "name": "shareholder1Name",
      "label": "Shareholder 1 — Name",
      "type": "string",
      "required": true,
      "sourceRef": "Page 2, SHAREHOLDERS, Shareholder 1 — \"Name\""
    },
    {
      "name": "shareholder1Gender",
      "label": "Shareholder 1 — Gender",
      "type": "string",
      "required": true,
      "sourceRef": "Page 2, SHAREHOLDERS, Shareholder 1 — \"Gender\""
    },
    {
      "name": "shareholder1DateOfBirth",
      "label": "Shareholder 1 — Date of birth",
      "type": "date",
      "required": true,
      "sourceRef": "Page 2, SHAREHOLDERS, Shareholder 1 — \"Date of birth\""
    },
    {
      "name": "shareholder1Nationality",
      "label": "Shareholder 1 — Nationality",
      "type": "string",
      "required": true,
      "sourceRef": "Page 2, SHAREHOLDERS, Shareholder 1 — \"Nationality\""
    },
    {
      "name": "shareholder1Email",
      "label": "Shareholder 1 — E-mail Address",
      "type": "string",
      "required": true,
      "sourceRef": "Page 2, SHAREHOLDERS, Shareholder 1 — \"E-mail Address\"",
      "validation": { "pattern": "^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$" }
    },
    {
      "name": "shareholder1MobilePhoneNumber",
      "label": "Shareholder 1 — Mobile Phone Number",
      "type": "string",
      "required": true,
      "sourceRef": "Page 2, SHAREHOLDERS, Shareholder 1 — \"Mobile Phone Number\""
    },
    {
      "name": "shareholder1ResidentialAddress",
      "label": "Shareholder 1 — Residential address",
      "type": "string",
      "required": true,
      "sourceRef": "Page 2, SHAREHOLDERS, Shareholder 1 — \"Residential address\""
    },
    {
      "name": "shareholder1TypeOfSharesTaken",
      "label": "Shareholder 1 — Type of shares taken",
      "type": "string",
      "required": true,
      "sourceRef": "Page 2, SHAREHOLDERS, Shareholder 1 — \"Type of shares taken\""
    },
    {
      "name": "shareholder1ClassOfShares",
      "label": "Shareholder 1 — Class of shares",
      "type": "string",
      "required": true,
      "sourceRef": "Page 2, SHAREHOLDERS, Shareholder 1 — \"Class of shares\""
    },
    {
      "name": "shareholder1NumberOfShares",
      "label": "Shareholder 1 — Number of shares",
      "type": "integer",
      "required": true,
      "sourceRef": "Page 2, SHAREHOLDERS, Shareholder 1 — \"Number of shares\"",
      "validation": { "minimum": 1 }
    },
    {
      "name": "shareholder2NationalIdOrPassport",
      "label": "Shareholder 2 — National ID/Passport No",
      "type": "string",
      "required": true,
      "description": "Required, not optional: the Companies Act, Cap. 212 sections 26-27 treat two members as the ordinary minimum for a company (no single-member carve-out is defined in this Act), matching the form's own fixed two-shareholder layout.",
      "sourceRef": "Page 3, SHAREHOLDER 2 — \"National ID/Passport No\""
    },
    {
      "name": "shareholder2Name",
      "label": "Shareholder 2 — Name",
      "type": "string",
      "required": true,
      "sourceRef": "Page 3, SHAREHOLDER 2 — \"Name\""
    },
    {
      "name": "shareholder2Gender",
      "label": "Shareholder 2 — Gender",
      "type": "string",
      "required": true,
      "sourceRef": "Page 3, SHAREHOLDER 2 — \"Gender\""
    },
    {
      "name": "shareholder2DateOfBirth",
      "label": "Shareholder 2 — Date of birth",
      "type": "date",
      "required": true,
      "sourceRef": "Page 3, SHAREHOLDER 2 — \"Date of birth\""
    },
    {
      "name": "shareholder2Nationality",
      "label": "Shareholder 2 — Nationality",
      "type": "string",
      "required": true,
      "sourceRef": "Page 3, SHAREHOLDER 2 — \"Nationality\""
    },
    {
      "name": "shareholder2Email",
      "label": "Shareholder 2 — E-mail Address",
      "type": "string",
      "required": true,
      "sourceRef": "Page 3, SHAREHOLDER 2 — \"E-mail Address\"",
      "validation": { "pattern": "^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$" }
    },
    {
      "name": "shareholder2MobilePhoneNumber",
      "label": "Shareholder 2 — Mobile Phone Number",
      "type": "string",
      "required": true,
      "sourceRef": "Page 3, SHAREHOLDER 2 — \"Mobile Phone Number\""
    },
    {
      "name": "shareholder2ResidentialAddress",
      "label": "Shareholder 2 — Residential address",
      "type": "string",
      "required": true,
      "sourceRef": "Page 3, SHAREHOLDER 2 — \"Residential address\""
    },
    {
      "name": "shareholder2TypeOfSharesTaken",
      "label": "Shareholder 2 — Type of shares taken",
      "type": "string",
      "required": true,
      "sourceRef": "Page 3, SHAREHOLDER 2 — \"Type of shares taken\""
    },
    {
      "name": "shareholder2ClassOfShares",
      "label": "Shareholder 2 — Class of shares",
      "type": "string",
      "required": true,
      "sourceRef": "Page 3, SHAREHOLDER 2 — \"Class of shares\""
    },
    {
      "name": "shareholder2NumberOfShares",
      "label": "Shareholder 2 — Number of shares",
      "type": "integer",
      "required": true,
      "sourceRef": "Page 3, SHAREHOLDER 2 — \"Number of shares\"",
      "validation": { "minimum": 1 }
    }
  ]
}
