{
  "$schema": "https://govschema.org/spec/v0.3/govschema.schema.json",
  "govschemaVersion": "0.3.0",
  "id": "pk/excise-punjab/registration-of-motor-vehicles-form-f",
  "version": "1.0.0",
  "title": "Punjab (Pakistan) Form F — Application for Registration of Motor Vehicles",
  "description": "Punjab's 'Form F', the province's standard paper/PDF application for registering a motor vehicle, issued under section 25(1) of the Motor Vehicles Ordinance, 1965, and published directly by the Excise, Taxation & Narcotics Control Department, Government of the Punjab. Pakistan does not operate a federal motor-vehicle-registration system — registration is a provincial subject administered separately by each of Pakistan's four provinces (and other territories); Punjab is the country's largest and most populous province and the one with the most directly citable, unauthenticated official source, so this document is explicitly scoped to Punjab's own registration procedure rather than presented as a national Pakistani form — see VERIFICATION.md. The form is a flat, single-page, native-text-layer PDF (not an AcroForm, no login/CAPTCHA/WAF gate) covering the registered owner's identity, the vehicle's technical particulars, its ownership type, and (for transport vehicles other than motor cabs) additional laden-weight/axle-weight and trailer particulars, plus a declaration, an officer-completed verification block, and an optional hire-purchase disclosure. GovSchema is independent and is not affiliated with, endorsed by, or operated by the Government of Pakistan, the Government of the Punjab, or the Excise, Taxation & Narcotics Control Department.",
  "status": "draft",
  "jurisdiction": {
    "country": "PK",
    "subdivision": "PK-PB",
    "level": "subnational"
  },
  "authority": {
    "name": "Excise, Taxation & Narcotics Control Department, Government of the Punjab",
    "abbreviation": "E&T Punjab",
    "url": "https://excise.punjab.gov.pk"
  },
  "process": {
    "type": "registration",
    "language": "en-PK"
  },
  "source": {
    "url": "https://excise.punjab.gov.pk/system/files/Form_F_New.pdf",
    "retrievedAt": "2026-07-15",
    "documentRef": "Form F, \"Form of Application for Registration of Motor Vehicles\" (Section 25(1) of the Motor Vehicles Ordinance, 1965), Excise, Taxation & Narcotics Control Department, Government of the Punjab, 1-page PDF, linked from https://excise.punjab.gov.pk/downloads"
  },
  "verification": {
    "method": "manual-source-review-v1",
    "lastVerifiedAt": "2026-07-15",
    "verifiedBy": "GovSchema Engineering (Standards Engineer)",
    "nextReviewBy": "2027-01-15",
    "notes": "Source-derived reference schema opening Pakistan's DMV vertical (GOV-3134, delegated from GOV-3128's scouting pass). Independently re-fetched directly from excise.punjab.gov.pk this cycle (HTTP 200, application/pdf, 213,274 bytes, sha256 9f3e507ecf1c3a05effb67afffe86639328d61dcd256632c68f9ccf7e6c79748), matching GOV-3128's own pre-recorded scouting notes. Extracted with pdfjs-dist 3.11.174 (pinned per this registry's own prior finding that pdfjs-dist 4.x fails node-canvas rendering) into coordinate-tagged text items, then read cell-by-cell against the form's own two-column, 31-item numbered layout. Status remains 'draft' pending an independent second reviewer's field-by-field pass. See VERIFICATION.md for the full extraction method and every interpretive judgment call."
  },
  "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": "fullName",
      "label": "Full Name",
      "type": "string",
      "required": true,
      "description": "Full name of the person to be registered as the vehicle's registered owner, in block letters per the form's own instruction.",
      "sourceRef": "Item 1 — 'Full Name {In block letters}'"
    },
    {
      "name": "fathersName",
      "label": "Father's Name",
      "type": "string",
      "required": true,
      "description": "Father's name of the person to be registered as the registered owner, in block letters per the form's own instruction.",
      "sourceRef": "Item 2 — 'Father's Name {In block letters}'"
    },
    {
      "name": "ownerAddress",
      "label": "Address of Registered Owner",
      "type": "string",
      "required": true,
      "description": "Address of the person to be registered as the registered owner.",
      "sourceRef": "Item 3 — 'Address of person to be registered as registered Owner'"
    },
    {
      "name": "ownerPhone",
      "label": "Phone No.",
      "type": "string",
      "required": false,
      "description": "Telephone number of the registered owner, printed beside item 3 with no explicit required/optional marker on the form itself; modeled as optional as a disclosed judgment call (this registry's established convention for unmarked contact-detail fields) — see VERIFICATION.md.",
      "sourceRef": "Item 3 (adjacent) — 'Phone No.'"
    },
    {
      "name": "vehicleClass",
      "label": "Class of Vehicle",
      "type": "string",
      "required": true,
      "description": "The vehicle's class (e.g. motor car, motorcycle, bus, truck). Modelled as an open string rather than a closed enum because the form's own printed layout provides a blank space for this item, not a checkbox list of class options.",
      "sourceRef": "Item 4 — 'Class of Vehicle'"
    },
    {
      "name": "bodyType",
      "label": "Type of Body",
      "type": "string",
      "required": true,
      "description": "The vehicle's body type (e.g. saloon, pickup, double-cabin).",
      "sourceRef": "Item 5 — 'Type of Body'"
    },
    {
      "name": "makerName",
      "label": "Maker's Name",
      "type": "string",
      "required": true,
      "description": "The vehicle manufacturer's name. The source form's own printed label reads 'Marker's Name' (item 6), while item 10 elsewhere on the same form correctly reads 'Maker's classification' — this document's label corrects the apparent typographical artifact rather than propagate it, and the verbatim source text is preserved in sourceRef; see VERIFICATION.md.",
      "sourceRef": "Item 6 — 'Marker's Name' [sic; form's own printed text]"
    },
    {
      "name": "yearOfManufacture",
      "label": "Year of Manufacture",
      "type": "integer",
      "required": true,
      "description": "The vehicle's year of manufacture.",
      "sourceRef": "Item 7 — 'Year of manufacture'",
      "validation": { "minimum": 1900, "maximum": 2100 }
    },
    {
      "name": "colour",
      "label": "Colour",
      "type": "string",
      "required": true,
      "description": "The vehicle's colour.",
      "sourceRef": "Item 8 — 'Colour'"
    },
    {
      "name": "numberOfCylinders",
      "label": "Number of Cylinders",
      "type": "integer",
      "required": true,
      "description": "The number of cylinders in the vehicle's engine.",
      "sourceRef": "Item 9 — 'Number of cylinders'",
      "validation": { "minimum": 0 }
    },
    {
      "name": "makerClassificationOrWheelBase",
      "label": "Maker's Classification or Wheel Base",
      "type": "string",
      "required": true,
      "description": "The manufacturer's own model classification code; if that is not known, the vehicle's wheel base is entered instead, per the form's own instruction.",
      "sourceRef": "Item 10 — 'Maker's classification or if not known wheel base'"
    },
    {
      "name": "chassisNumber",
      "label": "Chassis Number",
      "type": "string",
      "required": true,
      "description": "The vehicle's chassis number.",
      "sourceRef": "Item 11 — 'Chassis Number'"
    },
    {
      "name": "engineNumber",
      "label": "Engine Number",
      "type": "string",
      "required": true,
      "description": "The vehicle's engine number.",
      "sourceRef": "Item 12 — 'Engine Number'"
    },
    {
      "name": "horsePower",
      "label": "Horse Power",
      "type": "number",
      "required": true,
      "description": "The vehicle's engine power, in horsepower.",
      "sourceRef": "Item 13 — 'Horse Power'",
      "validation": { "minimum": 0 }
    },
    {
      "name": "fuelType",
      "label": "Type of Fuel",
      "type": "string",
      "required": true,
      "description": "The vehicle's fuel type (e.g. petrol, diesel, CNG). Modelled as an open string rather than a closed enum because the form's own printed layout provides a blank space for this item, not a checkbox list of fuel options.",
      "sourceRef": "Item 14 — 'Type of Fuel'"
    },
    {
      "name": "seatingCapacity",
      "label": "Seating Capacity (Including Driver)",
      "type": "integer",
      "required": true,
      "description": "The vehicle's total seating capacity, including the driver.",
      "sourceRef": "Item 15 — 'Seating Capacity (Including Driver)'",
      "validation": { "minimum": 1 }
    },
    {
      "name": "unladenWeight",
      "label": "Unladen Weight",
      "type": "number",
      "required": true,
      "description": "The vehicle's unladen weight. The form does not print a unit label beside this item (unlike items 21/22, which are explicitly labelled 'Lbs.'); no unit is assumed here beyond what the source itself states — see VERIFICATION.md.",
      "sourceRef": "Item 16 — 'Unladen weight'",
      "validation": { "minimum": 0 }
    },
    {
      "name": "ownershipType",
      "label": "Type of Ownership",
      "type": "enum",
      "required": true,
      "description": "The registered owner's ownership category.",
      "sourceRef": "Item 17 — 'Type of ownership Private/Government Semi-Government'",
      "validation": { "enum": ["private", "government", "semi_government"] }
    },
    {
      "name": "dateOfCommencement",
      "label": "Date of Commencement to Keep the Motor Vehicle for Use",
      "type": "date",
      "required": true,
      "description": "The date the registered owner began keeping the vehicle for use.",
      "sourceRef": "Item 18 — 'Date of commencement to keep the motor vehicle for use'"
    },
    {
      "name": "previousRegistrationParticulars",
      "label": "Particulars of Previous Registration and Registered Number",
      "type": "string",
      "required": false,
      "description": "Particulars of any previous registration and the previously-registered number, if the vehicle was registered before.",
      "sourceRef": "Item 19 — 'Particular of previous registration and registered number (if any)'"
    },
    {
      "name": "tyreDescriptionSize",
      "label": "Number, Description and Size of Tyres",
      "type": "string",
      "required": false,
      "description": "Number, description, and size of the vehicle's tyres. Applicable only to transport vehicles other than motor cabs, per the section heading that introduces items 20-22; the form provides no separate checkbox/gate field distinguishing a transport vehicle from a motor cab, so this and the remaining items in the section are modelled as optional rather than gated with a requiredWhen condition — a disclosed judgment call, see VERIFICATION.md.",
      "sourceRef": "Section heading 'Additional particular to be completed only in the case of Transport Vehicles other than motor cabs'; Item 20 — 'Number, description and size of tyres'"
    },
    {
      "name": "maxLadenWeightLbs",
      "label": "Maximum Laden Weight (Lbs.)",
      "type": "number",
      "required": false,
      "description": "The vehicle's maximum laden weight, in pounds. Transport-vehicle-only, see tyreDescriptionSize.",
      "sourceRef": "Item 21 — 'Maximum laden weight' ... 'Lbs.'",
      "validation": { "minimum": 0 }
    },
    {
      "name": "maxLadenWeightFrontAxleLbs",
      "label": "Maximum Laden Weight — Front Axle (Lbs.)",
      "type": "number",
      "required": false,
      "description": "Maximum laden weight borne by the front axle, in pounds.",
      "sourceRef": "Item 21(a) — 'Front axle' ... 'Lbs.'",
      "validation": { "minimum": 0 }
    },
    {
      "name": "maxLadenWeightRearAxle1Lbs",
      "label": "Maximum Laden Weight — Rear Axle (Lbs.)",
      "type": "number",
      "required": false,
      "description": "Maximum laden weight borne by the (first) rear axle, in pounds.",
      "sourceRef": "Item 21(b) — 'Rear axle' ... 'Lbs.'",
      "validation": { "minimum": 0 }
    },
    {
      "name": "maxLadenWeightRearAxle2Lbs",
      "label": "Maximum Laden Weight — Rear Axle 2 (Lbs.)",
      "type": "number",
      "required": false,
      "description": "Maximum laden weight borne by a second rear axle, in pounds — applicable to vehicles with a tandem/multi-axle rear configuration.",
      "sourceRef": "Item 21(c) — 'Rear axle' ... 'Lbs.'",
      "validation": { "minimum": 0 }
    },
    {
      "name": "maxAxleWeightLbs",
      "label": "Maximum Axle Weight (Lbs.)",
      "type": "number",
      "required": false,
      "description": "The vehicle's maximum axle weight (rated capacity, printed as a distinct item alongside item 21's maximum laden weight), in pounds.",
      "sourceRef": "Item 22 — 'Maximum axel weight' [sic] ... 'Lbs.'",
      "validation": { "minimum": 0 }
    },
    {
      "name": "maxAxleWeightFrontAxleLbs",
      "label": "Maximum Axle Weight — Front Axle (Lbs.)",
      "type": "number",
      "required": false,
      "description": "Maximum rated axle weight for the front axle, in pounds.",
      "sourceRef": "Item 22(a) — 'Front axle' ... 'Lbs.'",
      "validation": { "minimum": 0 }
    },
    {
      "name": "maxAxleWeightRearAxle1Lbs",
      "label": "Maximum Axle Weight — Rear Axle (Lbs.)",
      "type": "number",
      "required": false,
      "description": "Maximum rated axle weight for the (first) rear axle, in pounds.",
      "sourceRef": "Item 22(b) — 'Rear axle' ... 'Lbs.'",
      "validation": { "minimum": 0 }
    },
    {
      "name": "maxAxleWeightRearAxle2Lbs",
      "label": "Maximum Axle Weight — Rear Axle 2 (Lbs.)",
      "type": "number",
      "required": false,
      "description": "Maximum rated axle weight for a second rear axle, in pounds.",
      "sourceRef": "Item 22(c) — 'Rear axle' ... 'Lbs.'",
      "validation": { "minimum": 0 }
    },
    {
      "name": "trailerBodyType",
      "label": "Trailer — Type of Body",
      "type": "string",
      "required": false,
      "description": "The trailer's body type, applicable only when the application includes a trailer (the 'ADDITIONAL TRAILER' section, items 25-28). The form provides no separate checkbox/gate field for whether a trailer is attached, so this and the remaining trailer items are modelled as optional rather than gated with a requiredWhen condition — see VERIFICATION.md.",
      "sourceRef": "'ADDITIONAL TRAILER' heading; Item 25 — 'Type of Body'"
    },
    {
      "name": "trailerUnladenWeight",
      "label": "Trailer — Unladen Weight",
      "type": "number",
      "required": false,
      "description": "The trailer's unladen weight. No unit label is printed beside this item on the form.",
      "sourceRef": "Item 26 — 'Unladen weight'",
      "validation": { "minimum": 0 }
    },
    {
      "name": "trailerTyreDescriptionSize",
      "label": "Trailer — Number, Description and Size of Tyres on the Axle",
      "type": "string",
      "required": false,
      "description": "Number, description, and size of the tyres on the trailer's axle.",
      "sourceRef": "Item 27 — 'Number, description and size of tyres on the axle'"
    },
    {
      "name": "trailerMaxAxleWeightLbs",
      "label": "Trailer — Maximum Axle Weight",
      "type": "number",
      "required": false,
      "description": "The trailer's maximum axle weight. No unit label is printed beside this item on the form, unlike items 21/22's explicit 'Lbs.' labels — modelled without an assumed unit.",
      "sourceRef": "Item 28 — 'Maximum axel weight' [sic]",
      "validation": { "minimum": 0 }
    },
    {
      "name": "declarationAccepted",
      "label": "Declaration",
      "type": "boolean",
      "required": true,
      "description": "Attestation that the particulars given in the application are true, and that the vehicle is not involved in any criminal case and is not attached or confiscated by any competent authority under any law in Pakistan. The declarant's physical signature that follows on the form is a signing mechanic, not a data field, and is out of scope.",
      "sourceRef": "Item 29 — 'DECLARATION: I hereby declare that the above particulars are true.' / '\"I hereby declare that the above particulars are true. I further declare that the vehicle particulars of which are given above is not involved in any criminal case and neither attached or confiscated by any competent authority under any law in Pakistan\".'"
    },
    {
      "name": "hirePurchasePartyName",
      "label": "Hire Purchase Party",
      "type": "string",
      "required": false,
      "description": "Name of the hire-purchase party the vehicle is held under agreement with, when the registered owner holds the vehicle under a hire-purchase agreement. The form phrases this as a fill-in-the-blank sentence rather than a Yes/No question with a separate gate field, so this field is modelled as optional rather than conditionally required — a disclosed judgment call, see VERIFICATION.md. The 'Signature/Stamp of Hire Purchase Party' and 'Name & Signature of Licensing Officer' blocks that follow are signing/office mechanics, out of scope.",
      "sourceRef": "Item 31 — 'HIRE PURCHASE: The motor vehicle above described is held by the person registered as the registered owner under a hire purchase agreement with ___'"
    }
  ],
  "steps": [
    {
      "id": "owner_and_vehicle_identity",
      "title": "Registered owner and vehicle identity",
      "fields": [
        "fullName", "fathersName", "ownerAddress", "ownerPhone",
        "vehicleClass", "bodyType"
      ],
      "next": "vehicle_specifications"
    },
    {
      "id": "vehicle_specifications",
      "title": "Vehicle technical specifications",
      "fields": [
        "makerName", "yearOfManufacture", "colour", "numberOfCylinders",
        "makerClassificationOrWheelBase", "chassisNumber", "engineNumber",
        "horsePower", "fuelType", "seatingCapacity", "unladenWeight"
      ],
      "next": "ownership_and_history"
    },
    {
      "id": "ownership_and_history",
      "title": "Ownership type and registration history",
      "fields": ["ownershipType", "dateOfCommencement", "previousRegistrationParticulars"],
      "next": "transport_vehicle_additional"
    },
    {
      "id": "transport_vehicle_additional",
      "title": "Additional particulars for transport vehicles other than motor cabs",
      "fields": [
        "tyreDescriptionSize", "maxLadenWeightLbs", "maxLadenWeightFrontAxleLbs",
        "maxLadenWeightRearAxle1Lbs", "maxLadenWeightRearAxle2Lbs",
        "maxAxleWeightLbs", "maxAxleWeightFrontAxleLbs",
        "maxAxleWeightRearAxle1Lbs", "maxAxleWeightRearAxle2Lbs"
      ],
      "next": "trailer_additional"
    },
    {
      "id": "trailer_additional",
      "title": "Additional trailer particulars",
      "fields": [
        "trailerBodyType", "trailerUnladenWeight",
        "trailerTyreDescriptionSize", "trailerMaxAxleWeightLbs"
      ],
      "next": "declaration_and_hire_purchase"
    },
    {
      "id": "declaration_and_hire_purchase",
      "title": "Declaration and hire purchase",
      "fields": ["declarationAccepted", "hirePurchasePartyName"]
    }
  ]
}
