{
  "$schema": "https://govschema.org/spec/v0.3/govschema.schema.json",
  "govschemaVersion": "0.3.0",
  "id": "in/morth/vehicle-registration-renewal",
  "version": "1.0.0",
  "title": "India Vehicle Registration Certificate Renewal (Form 25)",
  "description": "Renew the certificate of registration (RC) of a motor vehicle other than a transport vehicle, under Rule 52 of the Central Motor Vehicles Rules, 1989 (giving effect to section 41 of the Motor Vehicles Act, 1988). The registered owner (or someone on their behalf) applies to the Registering Authority (Regional Transport Office, RTO) in whose jurisdiction the vehicle is, in Form 25, not more than sixty days before the certificate's date of expiry, so the vehicle continues to be validly registered. This is the periodic 'Registration/Tag' renewal counterpart to India's vehicle-ownership-transfer schema (a one-time sale event) and vehicle registration itself (Form 20, a separate process): private/non-transport vehicles are registered for a fixed validity period and must be renewed under this rule to remain lawfully on the road, unlike a one-time title transfer. Models an ordinary owner-initiated renewal of a private, non-transport motor vehicle's registration at its existing registering authority. It does not model: renewal of a transport (commercial) vehicle's certificate of registration, which follows a different fitness-certificate-linked cycle under a different set of rules; renewal after the certificate has already lapsed for longer than the state's permitted grace period; a simultaneous change of registering-authority jurisdiction; or issuance of a duplicate certificate of registration (Form 26, a separate process). It does not submit the application; the live Parivahan/VAHAN portal and the applicant's RTO are always authoritative — see VERIFICATION.md.",
  "status": "draft",
  "jurisdiction": {
    "country": "IN",
    "level": "national"
  },
  "authority": {
    "name": "Ministry of Road Transport and Highways, Government of India, through the state Regional Transport Offices (RTOs), under the Central Motor Vehicles Rules, 1989",
    "abbreviation": "MoRTH",
    "url": "https://parivahan.gov.in"
  },
  "process": {
    "type": "renewal",
    "language": "en-IN"
  },
  "source": {
    "url": "https://parivahan.gov.in/sites/default/files/DownloadForm/cmvr/FORM-25.pdf",
    "retrievedAt": "2026-07-04",
    "documentRef": "Form 25 [Refer Rule 52(1)], Central Motor Vehicles Rules, 1989"
  },
  "verification": {
    "method": "manual-source-review-v1",
    "lastVerifiedAt": "2026-07-04",
    "verifiedBy": "GovSchema Engineering (Standards Engineer)",
    "nextReviewBy": "2027-01-01",
    "notes": "Source-derived reference schema authored directly from the current fillable Form 25 PDF, downloadable without a bot-block from parivahan.gov.in (Parivahan Sewa, the Ministry's own e-governance portal), text-extracted with pdfjs-dist getTextContent. Cross-checked against Rule 52 of the Central Motor Vehicles Rules, 1989 (page 62 of the consolidated indiacode.nic.in text used previously for in/morth/vehicle-ownership-transfer/1.0.0), and against parivahan.gov.in's own 'Renewal of Registration Certificate' guidance page (en/content/renewal-of-rc), which corroborates the 60-day filing window, the Rule 81 fee reference, and the state-variable supporting-document list. The live parivahan.gov.in/VAHAN transactional e-service itself is state-instanced and login-gated with no public test/sandbox mode, so the full field-by-field comparison manual-source-review-v1 (Procedure step 2) requires against a live portal has not been completed. Status remains draft, not verified."
  },
  "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-04"
  },
  "license": "CC-BY-4.0",
  "fields": [
    {
      "name": "vehicleRegistrationMark",
      "label": "Register No.",
      "type": "string",
      "required": true,
      "description": "The vehicle's existing registration number (registration mark), as recorded on the certificate of registration being renewed.",
      "sourceRef": "Form 25 — '(a) Register No.'",
      "validation": { "minLength": 1, "maxLength": 20 }
    },
    {
      "name": "applicantName",
      "label": "Applicant name",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "Form 25 — 'I, ...'",
      "validation": { "minLength": 1, "maxLength": 150 }
    },
    {
      "name": "applicantMobileNumber",
      "label": "Applicant mobile number",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "Form 25 — 'having mobile number ...'",
      "validation": { "pattern": "^[0-9+ ]{7,15}$" }
    },
    {
      "name": "currentCertificateDateOfIssue",
      "label": "Date of issue of current certificate",
      "type": "date",
      "required": true,
      "sourceRef": "Form 25 — '(b) Date of issue'"
    },
    {
      "name": "currentCertificateDateOfExpiry",
      "label": "Date of expiry of current certificate",
      "type": "date",
      "required": true,
      "description": "Rule 52(1) requires the renewal application to be made not more than sixty days before this date.",
      "sourceRef": "Form 25 — '(c) Date of expiry'; Rule 52(1) — 'not more than sixty days before the date of its expiry'"
    },
    {
      "name": "registeringAuthorityIssuedOrLastRenewed",
      "label": "Registering authority by which the certificate was issued/last renewed",
      "type": "string",
      "required": true,
      "sourceRef": "Form 25 — '(d) Registering authority by which the certificate was issued/last renewed'",
      "validation": { "minLength": 1, "maxLength": 150 }
    },
    {
      "name": "applicantPresentAddress",
      "label": "Applicant's present address",
      "type": "string",
      "required": true,
      "classification": "pii",
      "description": "The applicant's current full address, as printed in a free-form ruled line on the source form (not broken into named sub-fields there).",
      "sourceRef": "Form 25 — 'My present address is...'",
      "validation": { "minLength": 1, "maxLength": 400 }
    },
    {
      "name": "updateAddressOnRenewedCertificate",
      "label": "Should the present address be entered on the renewed certificate, if not already recorded there?",
      "type": "boolean",
      "required": true,
      "sourceRef": "Form 25 — 'if this address is not entered in the certificate of registration, I do/do not wish that it should be so entered'"
    },
    {
      "name": "renewalNotPreviouslyRefusedDeclaration",
      "label": "Declaration: renewal of the certificate has not been refused by any registering authority",
      "type": "boolean",
      "required": true,
      "fieldRole": "eligibility",
      "eligibleValues": [true],
      "sourceRef": "Form 25 — 'The renewal of the certificate has not been refused by any registering authority.'"
    },
    {
      "name": "certificateNotCancelledOrSuspendedDeclaration",
      "label": "Declaration: certificate of registration has not been cancelled or suspended by any registering authority",
      "type": "boolean",
      "required": true,
      "fieldRole": "eligibility",
      "eligibleValues": [true],
      "sourceRef": "Form 25 — 'I hereby declare that the certificate of registration has not been cancelled or suspended by any registering authority.'"
    },
    {
      "name": "classOfVehicle",
      "label": "Class of vehicle",
      "type": "string",
      "required": true,
      "sourceRef": "Form 25 — '1. Class of vehicle'",
      "validation": { "minLength": 1, "maxLength": 60 }
    },
    {
      "name": "vehicleRegisteredAs",
      "label": "The motor vehicle was registered as",
      "type": "enum",
      "required": true,
      "sourceRef": "Form 25 — '2. The motor vehicle was registered as (a) a new vehicle (b) ex army vehicle (c) imported vehicle'",
      "validation": { "enum": ["new-vehicle", "ex-army-vehicle", "imported-vehicle"] }
    },
    {
      "name": "bodyType",
      "label": "Type of body",
      "type": "string",
      "required": true,
      "sourceRef": "Form 25 — '3. Type of body'",
      "validation": { "minLength": 1, "maxLength": 60 }
    },
    {
      "name": "makersName",
      "label": "Maker's name",
      "type": "string",
      "required": true,
      "sourceRef": "Form 25 — '4. Maker's name'",
      "validation": { "minLength": 1, "maxLength": 100 }
    },
    {
      "name": "monthYearOfManufacture",
      "label": "Month and year of manufacture",
      "type": "string",
      "required": true,
      "description": "YYYY-MM.",
      "sourceRef": "Form 25 — '5. Month and year of manufacture'",
      "validation": { "pattern": "^[0-9]{4}-(0[1-9]|1[0-2])$" }
    },
    {
      "name": "numberOfCylinders",
      "label": "Number of cylinders",
      "type": "integer",
      "required": true,
      "description": "0 for a Battery Operated Vehicle with no cylinders.",
      "sourceRef": "Form 25 — '6. Number of cylinders'",
      "validation": { "minimum": 0, "maximum": 24 }
    },
    {
      "name": "cubicCapacityOrHorsePower",
      "label": "Cubic capacity/horse power",
      "type": "string",
      "required": true,
      "description": "Printed as a single combined blank on the source form; represented here as free text since the unit (cc vs. hp) varies by vehicle/engine type.",
      "sourceRef": "Form 25 — '7. Cubic capacity/horse power'",
      "validation": { "minLength": 1, "maxLength": 40 }
    },
    {
      "name": "makersClassification",
      "label": "Maker's classification",
      "type": "string",
      "required": true,
      "sourceRef": "Form 25 — '8. Maker's classification'",
      "validation": { "minLength": 1, "maxLength": 100 }
    },
    {
      "name": "chassisNumber",
      "label": "Chassis No.",
      "type": "string",
      "required": true,
      "description": "The source form additionally instructs '(Affix pencil print)' — see the pencilPrintOfChassisAndEngineNumber document.",
      "sourceRef": "Form 25 — '9. Chassis No. (Affix pencil print)'",
      "validation": { "minLength": 1, "maxLength": 40 }
    },
    {
      "name": "engineOrMotorNumber",
      "label": "Engine No. or motor number (Battery Operated Vehicles)",
      "type": "string",
      "required": true,
      "sourceRef": "Form 25 — '10. Engine No. or motor number in the case of Battery Operated Vehicles'",
      "validation": { "minLength": 1, "maxLength": 40 }
    },
    {
      "name": "seatingCapacityIncludingDriver",
      "label": "Seating capacity (including driver)",
      "type": "integer",
      "required": true,
      "sourceRef": "Form 25 — '11. Seating capacity (including driver)'",
      "validation": { "minimum": 1, "maximum": 100 }
    },
    {
      "name": "standingCapacity",
      "label": "Standing capacity",
      "type": "integer",
      "required": false,
      "description": "Applicable to buses and other vehicles permitted to carry standing passengers; left blank on the source form otherwise.",
      "sourceRef": "Form 25 — '11A. Standing capacity'",
      "validation": { "minimum": 0, "maximum": 150 }
    },
    {
      "name": "sleeperCapacity",
      "label": "Sleeper capacity",
      "type": "integer",
      "required": false,
      "description": "Applicable to sleeper coaches; left blank on the source form otherwise.",
      "sourceRef": "Form 25 — '11B. Sleeper capacity'",
      "validation": { "minimum": 0, "maximum": 60 }
    },
    {
      "name": "unladenWeight",
      "label": "Unladen weight",
      "type": "number",
      "required": true,
      "description": "Kilograms.",
      "sourceRef": "Form 25 — '12. Unladen weight'",
      "validation": { "minimum": 0 }
    },
    {
      "name": "fuelUsed",
      "label": "Fuel used",
      "type": "string",
      "required": true,
      "sourceRef": "Form 25 — '13. Fuel used'",
      "validation": { "minLength": 1, "maxLength": 40 }
    },
    {
      "name": "insuranceCertificateEnclosedDeclaration",
      "label": "Declaration: certificate of insurance is enclosed for perusal and return",
      "type": "boolean",
      "required": true,
      "fieldRole": "eligibility",
      "eligibleValues": [true],
      "sourceRef": "Form 25 — 'I enclose the certificate of insurance for perusal and return.'",
      "description": "See the certificateOfInsurance document."
    },
    {
      "name": "vehicleUnderEncumbrance",
      "label": "Is the vehicle subject to a hire-purchase agreement, lease agreement, or hypothecation?",
      "type": "boolean",
      "required": true,
      "fieldRole": "eligibility",
      "description": "Where true, encumbranceType and encumbranceHolderName apply.",
      "sourceRef": "Form 25 — 'The motor vehicle above described is not subject to an agreement of hire-purchase, lease or hypothecation. The vehicle is: (i) Subject to hire-purchase agreement/lease agreement with... (ii) Subject to hypothecation in favour of... Strike out whichever is inapplicable.'"
    },
    {
      "name": "encumbranceType",
      "label": "Type of encumbrance",
      "type": "enum",
      "required": false,
      "requiredWhen": { "field": "vehicleUnderEncumbrance", "equals": true },
      "sourceRef": "Form 25 — '(i) Subject to hire-purchase agreement/lease agreement with...' vs. '(ii) Subject to hypothecation in favour of...'",
      "validation": { "enum": ["hire-purchase-or-lease", "hypothecation"] }
    },
    {
      "name": "encumbranceHolderName",
      "label": "Name of the hire-purchase/lease party, or the party in whose favour the vehicle is hypothecated",
      "type": "string",
      "required": false,
      "requiredWhen": { "field": "vehicleUnderEncumbrance", "equals": true },
      "classification": "financial",
      "sourceRef": "Form 25 — '(i) Subject to hire-purchase agreement/lease agreement with...' / '(ii) Subject to hypothecation in favour of...'",
      "validation": { "minLength": 1, "maxLength": 300 }
    }
  ],
  "documents": [
    {
      "id": "certificateOfRegistrationBeingRenewed",
      "label": "Certificate of registration (being renewed)",
      "category": "identity-document",
      "required": true,
      "belongsTo": "applicant",
      "sourceRef": "Form 25 — 'hereby apply for the renewal of the certificate of registration which is attached'"
    },
    {
      "id": "certificateOfInsurance",
      "label": "Certificate of insurance",
      "category": "supporting-evidence",
      "required": true,
      "belongsTo": "applicant",
      "sourceRef": "Form 25 — 'I enclose the certificate of insurance for perusal and return.'; parivahan.gov.in 'Renewal of Registration Certificate' guidance — 'Insurance certificate*'"
    },
    {
      "id": "pencilPrintOfChassisAndEngineNumber",
      "label": "Pencil print of the chassis and engine number",
      "category": "supporting-evidence",
      "required": true,
      "belongsTo": "applicant",
      "sourceRef": "Form 25 — '9. Chassis No. (Affix pencil print)'; parivahan.gov.in 'Renewal of Registration Certificate' guidance — 'Pencil Print of Chassis & Engine Number *'"
    },
    {
      "id": "specimenSignatureOfRegisteredOwner",
      "label": "Specimen signature or thumb impression of the registered owner",
      "category": "attestation",
      "required": true,
      "belongsTo": "applicant",
      "statement": "Signature or thumb impression of the registered owner. Specimen signature or thumb impression of the registered owner: 1. 2. 3.",
      "sourceRef": "Form 25 — signature and specimen-signature block; parivahan.gov.in 'Renewal of Registration Certificate' guidance — 'Signature Identification of owner*'"
    },
    {
      "id": "pollutionUnderControlCertificate",
      "label": "Pollution Under Control (PUC) certificate",
      "category": "supporting-evidence",
      "required": true,
      "belongsTo": "applicant",
      "sourceRef": "parivahan.gov.in 'Renewal of Registration Certificate' guidance — 'Pollution under control certificate' (listed without the guidance page's asterisk that marks state-variable items)"
    },
    {
      "id": "fitnessCertificate",
      "label": "Certificate of fitness",
      "category": "supporting-evidence",
      "required": false,
      "belongsTo": "applicant",
      "sourceRef": "Rule 52(2) — the registering authority itself refers the vehicle to the section 56(1) fitness-testing authority and renews the certificate only after obtaining a certificate of fitness, so this is not an applicant-supplied document under the rule; parivahan.gov.in's guidance nonetheless lists 'Fitness certificate*' among the state-variable items some registering authorities ask the applicant to arrange or present directly."
    },
    {
      "id": "proofOfRoadTaxPaid",
      "label": "Proof of payment of up-to-date road tax",
      "category": "supporting-evidence",
      "required": false,
      "belongsTo": "applicant",
      "sourceRef": "parivahan.gov.in 'Renewal of Registration Certificate' guidance — 'Proof for the payment of up-to-date road tax paid*'; Guidelines — 'Pay the due taxes on vehicle, if any'"
    },
    {
      "id": "panCardOrForm60Form61",
      "label": "Copy of PAN card, or Form 60 and Form 61 (as applicable)",
      "category": "identity-document",
      "required": false,
      "belongsTo": "applicant",
      "sourceRef": "parivahan.gov.in 'Renewal of Registration Certificate' guidance — 'Copy of PAN card or Form 60 & Form 61 (as applicable) *'"
    },
    {
      "id": "renewalFee",
      "label": "Registration certificate renewal fee",
      "category": "payment",
      "required": true,
      "belongsTo": "applicant",
      "sourceRef": "Form 25 — 'I have paid the fee of Rs. .......................'; Rule 52(1) — 'accompanied by the appropriate fee as specified in rule 81'. Amount not encoded as a fixed field value since fees are set by rule, vary by vehicle class, and can change over time, consistent with in/morth/learners-licence-application and in/morth/vehicle-ownership-transfer's fee convention."
    }
  ],
  "steps": [
    {
      "id": "current_registration_details",
      "title": "Current registration certificate details",
      "fields": [
        "vehicleRegistrationMark", "applicantName", "applicantMobileNumber",
        "currentCertificateDateOfIssue", "currentCertificateDateOfExpiry",
        "registeringAuthorityIssuedOrLastRenewed"
      ],
      "next": "address_and_declarations"
    },
    {
      "id": "address_and_declarations",
      "title": "Address and standing declarations",
      "fields": [
        "applicantPresentAddress", "updateAddressOnRenewedCertificate",
        "renewalNotPreviouslyRefusedDeclaration", "certificateNotCancelledOrSuspendedDeclaration"
      ],
      "next": "vehicle_particulars"
    },
    {
      "id": "vehicle_particulars",
      "title": "Vehicle particulars",
      "fields": [
        "classOfVehicle", "vehicleRegisteredAs", "bodyType", "makersName", "monthYearOfManufacture",
        "numberOfCylinders", "cubicCapacityOrHorsePower", "makersClassification",
        "chassisNumber", "engineOrMotorNumber", "seatingCapacityIncludingDriver",
        "standingCapacity", "sleeperCapacity", "unladenWeight", "fuelUsed"
      ],
      "next": "encumbrance_declaration"
    },
    {
      "id": "encumbrance_declaration",
      "title": "Hire-purchase, lease, or hypothecation declaration",
      "fields": ["vehicleUnderEncumbrance", "encumbranceType", "encumbranceHolderName"],
      "next": "documents_and_fee"
    },
    {
      "id": "documents_and_fee",
      "title": "Enclose documents and pay the fee",
      "fields": ["insuranceCertificateEnclosedDeclaration"]
    }
  ]
}
