{
  "$schema": "https://govschema.org/spec/v0.3/govschema.schema.json",
  "govschemaVersion": "0.3.0",
  "id": "in/mca/company-incorporation-spice-plus",
  "version": "1.0.0",
  "title": "India Company Incorporation — One Person Company (SPICe+ Part A & Part B, Form INC-32)",
  "description": "Reserve a company name and incorporate a One Person Company (OPC) in India through the integrated SPICe+ (Simplified Proforma for Incorporating Company Electronically Plus) web form on the MCA21 portal, administered by the Ministry of Corporate Affairs (MCA) under the Companies Act, 2013 and the Companies (Incorporation) Rules, 2014. SPICe+ combines what were previously separate filings — name reservation (Part A), incorporation with allotment of Corporate Identification Number (CIN) and Director Identification Number (DIN) (Part B, Form INC-32), and PAN/TAN allotment — into a single form; it is the closest Indian analogue to a single-founder LLC formation, which is why this document is the GB counterpart-style scoped reference: a sole individual forming an OPC having equity share capital, who is the company's only subscriber to the Memorandum of Association and only director, is an Indian citizen resident in India, does not yet hold a Director Identification Number (the common case for a first-time founder — SPICe+ itself allots the DIN), and nominates one other Indian-citizen-resident individual under Section 3 of the Companies Act, 2013 as required for every OPC. Private (non-OPC) companies, Public companies, Producer companies, Section 8 (not-for-profit) companies, Nidhi companies, Part I LLP-to-company conversions, companies not having share capital, multiple share classes, non-individual/foreign subscribers, more than one company director, and the AGILE-PRO-S linked web form (GSTIN, EPFO, ESIC, PTEC/PTRC, Shops & Establishment registration, and bank account opening) are all out of scope — see VERIFICATION.md. Does not submit the application; the live MCA21 portal (mca.gov.in) is always authoritative.",
  "status": "draft",
  "jurisdiction": {
    "country": "IN",
    "level": "national"
  },
  "authority": {
    "name": "Ministry of Corporate Affairs, Government of India (MCA21 portal), under the Companies Act, 2013",
    "abbreviation": "MCA",
    "url": "https://www.mca.gov.in"
  },
  "process": {
    "type": "registration",
    "language": "en-IN"
  },
  "source": {
    "url": "https://www.mca.gov.in/content/forms/af/mca-aem-forms/spice-part-b/spice-plus-part-b.html",
    "retrievedAt": "2026-07-03",
    "documentRef": "SPICe+ Part A (Name Reservation) and SPICe+ Part B / Form INC-32 (Simplified Proforma for Incorporating Company Electronically Plus), pursuant to sections 4, 7, 8(1), 12, 152 and 153 of the Companies Act, 2013"
  },
  "verification": {
    "method": "manual-source-review-v1",
    "lastVerifiedAt": "2026-07-03",
    "verifiedBy": "GovSchema Engineering (Standards Engineer)",
    "nextReviewBy": "2027-01-03",
    "notes": "mca.gov.in 403-blocks (Akamai edge/WAF) both direct curl/WebFetch and a headless-browser (Playwright) pass from this environment's egress — the same class of permanent IP-level block previously hit at nzta.govt.nz and i-kfz.de, not a JS challenge a browser can defeat. Sourced instead from: (1) the MCA's own downloadable 'Instruction Kit for webform SPICe+ Part A (Name Reservation)' and 'Instruction Kit for Form No. SPICe+ Part B' PDFs, both retrieved via a Wayback Machine snapshot of the official mca.gov.in path and text-extracted with pdfjs-dist; and (2) a very recent (2026-01-09) Wayback Machine snapshot of the live SPICe+ Part B Adaptive Form HTML itself (mca.gov.in/content/forms/af/mca-aem-forms/spice-part-b/spice-plus-part-b.html), whose rendered DOM text contains the complete section-by-section field label structure (Structure of the Company; Address of the Company; Subscriber and Directors details; OPC Nomination; Stamp Duty; PAN/TAN Information; Attachments; Declaration) used to source every field in this document. Status remains 'draft' pending a live walkthrough of the MCA21 portal wizard, which this environment cannot reach. See VERIFICATION.md."
  },
  "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-03"
  },
  "license": "CC-BY-4.0",
  "fields": [
    {
      "name": "proposedName1",
      "label": "Proposed name of the company — first choice",
      "type": "string",
      "required": true,
      "description": "Proposed name for the One Person Company. Must include the suffix '(OPC) Private Limited' (e.g. 'ABC (OPC) Private Limited'). No abbreviation 'PVT'/'PVT.'/'(P)' is allowed, and 'LTD'/'LTD.'/'ltd'/'ltd.' is not allowed. Non-ASCII characters are not permitted.",
      "sourceRef": "SPICe+ Part A Instruction Kit §3.1, Field 'Particulars of the proposed or approved name'; illustrative list item 'In case of one person company – ABC (OPC) Private Limited'",
      "validation": {
        "minLength": 1,
        "maxLength": 75
      }
    },
    {
      "name": "proposedName2",
      "label": "Proposed name of the company — second choice (optional)",
      "type": "string",
      "required": false,
      "description": "An optional second proposed name, used if the first choice is rejected on the resemblance/undesirability check. Same naming rules as proposedName1 apply.",
      "sourceRef": "SPICe+ Part A Instruction Kit §3.1, Field 'Particulars of the proposed or approved name' — 'Two names can be proposed. However, it is mandatory to enter atleast one proposed name.'",
      "validation": {
        "maxLength": 75
      }
    },
    {
      "name": "nicCode1",
      "label": "Industry sub-class (NIC 2008 code) — primary",
      "type": "string",
      "required": true,
      "description": "Five-digit National Industrial Classification 2008 code identifying the company's primary industrial activity, selected via CRC's NIC search window. Up to three NIC codes may be selected in total; this one is the primary Industrial Classification the user is prompted to designate.",
      "sourceRef": "SPICe+ Part A Instruction Kit §3.1, Field 'Search and select industry sub-class (NIC Codes)'",
      "validation": {
        "pattern": "^[0-9]{5}$"
      }
    },
    {
      "name": "nicCode2",
      "label": "Industry sub-class (NIC 2008 code) — additional (optional)",
      "type": "string",
      "required": false,
      "sourceRef": "SPICe+ Part A Instruction Kit §3.1 — 'maximum three five-digit NIC Codes'",
      "validation": {
        "pattern": "^[0-9]{5}$"
      }
    },
    {
      "name": "nicCode3",
      "label": "Industry sub-class (NIC 2008 code) — additional (optional)",
      "type": "string",
      "required": false,
      "sourceRef": "SPICe+ Part A Instruction Kit §3.1 — 'maximum three five-digit NIC Codes'",
      "validation": {
        "pattern": "^[0-9]{5}$"
      }
    },
    {
      "name": "aoaEntrenched",
      "label": "Whether AOA is entrenched?",
      "type": "boolean",
      "required": true,
      "description": "Whether the Articles of Association contain entrenchment provisions (Section 5, Companies Act 2013) requiring a higher threshold than a special resolution to amend certain articles.",
      "sourceRef": "SPICe+ Part B webform §1(a) 'Whether AOA is entrenched? Yes No'"
    },
    {
      "name": "entrenchmentArticleCount",
      "label": "Number of Articles to which provisions of entrenchment is applicable",
      "type": "integer",
      "required": false,
      "description": "Must be greater than zero and less than or equal to 88 for a Private OPC.",
      "sourceRef": "SPICe+ Part B webform §1(b); Instruction Kit Field No. 1 — 'shall be greater than zero and less than or equal to 88 (in case of Private OPC)'",
      "validation": {
        "minimum": 1,
        "maximum": 88
      },
      "requiredWhen": {
        "field": "aoaEntrenched",
        "equals": true
      }
    },
    {
      "name": "hasShareCapital",
      "label": "Company is: having share capital",
      "type": "boolean",
      "required": true,
      "description": "This document models only the 'having share capital' branch (the common case for an OPC formed to carry on business with equity ownership). 'Not having share capital' (a company limited by guarantee) is out of scope — see VERIFICATION.md.",
      "sourceRef": "SPICe+ Part B webform §2 '*Company is: Having share capital / Not having share capital'",
      "validation": {
        "enum": [
          true
        ]
      }
    },
    {
      "name": "equityShareClassDescription",
      "label": "Equity share capital — class of shares",
      "type": "string",
      "required": false,
      "description": "Label for the single class of equity shares modelled by this document (e.g. 'Equity'). Scoped to one class; multiple share classes are out of scope.",
      "sourceRef": "SPICe+ Part B webform §3A(i) 'Class of shares'",
      "validation": {
        "minLength": 1,
        "maxLength": 100
      },
      "requiredWhen": {
        "field": "hasShareCapital",
        "equals": true
      }
    },
    {
      "name": "authorizedEquityShares",
      "label": "Number of authorized equity shares",
      "type": "integer",
      "required": false,
      "description": "Value entered must be greater than zero. Total authorized share capital is computed by the system as authorizedEquityShares × nominalValuePerEquityShare and is not itself collected as a separate input.",
      "sourceRef": "SPICe+ Part B webform §3A(i) 'Authorised capital'; Instruction Kit Field No. 3A(i) 'value entered shall be greater than zero in all the columns under header Authorised capital'",
      "validation": {
        "minimum": 1
      },
      "requiredWhen": {
        "field": "hasShareCapital",
        "equals": true
      }
    },
    {
      "name": "subscribedEquityShares",
      "label": "Number of subscribed equity shares",
      "type": "integer",
      "required": false,
      "description": "Must be greater than zero and cannot exceed authorizedEquityShares. Equals the sole subscriber's shareholding for an OPC.",
      "sourceRef": "SPICe+ Part B webform §3A(i) 'Subscribed capital'; Instruction Kit Field No. 3A(i) 'total number of subscribed shares/capital cannot exceed number of authorized shares/capital'",
      "validation": {
        "minimum": 1
      },
      "requiredWhen": {
        "field": "hasShareCapital",
        "equals": true
      }
    },
    {
      "name": "nominalValuePerEquityShare",
      "label": "Nominal amount per equity share (in INR)",
      "type": "number",
      "required": false,
      "description": "Must be the same value for both the authorized-capital and subscribed-capital columns.",
      "sourceRef": "SPICe+ Part B webform §3A(i) 'Nominal amount per share (in INR)'",
      "validation": {
        "minimum": 0.01
      },
      "requiredWhen": {
        "field": "hasShareCapital",
        "equals": true
      }
    },
    {
      "name": "correspondenceAddressLine1",
      "label": "Correspondence address — Line 1",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "SPICe+ Part B webform §4A 'Line 1'",
      "validation": {
        "minLength": 1,
        "maxLength": 200
      }
    },
    {
      "name": "correspondenceAddressLine2",
      "label": "Correspondence address — Line 2",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "SPICe+ Part B webform §4A 'Line 2'",
      "validation": {
        "maxLength": 200
      }
    },
    {
      "name": "correspondenceAddressPinCode",
      "label": "Correspondence address — Pin code",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "SPICe+ Part B webform §4A 'Pin code'",
      "validation": {
        "pattern": "^[0-9]{6}$"
      }
    },
    {
      "name": "correspondenceAddressAreaLocality",
      "label": "Correspondence address — Area/Locality",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "SPICe+ Part B webform §4A 'Area/Locality'",
      "validation": {
        "minLength": 1,
        "maxLength": 100
      }
    },
    {
      "name": "correspondenceAddressCity",
      "label": "Correspondence address — City",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "SPICe+ Part B webform §4A 'City'",
      "validation": {
        "minLength": 1,
        "maxLength": 100
      }
    },
    {
      "name": "correspondenceAddressDistrict",
      "label": "Correspondence address — District",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "SPICe+ Part B webform §4A 'District'",
      "validation": {
        "minLength": 1,
        "maxLength": 100
      }
    },
    {
      "name": "correspondenceAddressState",
      "label": "Correspondence address — State/UT",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "SPICe+ Part B webform §4A 'State/UT'",
      "validation": {
        "minLength": 1,
        "maxLength": 100
      }
    },
    {
      "name": "companyPhoneNumber",
      "label": "Company phone number (with STD code)",
      "type": "string",
      "required": false,
      "sourceRef": "SPICe+ Part B webform §4A 'Phone No. (with STD Code)'",
      "validation": {
        "maxLength": 20
      }
    },
    {
      "name": "companyMobileNumber",
      "label": "Company mobile number",
      "type": "string",
      "required": true,
      "description": "Verified on the live portal by a one-time password sent to this number; the OTP itself is a runtime verification step, not applicant-supplied form data, so it is not modelled as a separate field.",
      "sourceRef": "SPICe+ Part B webform §4A 'Contact details: Mobile No.'",
      "validation": {
        "pattern": "^[0-9]{10}$"
      }
    },
    {
      "name": "companyEmail",
      "label": "Company email ID",
      "type": "string",
      "required": true,
      "description": "Verified on the live portal by a one-time password sent to this address; the OTP itself is a runtime verification step, not applicant-supplied form data, so it is not modelled as a separate field.",
      "sourceRef": "SPICe+ Part B webform §4A '*Email ID of the company'",
      "validation": {
        "maxLength": 254
      }
    },
    {
      "name": "addressIsRegisteredOffice",
      "label": "Whether the address for correspondence is the address of registered office of the company",
      "type": "boolean",
      "required": true,
      "description": "This document models only the common 'Yes' case (the correspondence address given above doubles as the registered office from day one). 'No' (a distinct registered office collected separately) is out of scope — see VERIFICATION.md.",
      "sourceRef": "SPICe+ Part B webform §4B '*Whether the address for correspondence is the address of registered office of the company'",
      "validation": {
        "enum": [
          true
        ]
      }
    },
    {
      "name": "registeredOfficeLongitude",
      "label": "Registered office — longitude",
      "type": "number",
      "required": false,
      "description": "Must correspond to the pin code given in the correspondence/registered address.",
      "sourceRef": "SPICe+ Part B webform §4B 'Longitude'",
      "validation": {
        "minimum": -180,
        "maximum": 180
      },
      "requiredWhen": {
        "field": "addressIsRegisteredOffice",
        "equals": true
      }
    },
    {
      "name": "registeredOfficeLatitude",
      "label": "Registered office — latitude",
      "type": "number",
      "required": false,
      "description": "Must correspond to the pin code given in the correspondence/registered address.",
      "sourceRef": "SPICe+ Part B webform §4B 'Latitude'",
      "validation": {
        "minimum": -90,
        "maximum": 90
      },
      "requiredWhen": {
        "field": "addressIsRegisteredOffice",
        "equals": true
      }
    },
    {
      "name": "registrarOfCompaniesOffice",
      "label": "Name of the office of the Registrar of Companies in which the proposed company is to be registered",
      "type": "string",
      "required": true,
      "sourceRef": "SPICe+ Part B webform §4C '*Name of the office of the Registrar of Companies in which the proposed company is to be registered'",
      "validation": {
        "minLength": 1,
        "maxLength": 200
      }
    },
    {
      "name": "founderFirstName",
      "label": "Sole subscriber-cum-director — first name",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B '*First Name'",
      "validation": {
        "minLength": 1,
        "maxLength": 100
      }
    },
    {
      "name": "founderMiddleName",
      "label": "Sole subscriber-cum-director — middle name",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B 'Middle Name'",
      "validation": {
        "maxLength": 100
      }
    },
    {
      "name": "founderSurname",
      "label": "Sole subscriber-cum-director — surname",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B '*Surname'",
      "validation": {
        "minLength": 1,
        "maxLength": 100
      }
    },
    {
      "name": "founderFatherFirstName",
      "label": "Sole subscriber-cum-director — father's first name",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B \"*Father's First Name\"",
      "validation": {
        "minLength": 1,
        "maxLength": 100
      }
    },
    {
      "name": "founderFatherMiddleName",
      "label": "Sole subscriber-cum-director — father's middle name",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B \"Father's Middle Name\"",
      "validation": {
        "maxLength": 100
      }
    },
    {
      "name": "founderFatherSurname",
      "label": "Sole subscriber-cum-director — father's surname",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B \"*Father's Surname\"",
      "validation": {
        "minLength": 1,
        "maxLength": 100
      }
    },
    {
      "name": "founderGender",
      "label": "Sole subscriber-cum-director — gender",
      "type": "enum",
      "required": true,
      "classification": "pii",
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B '*Gender Select Here Male Female Transgender'",
      "validation": {
        "enum": [
          "male",
          "female",
          "transgender"
        ]
      }
    },
    {
      "name": "founderDateOfBirth",
      "label": "Sole subscriber-cum-director — date of birth",
      "type": "date",
      "required": true,
      "classification": "sensitive-pii",
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B '*Date of Birth'"
    },
    {
      "name": "founderNationality",
      "label": "Sole subscriber-cum-director — nationality",
      "type": "enum",
      "required": true,
      "description": "An OPC's sole subscriber-cum-director and its nominee must both be Indian citizens resident in India (Companies (Incorporation) Rules, 2014, Rule 3), so this document restricts the enum to 'india'.",
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B '*Nationality Select Here India'",
      "validation": {
        "enum": [
          "india"
        ]
      }
    },
    {
      "name": "founderPlaceOfBirth",
      "label": "Sole subscriber-cum-director — place of birth",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B '*Place of Birth'",
      "validation": {
        "minLength": 1,
        "maxLength": 200
      }
    },
    {
      "name": "founderOccupationType",
      "label": "Sole subscriber-cum-director — occupation type",
      "type": "enum",
      "required": true,
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B '*Occupation type Select Here Business Professional Government Employment Private Employment Housewife Student Others'",
      "validation": {
        "enum": [
          "business",
          "professional",
          "government_employment",
          "private_employment",
          "housewife",
          "student",
          "others"
        ]
      }
    },
    {
      "name": "founderAreaOfOccupation",
      "label": "Sole subscriber-cum-director — area of occupation",
      "type": "enum",
      "required": true,
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B '*Area of Occupation Select Here IT Others'",
      "validation": {
        "enum": [
          "it",
          "others"
        ]
      }
    },
    {
      "name": "founderAreaOfOccupationOtherDescription",
      "label": "Sole subscriber-cum-director — area of occupation, if 'Others'",
      "type": "string",
      "required": false,
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B \"if 'Others' selected, please specify\"",
      "validation": {
        "minLength": 1,
        "maxLength": 200
      },
      "requiredWhen": {
        "field": "founderAreaOfOccupation",
        "equals": "others"
      }
    },
    {
      "name": "founderEducationalQualification",
      "label": "Sole subscriber-cum-director — educational qualification",
      "type": "enum",
      "required": true,
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B '*Educational Qualification Select Here Masters Others'",
      "validation": {
        "enum": [
          "masters",
          "others"
        ]
      }
    },
    {
      "name": "founderEducationalQualificationOtherDescription",
      "label": "Sole subscriber-cum-director — educational qualification, if 'Others'",
      "type": "string",
      "required": false,
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B \"if 'Others' selected, please specify\"",
      "validation": {
        "minLength": 1,
        "maxLength": 200
      },
      "requiredWhen": {
        "field": "founderEducationalQualification",
        "equals": "others"
      }
    },
    {
      "name": "founderPan",
      "label": "Sole subscriber-cum-director — Income-tax PAN",
      "type": "string",
      "required": true,
      "classification": "sensitive-pii",
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B '*Income tax-PAN' / '*Income tax -PAN'; verified against the PAN database via the 'Verify details' action",
      "validation": {
        "pattern": "^[A-Z]{5}[0-9]{4}[A-Z]$",
        "maxLength": 10
      }
    },
    {
      "name": "founderMobileNumber",
      "label": "Sole subscriber-cum-director — mobile number",
      "type": "string",
      "required": true,
      "description": "Verified on the live portal by a one-time password; the OTP itself is a runtime verification step, not modelled as a separate field.",
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B 'Contact details: Mobile No.'",
      "validation": {
        "pattern": "^[0-9]{10}$"
      }
    },
    {
      "name": "founderEmail",
      "label": "Sole subscriber-cum-director — email ID",
      "type": "string",
      "required": true,
      "description": "Verified on the live portal by a one-time password; the OTP itself is a runtime verification step, not modelled as a separate field.",
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B '*Email ID'",
      "validation": {
        "maxLength": 254
      }
    },
    {
      "name": "founderPermanentAddressLine1",
      "label": "Sole subscriber-cum-director — permanent address, Line 1",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B 'Permanent Address *Line 1'",
      "validation": {
        "minLength": 1,
        "maxLength": 200
      }
    },
    {
      "name": "founderPermanentAddressLine2",
      "label": "Sole subscriber-cum-director — permanent address, Line 2",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B 'Line 2'",
      "validation": {
        "maxLength": 200
      }
    },
    {
      "name": "founderPermanentAddressPinCode",
      "label": "Sole subscriber-cum-director — permanent address, Pin code",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B '*Pin code'",
      "validation": {
        "pattern": "^[0-9]{6}$"
      }
    },
    {
      "name": "founderPermanentAddressAreaLocality",
      "label": "Sole subscriber-cum-director — permanent address, Area/Locality",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B '*Area/Locality'",
      "validation": {
        "minLength": 1,
        "maxLength": 100
      }
    },
    {
      "name": "founderPermanentAddressCity",
      "label": "Sole subscriber-cum-director — permanent address, City",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B '*City'",
      "validation": {
        "minLength": 1,
        "maxLength": 100
      }
    },
    {
      "name": "founderPermanentAddressDistrict",
      "label": "Sole subscriber-cum-director — permanent address, District",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B 'District'",
      "validation": {
        "maxLength": 100
      }
    },
    {
      "name": "founderPermanentAddressState",
      "label": "Sole subscriber-cum-director — permanent address, State/UT",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B '*State/UT'",
      "validation": {
        "minLength": 1,
        "maxLength": 100
      }
    },
    {
      "name": "founderPermanentAddressPhone",
      "label": "Sole subscriber-cum-director — permanent address, phone (with STD/ISD code)",
      "type": "string",
      "required": false,
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B 'Phone (with STD/ISD code)'",
      "validation": {
        "maxLength": 20
      }
    },
    {
      "name": "founderPresentAddressSameAsPermanent",
      "label": "Sole subscriber-cum-director — whether present residential address is same as permanent address",
      "type": "boolean",
      "required": true,
      "description": "This document models only the common 'Yes' case. 'No' (a distinct present address collected separately) is out of scope — see VERIFICATION.md.",
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B '*Whether present residential address is same as permanent residential address'",
      "validation": {
        "enum": [
          true
        ]
      }
    },
    {
      "name": "founderDurationOfStayYears",
      "label": "Sole subscriber-cum-director — duration of stay at present address, years",
      "type": "integer",
      "required": true,
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B '*Duration of stay at present address Years'",
      "validation": {
        "minimum": 0
      }
    },
    {
      "name": "founderDurationOfStayMonths",
      "label": "Sole subscriber-cum-director — duration of stay at present address, months",
      "type": "integer",
      "required": true,
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B 'Months'",
      "validation": {
        "minimum": 0,
        "maximum": 11
      }
    },
    {
      "name": "founderIdentityProofType",
      "label": "Sole subscriber-cum-director — identity proof document",
      "type": "enum",
      "required": true,
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B '*Identity Proof Select Here Voters Identity Card Passport Driving License Aadhaar'",
      "validation": {
        "enum": [
          "voters_identity_card",
          "passport",
          "driving_license",
          "aadhaar"
        ]
      }
    },
    {
      "name": "founderIdentityProofNumber",
      "label": "Sole subscriber-cum-director — identity proof document number",
      "type": "string",
      "required": true,
      "classification": "sensitive-pii",
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B '*Identity Proof No.'",
      "validation": {
        "minLength": 1,
        "maxLength": 30
      }
    },
    {
      "name": "founderResidentialProofType",
      "label": "Sole subscriber-cum-director — residential proof document",
      "type": "enum",
      "required": true,
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B '*Residential Proof Select Here Voters Identity Card Passport Driving License Aadhaar'",
      "validation": {
        "enum": [
          "voters_identity_card",
          "passport",
          "driving_license",
          "aadhaar"
        ]
      }
    },
    {
      "name": "founderResidentialProofNumber",
      "label": "Sole subscriber-cum-director — residential proof document number",
      "type": "string",
      "required": true,
      "classification": "sensitive-pii",
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B '*Residential Proof No.'",
      "validation": {
        "minLength": 1,
        "maxLength": 30
      }
    },
    {
      "name": "founderCitizenOfIndia",
      "label": "Sole subscriber-cum-director — whether citizen of India",
      "type": "boolean",
      "required": true,
      "description": "Must be true: OPC eligibility (Companies (Incorporation) Rules, 2014, Rule 3) is restricted to a natural person who is an Indian citizen.",
      "sourceRef": "SPICe+ Part B webform §7B(i) '*Whether citizen of India Yes No'",
      "validation": {
        "enum": [
          true
        ]
      }
    },
    {
      "name": "founderResidentInIndia",
      "label": "Sole subscriber-cum-director — whether resident in India",
      "type": "boolean",
      "required": true,
      "description": "Must be true: OPC eligibility (Rule 3) is restricted to a natural person resident in India (stayed in India for a period of not less than 120 days during the immediately preceding financial year).",
      "sourceRef": "SPICe+ Part B webform §7B(i) '*Whether resident in India Yes No'",
      "validation": {
        "enum": [
          true
        ]
      }
    },
    {
      "name": "founderDesignation",
      "label": "Sole subscriber-cum-director — designation",
      "type": "enum",
      "required": true,
      "sourceRef": "SPICe+ Part B webform §7A(i)/§7B(i) '*Designation Select Here Director Managing Director Whole Time Director Nominee Director'",
      "validation": {
        "enum": [
          "director",
          "managing_director",
          "whole_time_director",
          "nominee_director"
        ]
      }
    },
    {
      "name": "founderCategory",
      "label": "Sole subscriber-cum-director — category",
      "type": "enum",
      "required": true,
      "sourceRef": "SPICe+ Part B webform §7A(i)/§7B(i) '*Category Select Here Promoter Professional Independent Nominee'",
      "validation": {
        "enum": [
          "promoter",
          "professional",
          "independent",
          "nominee"
        ]
      }
    },
    {
      "name": "founderBoardRole",
      "label": "Sole subscriber-cum-director — board role",
      "type": "enum",
      "required": false,
      "sourceRef": "SPICe+ Part B webform §7A(i)/§7B(i) 'Whether Chairman Executive director Non-executive director'",
      "validation": {
        "enum": [
          "chairman",
          "executive_director",
          "non_executive_director"
        ]
      }
    },
    {
      "name": "nomineeFirstName",
      "label": "Nominee — first name",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B '*First Name'",
      "validation": {
        "minLength": 1,
        "maxLength": 100
      }
    },
    {
      "name": "nomineeMiddleName",
      "label": "Nominee — middle name",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B 'Middle Name'",
      "validation": {
        "maxLength": 100
      }
    },
    {
      "name": "nomineeSurname",
      "label": "Nominee — surname",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B '*Surname'",
      "validation": {
        "minLength": 1,
        "maxLength": 100
      }
    },
    {
      "name": "nomineeFatherFirstName",
      "label": "Nominee — father's first name",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B \"*Father's First Name\"",
      "validation": {
        "minLength": 1,
        "maxLength": 100
      }
    },
    {
      "name": "nomineeFatherMiddleName",
      "label": "Nominee — father's middle name",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B \"Father's Middle Name\"",
      "validation": {
        "maxLength": 100
      }
    },
    {
      "name": "nomineeFatherSurname",
      "label": "Nominee — father's surname",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B \"*Father's Surname\"",
      "validation": {
        "minLength": 1,
        "maxLength": 100
      }
    },
    {
      "name": "nomineeGender",
      "label": "Nominee — gender",
      "type": "enum",
      "required": true,
      "classification": "pii",
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B '*Gender Select Here Male Female Transgender'",
      "validation": {
        "enum": [
          "male",
          "female",
          "transgender"
        ]
      }
    },
    {
      "name": "nomineeDateOfBirth",
      "label": "Nominee — date of birth",
      "type": "date",
      "required": true,
      "classification": "sensitive-pii",
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B '*Date of Birth'"
    },
    {
      "name": "nomineeNationality",
      "label": "Nominee — nationality",
      "type": "enum",
      "required": true,
      "description": "An OPC's sole subscriber-cum-director and its nominee must both be Indian citizens resident in India (Companies (Incorporation) Rules, 2014, Rule 3), so this document restricts the enum to 'india'.",
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B '*Nationality Select Here India'",
      "validation": {
        "enum": [
          "india"
        ]
      }
    },
    {
      "name": "nomineePlaceOfBirth",
      "label": "Nominee — place of birth",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B '*Place of Birth'",
      "validation": {
        "minLength": 1,
        "maxLength": 200
      }
    },
    {
      "name": "nomineeOccupationType",
      "label": "Nominee — occupation type",
      "type": "enum",
      "required": true,
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B '*Occupation type Select Here Business Professional Government Employment Private Employment Housewife Student Others'",
      "validation": {
        "enum": [
          "business",
          "professional",
          "government_employment",
          "private_employment",
          "housewife",
          "student",
          "others"
        ]
      }
    },
    {
      "name": "nomineeAreaOfOccupation",
      "label": "Nominee — area of occupation",
      "type": "enum",
      "required": true,
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B '*Area of Occupation Select Here IT Others'",
      "validation": {
        "enum": [
          "it",
          "others"
        ]
      }
    },
    {
      "name": "nomineeAreaOfOccupationOtherDescription",
      "label": "Nominee — area of occupation, if 'Others'",
      "type": "string",
      "required": false,
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B \"if 'Others' selected, please specify\"",
      "validation": {
        "minLength": 1,
        "maxLength": 200
      },
      "requiredWhen": {
        "field": "nomineeAreaOfOccupation",
        "equals": "others"
      }
    },
    {
      "name": "nomineeEducationalQualification",
      "label": "Nominee — educational qualification",
      "type": "enum",
      "required": true,
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B '*Educational Qualification Select Here Masters Others'",
      "validation": {
        "enum": [
          "masters",
          "others"
        ]
      }
    },
    {
      "name": "nomineeEducationalQualificationOtherDescription",
      "label": "Nominee — educational qualification, if 'Others'",
      "type": "string",
      "required": false,
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B \"if 'Others' selected, please specify\"",
      "validation": {
        "minLength": 1,
        "maxLength": 200
      },
      "requiredWhen": {
        "field": "nomineeEducationalQualification",
        "equals": "others"
      }
    },
    {
      "name": "nomineePan",
      "label": "Nominee — Income-tax PAN",
      "type": "string",
      "required": true,
      "classification": "sensitive-pii",
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B '*Income tax-PAN' / '*Income tax -PAN'; verified against the PAN database via the 'Verify details' action",
      "validation": {
        "pattern": "^[A-Z]{5}[0-9]{4}[A-Z]$",
        "maxLength": 10
      }
    },
    {
      "name": "nomineeMobileNumber",
      "label": "Nominee — mobile number",
      "type": "string",
      "required": true,
      "description": "Verified on the live portal by a one-time password; the OTP itself is a runtime verification step, not modelled as a separate field.",
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B 'Contact details: Mobile No.'",
      "validation": {
        "pattern": "^[0-9]{10}$"
      }
    },
    {
      "name": "nomineeEmail",
      "label": "Nominee — email ID",
      "type": "string",
      "required": true,
      "description": "Verified on the live portal by a one-time password; the OTP itself is a runtime verification step, not modelled as a separate field.",
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B '*Email ID'",
      "validation": {
        "maxLength": 254
      }
    },
    {
      "name": "nomineePermanentAddressLine1",
      "label": "Nominee — permanent address, Line 1",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B 'Permanent Address *Line 1'",
      "validation": {
        "minLength": 1,
        "maxLength": 200
      }
    },
    {
      "name": "nomineePermanentAddressLine2",
      "label": "Nominee — permanent address, Line 2",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B 'Line 2'",
      "validation": {
        "maxLength": 200
      }
    },
    {
      "name": "nomineePermanentAddressPinCode",
      "label": "Nominee — permanent address, Pin code",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B '*Pin code'",
      "validation": {
        "pattern": "^[0-9]{6}$"
      }
    },
    {
      "name": "nomineePermanentAddressAreaLocality",
      "label": "Nominee — permanent address, Area/Locality",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B '*Area/Locality'",
      "validation": {
        "minLength": 1,
        "maxLength": 100
      }
    },
    {
      "name": "nomineePermanentAddressCity",
      "label": "Nominee — permanent address, City",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B '*City'",
      "validation": {
        "minLength": 1,
        "maxLength": 100
      }
    },
    {
      "name": "nomineePermanentAddressDistrict",
      "label": "Nominee — permanent address, District",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B 'District'",
      "validation": {
        "maxLength": 100
      }
    },
    {
      "name": "nomineePermanentAddressState",
      "label": "Nominee — permanent address, State/UT",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B '*State/UT'",
      "validation": {
        "minLength": 1,
        "maxLength": 100
      }
    },
    {
      "name": "nomineePermanentAddressPhone",
      "label": "Nominee — permanent address, phone (with STD/ISD code)",
      "type": "string",
      "required": false,
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B 'Phone (with STD/ISD code)'",
      "validation": {
        "maxLength": 20
      }
    },
    {
      "name": "nomineePresentAddressSameAsPermanent",
      "label": "Nominee — whether present residential address is same as permanent address",
      "type": "boolean",
      "required": true,
      "description": "This document models only the common 'Yes' case. 'No' (a distinct present address collected separately) is out of scope — see VERIFICATION.md.",
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B '*Whether present residential address is same as permanent residential address'",
      "validation": {
        "enum": [
          true
        ]
      }
    },
    {
      "name": "nomineeDurationOfStayYears",
      "label": "Nominee — duration of stay at present address, years",
      "type": "integer",
      "required": true,
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B '*Duration of stay at present address Years'",
      "validation": {
        "minimum": 0
      }
    },
    {
      "name": "nomineeDurationOfStayMonths",
      "label": "Nominee — duration of stay at present address, months",
      "type": "integer",
      "required": true,
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B 'Months'",
      "validation": {
        "minimum": 0,
        "maximum": 11
      }
    },
    {
      "name": "nomineeIdentityProofType",
      "label": "Nominee — identity proof document",
      "type": "enum",
      "required": true,
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B '*Identity Proof Select Here Voters Identity Card Passport Driving License Aadhaar'",
      "validation": {
        "enum": [
          "voters_identity_card",
          "passport",
          "driving_license",
          "aadhaar"
        ]
      }
    },
    {
      "name": "nomineeIdentityProofNumber",
      "label": "Nominee — identity proof document number",
      "type": "string",
      "required": true,
      "classification": "sensitive-pii",
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B '*Identity Proof No.'",
      "validation": {
        "minLength": 1,
        "maxLength": 30
      }
    },
    {
      "name": "nomineeResidentialProofType",
      "label": "Nominee — residential proof document",
      "type": "enum",
      "required": true,
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B '*Residential Proof Select Here Voters Identity Card Passport Driving License Aadhaar'",
      "validation": {
        "enum": [
          "voters_identity_card",
          "passport",
          "driving_license",
          "aadhaar"
        ]
      }
    },
    {
      "name": "nomineeResidentialProofNumber",
      "label": "Nominee — residential proof document number",
      "type": "string",
      "required": true,
      "classification": "sensitive-pii",
      "sourceRef": "SPICe+ Part B webform §7B(i)/§8B '*Residential Proof No.'",
      "validation": {
        "minLength": 1,
        "maxLength": 30
      }
    },
    {
      "name": "nomineeConsentAndDeclaration",
      "label": "Nominee — consent and declaration",
      "type": "boolean",
      "required": true,
      "description": "Combines the nominee's consent to become a member of the company on the subscriber's death/incapacity with their declaration of Indian citizenship/residency, absence of prior conviction or disqualification under company/LLP law in the last five years, that they are not already a nominee in any other OPC, and that they will comply with Rule 3(3)'s eligibility criteria within the prescribed period. Modelled as one combined field per this registry's convention for a single-signature declaration block (cf. in/eci/voter-registration's declarationAndConsent).",
      "sourceRef": "SPICe+ Part B webform §8B 'Consent along with declaration by Nominee'"
    },
    {
      "name": "nomineeDigitallySigned",
      "label": "Nominee — to be digitally signed by nominee",
      "type": "boolean",
      "required": true,
      "sourceRef": "SPICe+ Part B webform §8B 'To be digitally signed by Nominee'"
    },
    {
      "name": "stampDutyState",
      "label": "State or union territory in respect of which stamp duty is paid or to be paid",
      "type": "string",
      "required": true,
      "sourceRef": "SPICe+ Part B webform §9A",
      "validation": {
        "minLength": 1,
        "maxLength": 100
      }
    },
    {
      "name": "stampDutyPaidElectronically",
      "label": "Whether stamp duty is to be paid electronically through MCA21 system",
      "type": "enum",
      "required": true,
      "sourceRef": "SPICe+ Part B webform §9B '*Whether stamp duty is to be paid electronically through MCA 21 system Yes No Not applicable'",
      "validation": {
        "enum": [
          "yes",
          "no",
          "not_applicable"
        ]
      }
    },
    {
      "name": "stampDutyTotalAmountPaid",
      "label": "Total amount of stamp duty already paid (in INR)",
      "type": "number",
      "required": false,
      "description": "Manual (non-MCA21-electronic) stamp duty payment on the SPICe+/MOA/AOA documents, evidenced by physical stamp papers/franking/challan.",
      "sourceRef": "SPICe+ Part B webform §9B(ii) 'Total amount of stamp duty paid (in Rs.)'",
      "validation": {
        "minimum": 0
      },
      "requiredWhen": {
        "field": "stampDutyPaidElectronically",
        "equals": "no"
      }
    },
    {
      "name": "stampDutyModeOfPayment",
      "label": "Mode of payment of stamp duty already paid",
      "type": "enum",
      "required": false,
      "sourceRef": "SPICe+ Part B webform §9B(ii) 'Mode of payment of stamp duty Select Here Manual Electronic'",
      "validation": {
        "enum": [
          "manual",
          "electronic"
        ]
      },
      "requiredWhen": {
        "field": "stampDutyPaidElectronically",
        "equals": "no"
      }
    },
    {
      "name": "stampDutyVendorName",
      "label": "Name of vendor/treasury/authority who collected/embossed the stamp duty",
      "type": "string",
      "required": false,
      "sourceRef": "SPICe+ Part B webform §9B(ii)",
      "validation": {
        "minLength": 1,
        "maxLength": 200
      },
      "requiredWhen": {
        "field": "stampDutyPaidElectronically",
        "equals": "no"
      }
    },
    {
      "name": "stampDutyPurchaseDate",
      "label": "Date of purchase of stamps/stamp paper or payment of stamp duty",
      "type": "date",
      "required": false,
      "sourceRef": "SPICe+ Part B webform §9B(ii) 'Date of purchase of stamps or stamp paper or payment of stamp duty (DD/MM/YYYY)'",
      "requiredWhen": {
        "field": "stampDutyPaidElectronically",
        "equals": "no"
      }
    },
    {
      "name": "panAreaCode",
      "label": "PAN jurisdiction — Area code",
      "type": "string",
      "required": true,
      "description": "Jurisdictional codes for the PAN allotted through this integrated SPICe+ filing, based on the registered office address.",
      "sourceRef": "SPICe+ Part B webform §10 'Information specific to PAN *Area code'",
      "validation": {
        "minLength": 1,
        "maxLength": 20
      }
    },
    {
      "name": "panAoType",
      "label": "PAN jurisdiction — AO type",
      "type": "string",
      "required": true,
      "sourceRef": "SPICe+ Part B webform §10 '*AO type'",
      "validation": {
        "minLength": 1,
        "maxLength": 20
      }
    },
    {
      "name": "panRangeCode",
      "label": "PAN jurisdiction — Range code",
      "type": "string",
      "required": true,
      "sourceRef": "SPICe+ Part B webform §10 '*Range code'",
      "validation": {
        "minLength": 1,
        "maxLength": 20
      }
    },
    {
      "name": "panAoNumber",
      "label": "PAN jurisdiction — AO number",
      "type": "string",
      "required": true,
      "sourceRef": "SPICe+ Part B webform §10 '*AO No.'",
      "validation": {
        "minLength": 1,
        "maxLength": 20
      }
    },
    {
      "name": "tanAreaCode",
      "label": "TAN jurisdiction — Area code",
      "type": "string",
      "required": true,
      "sourceRef": "SPICe+ Part B webform §10 'Information specific to TAN *Area code'",
      "validation": {
        "minLength": 1,
        "maxLength": 20
      }
    },
    {
      "name": "tanAoType",
      "label": "TAN jurisdiction — AO type",
      "type": "string",
      "required": true,
      "sourceRef": "SPICe+ Part B webform §10 '*AO type'",
      "validation": {
        "minLength": 1,
        "maxLength": 20
      }
    },
    {
      "name": "tanRangeCode",
      "label": "TAN jurisdiction — Range code",
      "type": "string",
      "required": true,
      "sourceRef": "SPICe+ Part B webform §10 '*Range code'",
      "validation": {
        "minLength": 1,
        "maxLength": 20
      }
    },
    {
      "name": "tanAoNumber",
      "label": "TAN jurisdiction — AO number",
      "type": "string",
      "required": true,
      "sourceRef": "SPICe+ Part B webform §10 '*AO No.'",
      "validation": {
        "minLength": 1,
        "maxLength": 20
      }
    },
    {
      "name": "sourceOfIncome",
      "label": "Source of Income",
      "type": "enum",
      "required": true,
      "sourceRef": "SPICe+ Part B webform §10 '*Source of Income Income from Business/profession Capital Gains Income from house property Income from Other Source No Income'",
      "validation": {
        "enum": [
          "business_or_profession",
          "capital_gains",
          "house_property",
          "other_source",
          "no_income"
        ]
      }
    },
    {
      "name": "businessProfessionCode",
      "label": "Business/Profession code",
      "type": "string",
      "required": false,
      "sourceRef": "SPICe+ Part B webform §10 '*Business/Profession code'",
      "validation": {
        "minLength": 1,
        "maxLength": 20
      },
      "requiredWhen": {
        "field": "sourceOfIncome",
        "equals": "business_or_profession"
      }
    },
    {
      "name": "nameAndRegistrationDeclaration",
      "label": "Declaration — name reservation and registration compliance",
      "type": "boolean",
      "required": true,
      "description": "Combines the director's declaration that the proposed name was checked against the MCA/LLP register and registered trademarks and complies with the Emblems and Names (Prevention of Improper Use) Act, 1950 and is not offensive; that all Companies Act 2013 requirements relating to DIN allotment and company registration have been complied with; that the company will not commence business until required sectoral-regulator approvals (RBI, SEBI, etc.) are obtained; and that the registered office is capable of receiving communications at the address given at §4A. Modelled as one combined field per this registry's convention for a single-signature declaration block.",
      "sourceRef": "SPICe+ Part B webform §12, declaration paragraphs"
    },
    {
      "name": "directorDisqualificationDeclaration",
      "label": "Declaration — director not restrained, disqualified, or a proclaimed offender",
      "type": "boolean",
      "required": true,
      "description": "Declares the proposed director(s) are not restrained/disqualified/removed under Companies Act 2013 ss.164/169, not a proclaimed offender, and not already allotted a DIN under s.154.",
      "sourceRef": "SPICe+ Part B webform §12, declaration paragraph re: sections 164, 169, 154, 447, 448"
    },
    {
      "name": "borderingCountryNationalSecurityClearance",
      "label": "Whether the person seeking appointment is a national of a country sharing a land border with India and has attached MHA security clearance",
      "type": "boolean",
      "required": true,
      "description": "If true, security clearance from the Ministry of Home Affairs must be attached (see the borderingCountrySecurityClearanceDocument entry in documents[]). founderNationality is restricted to 'india' in this document, so this declares 'No' for the sole scoped scenario; retained as a field because it is a printed, always-asked declaration on the form regardless of the subscriber's own nationality.",
      "sourceRef": "SPICe+ Part B webform §12 'person seeking appointment is a national of a country which shares a land border with India, necessary security clearance from Ministry of Home Affairs...shall be attached with the consent. Yes No'"
    },
    {
      "name": "directorDigitalSignature",
      "label": "To be digitally signed by director",
      "type": "boolean",
      "required": true,
      "sourceRef": "SPICe+ Part B webform §12 '*To be digitally signed by director'"
    },
    {
      "name": "professionalCertificationCategory",
      "label": "Certifying professional — category",
      "type": "enum",
      "required": true,
      "sourceRef": "SPICe+ Part B webform §13 'Company Secretary Chartered Accountant Cost Accountant Advocate'",
      "validation": {
        "enum": [
          "company_secretary",
          "chartered_accountant",
          "cost_accountant",
          "advocate"
        ]
      }
    },
    {
      "name": "professionalMembershipCategory",
      "label": "Certifying professional — membership category",
      "type": "enum",
      "required": false,
      "description": "Not applicable to an Advocate signatory.",
      "sourceRef": "SPICe+ Part B webform §13 'Whether associate or fellow: Associate Fellow'",
      "validation": {
        "enum": [
          "associate",
          "fellow"
        ]
      },
      "requiredWhen": {
        "field": "professionalCertificationCategory",
        "equals": "company_secretary"
      }
    },
    {
      "name": "professionalMembershipOrCertificateNumber",
      "label": "Certifying professional — membership number or certificate of practice number",
      "type": "string",
      "required": true,
      "description": "Membership number for a chartered accountant/cost accountant in whole-time practice, or certificate of practice number for a company secretary in whole-time practice.",
      "sourceRef": "SPICe+ Part B webform §13 'Membership Number Certificate of Practice Number'",
      "validation": {
        "minLength": 1,
        "maxLength": 30
      }
    },
    {
      "name": "professionalPan",
      "label": "Certifying professional — Income-tax PAN",
      "type": "string",
      "required": true,
      "classification": "sensitive-pii",
      "sourceRef": "SPICe+ Part B webform §13 'Income-tax PAN'",
      "validation": {
        "pattern": "^[A-Z]{5}[0-9]{4}[A-Z]$",
        "maxLength": 10
      }
    },
    {
      "name": "professionalDigitalSignature",
      "label": "Certifying professional — digitally signed",
      "type": "boolean",
      "required": true,
      "sourceRef": "SPICe+ Part B webform §13 '*To be digitally signed by Chartered accountant (in whole-time practice) or Cost accountant (in whole-time practice) or Company secretary (in whole-time practice) Advocate'"
    }
  ],
  "documents": [
    {
      "id": "proofOfOfficeAddress",
      "label": "Proof of office address with NOC (conveyance/lease deed/rent agreement with rent receipts)",
      "category": "supporting-evidence",
      "required": true,
      "belongsTo": "applicant",
      "sourceRef": "SPICe+ Part B webform §4B, Attachment 1"
    },
    {
      "id": "utilityBillCopy",
      "label": "Copy of utility bill for the registered office (not older than two months)",
      "category": "supporting-evidence",
      "required": true,
      "belongsTo": "applicant",
      "constraints": {
        "maxBytes": 2097152
      },
      "sourceRef": "SPICe+ Part B webform §4B, Attachment 2 'Copy of the utility bills (not older than two months); Max 2 MB'"
    },
    {
      "id": "founderProofOfIdentity",
      "label": "Sole subscriber-cum-director — proof of identity",
      "category": "identity-document",
      "required": true,
      "belongsTo": "applicant",
      "acceptedTypes": [
        "voters_identity_card",
        "passport",
        "driving_license",
        "aadhaar"
      ],
      "constraints": {
        "maxBytes": 2097152
      },
      "sourceRef": "SPICe+ Part B webform §7B(i) '(a) *Proof of identity Max 2 MB'"
    },
    {
      "id": "founderResidentialProof",
      "label": "Sole subscriber-cum-director — residential proof",
      "category": "supporting-evidence",
      "required": true,
      "belongsTo": "applicant",
      "acceptedTypes": [
        "voters_identity_card",
        "passport",
        "driving_license",
        "aadhaar"
      ],
      "constraints": {
        "maxBytes": 2097152
      },
      "sourceRef": "SPICe+ Part B webform §7B(i) '(b) *Residential Proof Max 2 MB'"
    },
    {
      "id": "nomineeProofOfIdentity",
      "label": "Nominee — proof of identity",
      "category": "identity-document",
      "required": true,
      "belongsTo": "other",
      "acceptedTypes": [
        "voters_identity_card",
        "passport",
        "driving_license",
        "aadhaar"
      ],
      "constraints": {
        "maxBytes": 2097152
      },
      "sourceRef": "SPICe+ Part B webform §8B '(a) *Proof of identity Max 2 MB'"
    },
    {
      "id": "nomineeResidentialProof",
      "label": "Nominee — residential proof",
      "category": "supporting-evidence",
      "required": true,
      "belongsTo": "other",
      "acceptedTypes": [
        "voters_identity_card",
        "passport",
        "driving_license",
        "aadhaar"
      ],
      "constraints": {
        "maxBytes": 2097152
      },
      "sourceRef": "SPICe+ Part B webform §8B '(b) *Residential Proof Max 2 MB'"
    },
    {
      "id": "borderingCountrySecurityClearanceDocument",
      "label": "Ministry of Home Affairs security clearance (bordering-country national director)",
      "category": "supporting-evidence",
      "required": false,
      "requiredWhen": {
        "field": "borderingCountryNationalSecurityClearance",
        "equals": true
      },
      "belongsTo": "applicant",
      "sourceRef": "SPICe+ Part B webform §12 '(if yes is opted, a copy of the security clearance is to be attached)'"
    }
  ],
  "steps": [
    {
      "id": "name_reservation",
      "title": "Name reservation (SPICe+ Part A)",
      "fields": [
        "proposedName1",
        "proposedName2",
        "nicCode1",
        "nicCode2",
        "nicCode3"
      ],
      "next": "capital_structure"
    },
    {
      "id": "capital_structure",
      "title": "Structure of the company and capital",
      "fields": [
        "aoaEntrenched",
        "entrenchmentArticleCount",
        "hasShareCapital",
        "equityShareClassDescription",
        "authorizedEquityShares",
        "subscribedEquityShares",
        "nominalValuePerEquityShare"
      ],
      "next": "registered_office"
    },
    {
      "id": "registered_office",
      "title": "Address of the company",
      "fields": [
        "correspondenceAddressLine1",
        "correspondenceAddressLine2",
        "correspondenceAddressPinCode",
        "correspondenceAddressAreaLocality",
        "correspondenceAddressCity",
        "correspondenceAddressDistrict",
        "correspondenceAddressState",
        "companyPhoneNumber",
        "companyMobileNumber",
        "companyEmail",
        "addressIsRegisteredOffice",
        "registeredOfficeLongitude",
        "registeredOfficeLatitude",
        "registrarOfCompaniesOffice"
      ],
      "next": "founder_details"
    },
    {
      "id": "founder_details",
      "title": "Sole subscriber-cum-director particulars",
      "fields": [
        "founderFirstName",
        "founderMiddleName",
        "founderSurname",
        "founderFatherFirstName",
        "founderFatherMiddleName",
        "founderFatherSurname",
        "founderGender",
        "founderDateOfBirth",
        "founderNationality",
        "founderPlaceOfBirth",
        "founderOccupationType",
        "founderAreaOfOccupation",
        "founderAreaOfOccupationOtherDescription",
        "founderEducationalQualification",
        "founderEducationalQualificationOtherDescription",
        "founderPan",
        "founderMobileNumber",
        "founderEmail",
        "founderPermanentAddressLine1",
        "founderPermanentAddressLine2",
        "founderPermanentAddressPinCode",
        "founderPermanentAddressAreaLocality",
        "founderPermanentAddressCity",
        "founderPermanentAddressDistrict",
        "founderPermanentAddressState",
        "founderPermanentAddressPhone",
        "founderPresentAddressSameAsPermanent",
        "founderDurationOfStayYears",
        "founderDurationOfStayMonths",
        "founderIdentityProofType",
        "founderIdentityProofNumber",
        "founderResidentialProofType",
        "founderResidentialProofNumber",
        "founderCitizenOfIndia",
        "founderResidentInIndia",
        "founderDesignation",
        "founderCategory",
        "founderBoardRole"
      ],
      "next": "opc_nomination"
    },
    {
      "id": "opc_nomination",
      "title": "OPC nomination",
      "fields": [
        "nomineeFirstName",
        "nomineeMiddleName",
        "nomineeSurname",
        "nomineeFatherFirstName",
        "nomineeFatherMiddleName",
        "nomineeFatherSurname",
        "nomineeGender",
        "nomineeDateOfBirth",
        "nomineeNationality",
        "nomineePlaceOfBirth",
        "nomineeOccupationType",
        "nomineeAreaOfOccupation",
        "nomineeAreaOfOccupationOtherDescription",
        "nomineeEducationalQualification",
        "nomineeEducationalQualificationOtherDescription",
        "nomineePan",
        "nomineeMobileNumber",
        "nomineeEmail",
        "nomineePermanentAddressLine1",
        "nomineePermanentAddressLine2",
        "nomineePermanentAddressPinCode",
        "nomineePermanentAddressAreaLocality",
        "nomineePermanentAddressCity",
        "nomineePermanentAddressDistrict",
        "nomineePermanentAddressState",
        "nomineePermanentAddressPhone",
        "nomineePresentAddressSameAsPermanent",
        "nomineeDurationOfStayYears",
        "nomineeDurationOfStayMonths",
        "nomineeIdentityProofType",
        "nomineeIdentityProofNumber",
        "nomineeResidentialProofType",
        "nomineeResidentialProofNumber",
        "nomineeConsentAndDeclaration",
        "nomineeDigitallySigned"
      ],
      "next": "stamp_duty"
    },
    {
      "id": "stamp_duty",
      "title": "Stamp duty",
      "fields": [
        "stampDutyState",
        "stampDutyPaidElectronically",
        "stampDutyTotalAmountPaid",
        "stampDutyModeOfPayment",
        "stampDutyVendorName",
        "stampDutyPurchaseDate"
      ],
      "next": "pan_tan"
    },
    {
      "id": "pan_tan",
      "title": "PAN and TAN allotment",
      "fields": [
        "panAreaCode",
        "panAoType",
        "panRangeCode",
        "panAoNumber",
        "tanAreaCode",
        "tanAoType",
        "tanRangeCode",
        "tanAoNumber",
        "sourceOfIncome",
        "businessProfessionCode"
      ],
      "next": "declaration"
    },
    {
      "id": "declaration",
      "title": "Declaration and professional certification",
      "fields": [
        "nameAndRegistrationDeclaration",
        "directorDisqualificationDeclaration",
        "borderingCountryNationalSecurityClearance",
        "directorDigitalSignature",
        "professionalCertificationCategory",
        "professionalMembershipCategory",
        "professionalMembershipOrCertificateNumber",
        "professionalPan",
        "professionalDigitalSignature"
      ]
    }
  ]
}