{
  "$schema": "https://govschema.org/spec/v0.3/govschema.schema.json",
  "govschemaVersion": "0.3.0",
  "id": "vn/bca/to-khai-dang-ky-xe",
  "version": "1.0.0",
  "title": "Vietnam Vehicle Registration Declaration (Mẫu ĐKX10) — Giấy khai đăng ký xe",
  "description": "Vietnam's Mẫu ĐKX10, \"Giấy khai đăng ký xe\" (Vehicle Registration Declaration), issued under Thông tư số 79/2024/TT-BCA ngày 15/11/2024 của Bộ trưởng Bộ Công an (Ministry of Public Security) quy định về cấp, thu hồi chứng nhận đăng ký xe, biển số xe cơ giới, xe máy chuyên dùng (regulating issuance and revocation of vehicle registration certificates and license plates for motor vehicles and specialized-purpose vehicles). This is the form a vehicle owner (or an authorized representative) completes when applying to a vehicle-registration office (traffic police, provincial or commune-level per the 2025 decentralization reform) for a first-time registration, an ownership-transfer/relocation registration, a certificate/plate replacement, a certificate/plate reissuance, or a temporary registration. This schema opens Vietnam's DMV vertical (4 of 6), following Business Formation (vn/dangkykinhdoanh), Passport (vn/xuatnhapcanh), and Taxes (vn/gdt). It covers the full 3-page declaration: page 1's owner/vehicle-characteristics declaration and registration-agency verification block; page 2's electronic vehicle-origin data and electronic registration-fee (lệ phí trước bạ) data, both of which the form's own instructions say are populated automatically from linked government databases when available and filled in manually only when they are not; and page 3's electronic-invoice data. It deliberately does NOT model, as separate fields, the page 2/3 vehicle-characteristic values (brand, model, engine/chassis number, weights, seating, etc.) that duplicate page 1's own vehicle-characteristics block for cross-checking against the linked origin/fee record — only the genuinely new data on those pages (dossier codes, import/customs details, fee amounts, invoice details) is modelled as its own field, per this registry's own it/agenzia-entrate/modello-730 precedent for not fabricating field-by-field duplication of a source form's own repeated block. It also does not decompose the registration agency's internal verification/approval block (the \"CÁN BỘ ĐĂNG KÝ XE\" signature line and its footnote on which officer title applies per administrative level) or the physical engine-/chassis-number rubbing-impression areas (\"Nơi dán bản chà số máy/số khung\"), both of which are registration-office-side, not applicant-side, content. See VERIFICATION.md for the full field-by-field mapping, the legal-currency check performed across the Thông tư 79/2024/TT-BCA amendment chain, and every disclosed scoping/judgment call. GovSchema is independent and is not affiliated with, endorsed by, or operated by the Socialist Republic of Vietnam or its Ministry of Public Security (Bộ Công an).",
  "status": "draft",
  "jurisdiction": {
    "country": "VN",
    "level": "national"
  },
  "authority": {
    "name": "Bộ Công an (Ministry of Public Security), Cục Cảnh sát giao thông (Traffic Police Department)",
    "abbreviation": "BCA",
    "url": "https://bocongan.gov.vn",
    "operatedBy": {
      "name": "Ministry of Public Security of the Socialist Republic of Vietnam (Bộ Công an)",
      "abbreviation": "BCA",
      "url": "https://bocongan.gov.vn",
      "basis": "Thông tư số 79/2024/TT-BCA ngày 15/11/2024 của Bộ trưởng Bộ Công an quy định về cấp, thu hồi chứng nhận đăng ký xe, biển số xe cơ giới, xe máy chuyên dùng, as amended by Thông tư số 13/2025/TT-BCA (hiệu lực 01/03/2025) and Thông tư số 51/2025/TT-BCA (hiệu lực 01/07/2025); Mẫu ĐKX10 itself is unamended by either amending circular."
    }
  },
  "process": {
    "type": "registration",
    "language": "vi-VN"
  },
  "source": {
    "url": "https://files.thuvienphapluat.vn/uploads/hopdong/MAU%20DKX10-79-2024-TT-BCA.doc",
    "retrievedAt": "2026-07-12",
    "documentRef": "Mẫu ĐKX10, ban hành kèm theo Thông tư số 79/2024/TT-BCA ngày 15/11/2024 của Bộ trưởng Bộ Công an — the form's own header text reads verbatim: \"Ban hành kèm theo Thông tư số 79/2024/TT-BCA ngày 15/11/2024 của Bộ trưởng Bộ Công an\"."
  },
  "verification": {
    "method": "manual-source-review-v1",
    "lastVerifiedAt": "2026-07-12",
    "verifiedBy": "GovSchema Engineering (Standards Engineer)",
    "nextReviewBy": "2027-01-12",
    "notes": "GOV-2479 (\"GovSchema Standard Research\"). Opens Vietnam's DMV vertical (4 of 6), following vn/dangkykinhdoanh (Business Formation), vn/xuatnhapcanh (Passport), and vn/gdt (Taxes). Mẫu ĐKX10 (Thông tư 79/2024/TT-BCA) had been flagged as a strong, ready-to-author backlog candidate in the prior GOV-2472 cycle; this cycle independently re-verified it from scratch rather than trusting that finding. Source: files.thuvienphapluat.vn's own CDN (re-fetched 2026-07-12, HTTP 200, 44,032 bytes, genuine OLE2/Compound-File-Binary header D0 CF 11 E0 A1 B1 1A E1, sha256 eb94a4d2211c7a1817f3eef821a4e3e25fad2c86713c116b06c0257494de781d). No antiword/catdoc/LibreOffice/python-docx tooling was available in this sandbox, so the raw file bytes were decoded directly as UTF-16LE and filtered for printable-Vietnamese-Unicode runs of 6+ characters, recovering the full 3-page printed text in reading order, including all 8 footnotes, per the same technique vn/gdt's own VERIFICATION.md documents for a legacy .doc with no fillable AcroForm/XFA layer. csgt.vn (the traffic-police-specific domain) timed out after 20s from this sandbox, consistent with this registry's prior gov.vn-host-unreachable precedent; bocongan.gov.vn (the ministry's own top-level domain) and dichvucong.bocongan.gov.vn (its public-service portal) were both directly reachable (HTTP 200) and are cited as this schema's authority.url/operatedBy.url. Legal-currency check: searched \"Thông tư 79/2024/TT-BCA\" + \"sửa đổi\"/\"thay thế\"/\"bổ sung\" and found a genuine amendment chain — Thông tư 13/2025/TT-BCA (28/02/2025, hiệu lực 01/03/2025) and Thông tư 51/2025/TT-BCA (30/06/2025, hiệu lực 01/07/2025) both amend Thông tư 79/2024/TT-BCA — but neither touches Mẫu ĐKX10 itself: Thông tư 51/2025/TT-BCA's own text (fetched via WebFetch) explicitly replaces Phụ lục số 02 (license-plate symbols) and removes a \"trực thuộc Trung ương\" phrase from Mẫu ĐKX07/ĐKX08/ĐKX09 only, naming no change to ĐKX10; a July-2025-current consolidated text (văn bản hợp nhất, fetched via WebFetch from xaydungchinhsach.chinhphu.vn) confirms Mẫu ĐKX10/79 remains listed as originally issued, with a footnote clarifying it may be printed from the public-service portal, the vehicle-registration system, or self-printed, and states no amendment to this specific appendix. A further, newer circular, Thông tư 37/2026/TT-BCA (24/4/2026, hiệu lực 08/6/2026), was also found and checked (via WebFetch of its own text): it introduces a new inspection-certificate template (Mẫu KĐ23a) and VNeID/VNeTraffic digital-integration/terminology changes, but likewise makes no mention of Mẫu ĐKX10. A pending draft circular on bocongan.gov.vn's own policy portal (further amending vehicle registration/inspection rules, out for public comment as of this cycle) was also checked and equally makes no mention of ĐKX10. Mẫu ĐKX10 is therefore confirmed current and unamended as of this verification date. Cross-checked against a corroborating source, luatvietnam.vn's own biểu mẫu page (https://luatvietnam.vn/bieu-mau/giay-khai-dang-ky-xe-moi-nhat-571-19654-article.html, fetched via WebFetch), which independently attributes the same form to the same circular and quotes the same field labels/footnote content. Field-by-field mapping: every fields[]/documents[] entry's sourceRef cites the exact page and printed label, or footnote number (1)-(8), from the primary .doc extraction. Two mock conformance scenarios (a straightforward first-time registration with no prior plate and full electronic linkage; an ownership-transfer/relocation registration with a prior plate, an authorized agent, and an incomplete-documents chain-of-sale disclosure) found 0 errors each, plus 3 mutation controls (missing required field, originType enum violation, a missing required document) each correctly raised exactly 1 error. See VERIFICATION.md for the full record, every disclosed scoping/judgment call, and this cycle's re-verification detail."
  },
  "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-12"
  },
  "license": "CC-BY-4.0",
  "fields": [
    {
      "name": "procedureType",
      "label": "…………(1)……. [thủ tục]",
      "type": "enum",
      "required": true,
      "description": "Which vehicle-registration procedure this declaration is for.",
      "sourceRef": "Page 1 header line above \"Mã hồ sơ trực tuyến\", gated by footnote (1): \"Ghi thủ tục đăng ký xe: Đăng ký xe lần đầu; Đăng ký sang tên, di chuyển xe; cấp đổi chứng nhận đăng ký xe, biển số xe; cấp lại chứng nhận đăng ký xe, biển số xe; Đăng ký xe tạm thời;\"",
      "validation": {
        "enum": [
          "new_registration",
          "ownership_transfer_or_relocation",
          "certificate_or_plate_replacement",
          "certificate_or_plate_reissuance",
          "temporary_registration"
        ]
      }
    },
    {
      "name": "onlineDossierCode",
      "label": "Mã hồ sơ trực tuyến",
      "type": "string",
      "required": false,
      "description": "Online-portal dossier code, assigned automatically when this declaration is filed through the public-service portal rather than on paper.",
      "sourceRef": "Page 1 — \"Mã hồ sơ trực tuyến:……………..\""
    },
    {
      "name": "oldPlateNumber",
      "label": "BIỂN SỐ CŨ",
      "type": "string",
      "required": false,
      "description": "The vehicle's previously issued plate number, filled in for ownership-transfer, replacement, reissuance, or relocation procedures; left blank for a first-time (new) registration, which has no prior plate.",
      "sourceRef": "Page 1 — \"BIỂN SỐ CŨ: …………………….\""
    },
    {
      "name": "oldPlateColor",
      "label": "Màu biển (biển cũ)",
      "type": "string",
      "required": false,
      "description": "Color of the previously issued plate (e.g. white, yellow, blue — plate color in Vietnam denotes vehicle-use category).",
      "sourceRef": "Page 1 — \"Màu biển: ………………………….\" (directly beneath BIỂN SỐ CŨ)"
    },
    {
      "name": "newPlateNumber",
      "label": "BIỂN SỐ MỚI",
      "type": "string",
      "required": false,
      "description": "The new plate number being issued or requested (e.g. an auctioned plate carried over on an ownership transfer). Typically completed by the registration agency rather than the applicant.",
      "sourceRef": "Page 1 — \"BIỂN SỐ MỚI: …………………….\""
    },
    {
      "name": "newPlateColor",
      "label": "Màu biển (biển mới)",
      "type": "string",
      "required": false,
      "description": "Color of the new plate.",
      "sourceRef": "Page 1 — \"Màu biển: ………………………….\" (directly beneath BIỂN SỐ MỚI)"
    },
    {
      "name": "ownerName",
      "label": "Tên chủ xe",
      "type": "string",
      "required": true,
      "description": "Full name of the vehicle owner (individual) or full registered name of the owning organization.",
      "sourceRef": "Page 1 — \"Tên chủ xe: ……………………………………………………………………………………\"",
      "classification": "pii"
    },
    {
      "name": "ownerAddress",
      "label": "Địa chỉ",
      "type": "string",
      "required": true,
      "description": "Owner's residential or registered-office address.",
      "sourceRef": "Page 1 — \"Địa chỉ: ………………………………………………………Điện thoại:……………………\"",
      "classification": "pii"
    },
    {
      "name": "ownerPhone",
      "label": "Điện thoại",
      "type": "string",
      "required": false,
      "description": "Owner's contact phone number.",
      "sourceRef": "Page 1 — \"Địa chỉ: ………………………………………………………Điện thoại:……………………\"",
      "classification": "pii"
    },
    {
      "name": "ownerIdNumber",
      "label": "Mã định danh",
      "type": "string",
      "required": true,
      "description": "The owner's identifying number. Per footnote (2), for an individual this is one of: personal identification number (số định danh cá nhân), diplomatic/official/consular/honorary-consular ID card number, ordinary ID card (CMT) number, a foreign national's identification number, temporary- or permanent-residence card number, police-force ID (CMT CAND) number, or army ID (CMT QĐND) number, matching whichever category applies to the registrant; for an organization, its electronic organizational-identification code, tax code, or establishment-decision number (when it has neither yet).",
      "sourceRef": "Page 1 — \"Mã định danh: (2) ………...Loại giấy tờ:………..Cơ quan cấp………….ngày cấp…./…. /….\", footnote (2): \"Đối với cá nhân: số định danh cá nhân, số CMT ngoại giao, số CMT công vụ, số CMT lãnh sự; số CMT lãnh sự danh dự, CMT (phổ thông), số định danh của người nước ngoài, số Thẻ tạm trú, số Thẻ thường trú, số CMT CAND, số CMT QĐND tương ứng với đối tượng đăng ký; đối với tổ chức: Ghi mã định danh điện tử của tổ chức hoặc mã số thuế hoặc số quyết định thành lập (trường hợp chưa có mã định danh điện tử hoặc mã số thuế);\"",
      "classification": "sensitive-pii"
    },
    {
      "name": "ownerIdDocumentType",
      "label": "Loại giấy tờ",
      "type": "enum",
      "required": true,
      "description": "Which category of identifying document ownerIdNumber is drawn from, per the footnote (2) list.",
      "sourceRef": "Page 1 — \"Loại giấy tờ:………..\", footnote (2) (see ownerIdNumber for the full enumerated list)",
      "validation": {
        "enum": [
          "personal_identification_number",
          "diplomatic_id_card",
          "official_duty_id_card",
          "consular_id_card",
          "honorary_consular_id_card",
          "ordinary_id_card_cmt",
          "foreign_national_id_number",
          "temporary_residence_card",
          "permanent_residence_card",
          "police_force_id_cmt_cand",
          "army_id_cmt_qdnd",
          "organization_electronic_id_code",
          "organization_tax_code",
          "organization_establishment_decision_number"
        ]
      }
    },
    {
      "name": "ownerIdIssuingAgency",
      "label": "Cơ quan cấp (mã định danh)",
      "type": "string",
      "required": true,
      "description": "Agency that issued the owner's identifying document.",
      "sourceRef": "Page 1 — \"Cơ quan cấp………….ngày cấp…./…. /….\" (following Mã định danh/Loại giấy tờ)"
    },
    {
      "name": "ownerIdIssueDate",
      "label": "ngày cấp (mã định danh)",
      "type": "date",
      "required": true,
      "description": "Date the owner's identifying document was issued.",
      "sourceRef": "Page 1 — \"ngày cấp…./…. /….\" (following Mã định danh/Loại giấy tờ)"
    },
    {
      "name": "agentName",
      "label": "Người làm thủ tục",
      "type": "string",
      "required": false,
      "description": "Name of the person handling the procedure on the owner's behalf, when the owner is not filing in person (e.g. an employee of an organization owner, or a person authorized by the owner).",
      "sourceRef": "Page 1 — \"Người làm thủ tục:………………Số giấy tờ (3)……………………SĐT:………………………..\"",
      "classification": "pii"
    },
    {
      "name": "agentIdNumber",
      "label": "Số giấy tờ (người làm thủ tục)",
      "type": "string",
      "required": false,
      "description": "Identity-document number of the person handling the procedure, per footnote (3).",
      "sourceRef": "Page 1 — \"Số giấy tờ (3)……………………\", footnote (3): \"Ghi số giấy tờ tùy thân của người được cơ quan, tổ chức giới thiệu làm thủ tục đăng ký xe; kể cả trường hợp người được ủy quyền làm thủ tục\"",
      "classification": "sensitive-pii"
    },
    {
      "name": "agentPhone",
      "label": "SĐT (người làm thủ tục)",
      "type": "string",
      "required": false,
      "description": "Contact phone number of the person handling the procedure.",
      "sourceRef": "Page 1 — \"SĐT:………………………..\" (following Người làm thủ tục/Số giấy tờ)",
      "classification": "pii"
    },
    {
      "name": "transportBusinessLicenseNumber",
      "label": "Số GPKDVT (nếu có)",
      "type": "string",
      "required": false,
      "description": "Transport-business license number, applicable only to a vehicle owner operating a licensed transport business (explicitly tagged \"(nếu có)\" — if any — on the source).",
      "sourceRef": "Page 1 — \"Số GPKDVT (nếu có)…………………....Cơ quan cấp:………………..ngày cấp.…/…. /……\""
    },
    {
      "name": "transportBusinessLicenseIssuingAgency",
      "label": "Cơ quan cấp (GPKDVT)",
      "type": "string",
      "required": false,
      "description": "Agency that issued the transport-business license, when transportBusinessLicenseNumber applies.",
      "sourceRef": "Page 1 — \"Cơ quan cấp:………………..ngày cấp.…/…. /……\" (following Số GPKDVT)"
    },
    {
      "name": "transportBusinessLicenseIssueDate",
      "label": "ngày cấp (GPKDVT)",
      "type": "date",
      "required": false,
      "description": "Date the transport-business license was issued, when transportBusinessLicenseNumber applies.",
      "sourceRef": "Page 1 — \"ngày cấp.…/…. /……\" (following Số GPKDVT)"
    },
    {
      "name": "vehicleBrand",
      "label": "Nhãn hiệu",
      "type": "string",
      "required": true,
      "description": "Vehicle make/brand.",
      "sourceRef": "Page 1 — \"Nhãn hiệu:…………………………………….. Số loại: …………………………………..\""
    },
    {
      "name": "vehicleModel",
      "label": "Số loại",
      "type": "string",
      "required": true,
      "description": "Vehicle model/type designation.",
      "sourceRef": "Page 1 — \"Nhãn hiệu:…………………………………….. Số loại: …………………………………..\""
    },
    {
      "name": "vehicleType",
      "label": "Loại xe",
      "type": "string",
      "required": true,
      "description": "Vehicle category (e.g. car, motorcycle, specialized machine).",
      "sourceRef": "Page 1 — \"Loại xe:………………………………………. Dung tích: ……….cm3; Công suất:………..kw;\""
    },
    {
      "name": "engineDisplacementCc",
      "label": "Dung tích (cm3)",
      "type": "number",
      "required": false,
      "description": "Engine displacement in cubic centimeters, applicable to vehicles with a combustion engine.",
      "sourceRef": "Page 1 — \"Dung tích: ……….cm3;\"",
      "validation": {
        "minimum": 0
      }
    },
    {
      "name": "enginePowerKw",
      "label": "Công suất (kw)",
      "type": "number",
      "required": false,
      "description": "Engine power output in kilowatts.",
      "sourceRef": "Page 1 — \"Công suất:………..kw;\"",
      "validation": {
        "minimum": 0
      }
    },
    {
      "name": "engineNumber",
      "label": "Số máy",
      "type": "string",
      "required": true,
      "description": "Engine number. Per footnote (4), if the vehicle has more than one engine, all engine numbers are listed here.",
      "sourceRef": "Page 1 — \"Số máy (4)………………………………………………………………………………..\", footnote (4): \"Trường hợp xe có nhiều số máy thì ghi tất cả các số máy của xe.\""
    },
    {
      "name": "chassisNumber",
      "label": "Số khung",
      "type": "string",
      "required": true,
      "description": "Chassis/frame number.",
      "sourceRef": "Page 1 — \"Số khung:………………………………………………Màu sơn:……………………………\""
    },
    {
      "name": "paintColor",
      "label": "Màu sơn",
      "type": "string",
      "required": true,
      "description": "Vehicle paint color.",
      "sourceRef": "Page 1 — \"Số khung:………………………………………………Màu sơn:……………………………\""
    },
    {
      "name": "loadCapacityKg",
      "label": "Trọng tải (kg)",
      "type": "number",
      "required": false,
      "description": "Rated load capacity in kilograms, applicable to cargo vehicles.",
      "sourceRef": "Page 1 — \"Trọng tải:…………..kg; Số chỗ ngồi:………..; đứng:…….; nằm:……; Năm sản xuất:………\"",
      "validation": {
        "minimum": 0
      }
    },
    {
      "name": "seatingCapacity",
      "label": "Số chỗ ngồi",
      "type": "integer",
      "required": false,
      "description": "Number of seated passenger positions.",
      "sourceRef": "Page 1 — \"Số chỗ ngồi:………..;\"",
      "validation": {
        "minimum": 0
      }
    },
    {
      "name": "standingCapacity",
      "label": "đứng",
      "type": "integer",
      "required": false,
      "description": "Number of standing passenger positions.",
      "sourceRef": "Page 1 — \"đứng:…….;\"",
      "validation": {
        "minimum": 0
      }
    },
    {
      "name": "berthCapacity",
      "label": "nằm",
      "type": "integer",
      "required": false,
      "description": "Number of berth/sleeping passenger positions.",
      "sourceRef": "Page 1 — \"nằm:……;\"",
      "validation": {
        "minimum": 0
      }
    },
    {
      "name": "yearOfManufacture",
      "label": "Năm sản xuất",
      "type": "integer",
      "required": true,
      "description": "Vehicle's year of manufacture.",
      "sourceRef": "Page 1 — \"Năm sản xuất:………\"",
      "validation": {
        "minimum": 1950,
        "maximum": 2100
      }
    },
    {
      "name": "curbWeightKg",
      "label": "Khối lượng bản thân (kg)",
      "type": "number",
      "required": false,
      "description": "Curb (unladen) weight in kilograms.",
      "sourceRef": "Page 1 — \"Khối lượng bản thân:……..kg; Khối lượng toàn bộ:…….kg; Khối lượng kéo theo:………kg\"",
      "validation": {
        "minimum": 0
      }
    },
    {
      "name": "grossWeightKg",
      "label": "Khối lượng toàn bộ (kg)",
      "type": "number",
      "required": false,
      "description": "Gross (fully laden) weight in kilograms.",
      "sourceRef": "Page 1 — \"Khối lượng bản thân:……..kg; Khối lượng toàn bộ:…….kg; Khối lượng kéo theo:………kg\"",
      "validation": {
        "minimum": 0
      }
    },
    {
      "name": "towedWeightKg",
      "label": "Khối lượng kéo theo (kg)",
      "type": "number",
      "required": false,
      "description": "Rated towed-load weight in kilograms, applicable to a vehicle designed to tow a trailer.",
      "sourceRef": "Page 1 — \"Khối lượng bản thân:……..kg; Khối lượng toàn bộ:…….kg; Khối lượng kéo theo:………kg\"",
      "validation": {
        "minimum": 0
      }
    },
    {
      "name": "originType",
      "label": "Nguồn gốc",
      "type": "enum",
      "required": true,
      "description": "The vehicle's legal origin, per footnote (5).",
      "sourceRef": "Page 1 — \"Nguồn gốc (5)………………………………..…….Mã chứng từ LPTB: ………………………\", footnote (5): \"Ghi nguồn gốc xe nhập khẩu/sản xuất lắp ráp/ tịch thu theo quy định của pháp luật\"",
      "validation": {
        "enum": [
          "imported",
          "domestically_manufactured_or_assembled",
          "confiscated_per_law"
        ]
      }
    },
    {
      "name": "registrationFeeDocumentCode",
      "label": "Mã chứng từ LPTB",
      "type": "string",
      "required": false,
      "description": "Registration-fee (lệ phí trước bạ) document code, when the vehicle's registration-fee record is already linked electronically.",
      "sourceRef": "Page 1 — \"Mã chứng từ LPTB: ………………………\" (same line as Nguồn gốc)"
    },
    {
      "name": "reasonForRequest",
      "label": "Lý do",
      "type": "string",
      "required": false,
      "description": "Free-text reason, required only for a subset of procedures: an ownership transfer carried out together with an auctioned plate, an ownership-transfer registration whose transfer-of-ownership documents are incomplete or not fully valid, or a certificate/plate replacement or reissuance. This schema does not gate this field's requiredness on procedureType, since the footnote's own trigger is narrower than any single procedureType value (e.g. only the auctioned-plate or incomplete-documents sub-case of an ownership transfer, not every ownership transfer) and the form provides no separate field to key a precise condition on; disclosed here rather than modelled as a fabricated requiredWhen gate.",
      "sourceRef": "Page 1 — \"Lý do: (6) ……………………………………………………………………………………\", footnote (6): \"Ghi rõ lý do đối với các trường hợp: Đăng ký sang tên xe kèm theo biển số xe ô tô trúng đấu giá; Giải quyết đăng ký sang tên xe có chứng từ chuyển quyền sở hữu xe không đầy đủ, hợp lệ theo quy định; cấp đổi, cấp lại chứng nhận đăng ký xe, biển số xe;\""
    },
    {
      "name": "attachedDocumentsDescription",
      "label": "Kèm theo giấy này có",
      "type": "string",
      "required": false,
      "description": "Free-text description of the specific documents/dossier accompanying this declaration. Per footnote (7): for temporary registration, states the departure and arrival location instead; for an ownership chain passing through multiple organizations/individuals with incomplete or invalid transfer-of-ownership documents, must narrate the sale history (name, address, and date of each sale) and is submitted together with whatever transfer-of-ownership documents exist, with a commitment of responsibility for the vehicle's lawful origin.",
      "sourceRef": "Page 1 — \"Kèm theo giấy này có: (7) …………………………………………………………………………\", footnote (7): \"Ghi cụ thể các chứng từ, hô sơ đăng ký xe kèm theo; trường hợp đăng ký tạm thời thì ghi địa điểm nơi đi, nơi đên; trường hợp chuyển quyền sở hữu xe qua nhiều tổ chức, cá nhân mà chứng từ chuyển quyền sở hữu xe không đầy đủ, hợp lệ theo quy định thì phải ghi rõ quá trình mua bán (tên, địa chỉ, thời gian mua bán của tổ chức, cá nhân), nộp kèm theo các chứng từ chuyển quyền sở hữu xe (nếu có) và cam kết chịu trách nhiệm về nguồn gốc hợp pháp của xe.\""
    },
    {
      "name": "declarantName",
      "label": "CHỦ XE (ghi rõ họ tên)",
      "type": "string",
      "required": true,
      "description": "Printed name of the vehicle owner (or their authorized signatory) signing the declaration.",
      "sourceRef": "Page 1 — \"CHỦ XE\" / \"(Ký số hoặc ký, ghi rõ họ tên, đóng dấu nếu là xe cơ quan)\"",
      "classification": "pii"
    },
    {
      "name": "declarationPlace",
      "label": "………, ngày…….tháng ……năm……… (nơi khai)",
      "type": "string",
      "required": true,
      "description": "Place where the declaration is signed.",
      "sourceRef": "Page 1 — \"………, ngày…….tháng ……năm………\" (above CHỦ XE)"
    },
    {
      "name": "declarationDate",
      "label": "ngày…….tháng ……năm……… (ngày khai)",
      "type": "date",
      "required": true,
      "description": "Date the declaration is signed.",
      "sourceRef": "Page 1 — \"………, ngày…….tháng ……năm………\" (above CHỦ XE)"
    },
    {
      "name": "originDossierCode",
      "label": "Mã hồ sơ nguồn gốc xe (Số sêri Phiếu KTCLXX/Số khung xe)",
      "type": "string",
      "required": false,
      "description": "Code linking to the vehicle's electronic origin dossier (a quality/safety-inspection certificate serial number, or the chassis number, depending on origin channel). Per the form's own page-2 heading, this whole page is populated automatically from the linked electronic dossier when one exists, and is filled in manually only when it does not (\"trường hợp không có dữ liệu điện tử thì điền đầy đủ các thông tin còn thiếu\").",
      "sourceRef": "Page 2 — \"DỮ LIỆU ĐIỆN TỬ VỀ NGUỒN GỐC CỦA XE\" / \"Mã hồ sơ nguồn gốc xe (Số sêri Phiếu KTCLXX/Số khung xe): ……………………………\""
    },
    {
      "name": "manufacturerOrImporterName",
      "label": "Tên đơn vị sản xuất, lắp ráp/nhập khẩu",
      "type": "string",
      "required": false,
      "description": "Name of the manufacturing, assembling, or importing entity.",
      "sourceRef": "Page 2 — \"Tên đơn vị sản xuất, lắp ráp/nhập khẩu: ……………………………………………………….\""
    },
    {
      "name": "importDeclarationNumber",
      "label": "Số tờ khai nhập khẩu",
      "type": "string",
      "required": false,
      "description": "Customs import-declaration number, applicable to an imported vehicle.",
      "sourceRef": "Page 2 — \"Số tờ khai nhập khẩu:…………………………..………..….Ngày …….tháng…….năm……..\""
    },
    {
      "name": "importDeclarationDate",
      "label": "Ngày (tờ khai nhập khẩu)",
      "type": "date",
      "required": false,
      "description": "Date of the customs import declaration.",
      "sourceRef": "Page 2 — \"Số tờ khai nhập khẩu:…………………………..………..….Ngày …….tháng…….năm……..\""
    },
    {
      "name": "importCheckpoint",
      "label": "Cửa khẩu nhập",
      "type": "string",
      "required": false,
      "description": "Border checkpoint through which the vehicle was imported.",
      "sourceRef": "Page 2 — \"Cửa khẩu nhập: ……………………………………………………………………………………\""
    },
    {
      "name": "registrationFeeDossierCode",
      "label": "Mã hồ sơ lệ phí trước bạ",
      "type": "string",
      "required": false,
      "description": "Code linking to the vehicle's electronic registration-fee (lệ phí trước bạ) dossier, populated automatically when linked electronically per the same page-2 convention as originDossierCode.",
      "sourceRef": "Page 2 — \"DỮ LIỆU ĐIỆN TỬ VỀ LỆ PHÍ TRƯỚC BẠ\" / \"Mã hồ sơ lệ phí trước bạ:………………………………..Số điện thoại: …………………..\""
    },
    {
      "name": "registrationFeePayerPhone",
      "label": "Số điện thoại (người nộp thuế)",
      "type": "string",
      "required": false,
      "description": "Contact phone number of the registration-fee payer.",
      "sourceRef": "Page 2 — \"Mã hồ sơ lệ phí trước bạ:………………………………..Số điện thoại: …………………..\"",
      "classification": "pii"
    },
    {
      "name": "feePayerName",
      "label": "Tên người nộp thuế",
      "type": "string",
      "required": false,
      "description": "Name of the registration-fee payer (may differ from the vehicle owner, e.g. a dealer paying on the owner's behalf).",
      "sourceRef": "Page 2 — \"Tên người nộp thuế: ………………………………………………………………………………\"",
      "classification": "pii"
    },
    {
      "name": "feePayerAddress",
      "label": "Địa chỉ (người nộp thuế)",
      "type": "string",
      "required": false,
      "description": "Address of the registration-fee payer.",
      "sourceRef": "Page 2 — \"Địa chỉ: ……………………………………………………………………………………………..\" (fee-payer block)",
      "classification": "pii"
    },
    {
      "name": "feePayerIdNumber",
      "label": "Mã định danh (người nộp thuế)",
      "type": "string",
      "required": false,
      "description": "Identifying number of the registration-fee payer.",
      "sourceRef": "Page 2 — \"Mã định danh: …………...Loại giấy tờ:……....Cơ quan cấp:………….ngày cấp…./…. /….\" (fee-payer block)",
      "classification": "sensitive-pii"
    },
    {
      "name": "feePayerIdDocumentType",
      "label": "Loại giấy tờ (người nộp thuế)",
      "type": "string",
      "required": false,
      "description": "Category of identifying document feePayerIdNumber is drawn from.",
      "sourceRef": "Page 2 — \"Loại giấy tờ:……....\" (fee-payer block)"
    },
    {
      "name": "feePayerIdIssuingAgency",
      "label": "Cơ quan cấp (mã định danh người nộp thuế)",
      "type": "string",
      "required": false,
      "description": "Agency that issued the fee payer's identifying document.",
      "sourceRef": "Page 2 — \"Cơ quan cấp:………….ngày cấp…./…. /….\" (fee-payer block)"
    },
    {
      "name": "feePayerIdIssueDate",
      "label": "ngày cấp (mã định danh người nộp thuế)",
      "type": "date",
      "required": false,
      "description": "Date the fee payer's identifying document was issued.",
      "sourceRef": "Page 2 — \"ngày cấp…./…. /….\" (fee-payer block)"
    },
    {
      "name": "taxManagingAgencyName",
      "label": "Tên cơ quan quản lý thuế thu",
      "type": "string",
      "required": false,
      "description": "Name of the tax office managing collection of the registration fee.",
      "sourceRef": "Page 2 — \"Tên cơ quan quản lý thuế thu: ……………………………………………………………………\""
    },
    {
      "name": "assetValueForFeeCalculation",
      "label": "Giá trị tài sản tính LPTB",
      "type": "number",
      "required": false,
      "description": "Assessed asset value used to calculate the registration fee (lệ phí trước bạ).",
      "sourceRef": "Page 2 — \"Giá trị tài sản tính LPTB:…………………; Số tiền lệ phí trước bạ phải nộp:…………………\"",
      "validation": {
        "minimum": 0
      },
      "classification": "financial"
    },
    {
      "name": "registrationFeeAmountPayable",
      "label": "Số tiền lệ phí trước bạ phải nộp",
      "type": "number",
      "required": false,
      "description": "Registration-fee amount payable.",
      "sourceRef": "Page 2 — \"Giá trị tài sản tính LPTB:…………………; Số tiền lệ phí trước bạ phải nộp:…………………\"",
      "validation": {
        "minimum": 0
      },
      "classification": "financial"
    },
    {
      "name": "registrationFeePaymentDate",
      "label": "Ngày nộp",
      "type": "date",
      "required": false,
      "description": "Date the registration fee was paid.",
      "sourceRef": "Page 2 — \"Ngày nộp:….../……/…….\""
    },
    {
      "name": "registrationFeeExemptionBasis",
      "label": "Căn cứ miễn thu (trường hợp miễn thu LPTB)",
      "type": "string",
      "required": false,
      "description": "Legal basis cited for a registration-fee exemption, applicable only when the vehicle is exempt from the fee.",
      "sourceRef": "Page 2 — \"Căn cứ miễn thu (trường hợp miễn thu LPTB):……………………………………………..\""
    },
    {
      "name": "taxAuthorityNoticeDate",
      "label": "Thông báo của cơ quan thuế ngày",
      "type": "date",
      "required": false,
      "description": "Date of the tax authority's notice regarding the registration fee.",
      "sourceRef": "Page 2 — \"Thông báo của cơ quan thuế ngày:……./……/……….\""
    },
    {
      "name": "invoiceIssueDate",
      "label": "Ngày cấp (hóa đơn)",
      "type": "date",
      "required": false,
      "description": "Issue date of the electronic invoice for the vehicle's purchase.",
      "sourceRef": "Page 3 — \"THÔNG TIN HÓA ĐƠN ĐIỆN TỬ\" / \"Ngày cấp:………………………………………….\""
    },
    {
      "name": "invoiceFormNumber",
      "label": "Mẫu số (hóa đơn)",
      "type": "string",
      "required": false,
      "description": "Electronic-invoice form/template number.",
      "sourceRef": "Page 3 — \"Mẫu số ký hiệu hóa đơn: ………………………….ký hiệu hóa đơn: ……………………\""
    },
    {
      "name": "invoiceSerialSymbol",
      "label": "ký hiệu hóa đơn",
      "type": "string",
      "required": false,
      "description": "Electronic-invoice serial symbol (ký hiệu hóa đơn).",
      "sourceRef": "Page 3 — \"Mẫu số ký hiệu hóa đơn: ………………………….ký hiệu hóa đơn: ……………………\""
    },
    {
      "name": "invoiceNumber",
      "label": "Số hóa đơn",
      "type": "string",
      "required": false,
      "description": "Electronic-invoice number.",
      "sourceRef": "Page 3 — \"Số hóa đơn : …………………………………….…………………………………….\""
    },
    {
      "name": "invoiceType",
      "label": "Loại hóa đơn",
      "type": "string",
      "required": false,
      "description": "Type of electronic invoice.",
      "sourceRef": "Page 3 — \"Loại hóa đơn…………………………………….…………………………………….\""
    },
    {
      "name": "sellerName",
      "label": "Đơn vị bán hàng",
      "type": "string",
      "required": false,
      "description": "Name of the selling entity (dealer).",
      "sourceRef": "Page 3 — \"Đơn vị bán hàng: …………………………………….…………………………………….\""
    },
    {
      "name": "sellerTaxCode",
      "label": "Mã số thuế người bán hàng",
      "type": "string",
      "required": false,
      "description": "Seller's tax code.",
      "sourceRef": "Page 3 — \"Mã số thuế người bán hàng…………………………………….……………………………\""
    },
    {
      "name": "sellerAddress",
      "label": "Địa chỉ đơn vị người bán",
      "type": "string",
      "required": false,
      "description": "Seller's address.",
      "sourceRef": "Page 3 — \"Địa chỉ đơn vị người bán: …………………………………….………………………………\""
    },
    {
      "name": "buyerName",
      "label": "Họ tên người mua hàng",
      "type": "string",
      "required": false,
      "description": "Buyer's full name (individual).",
      "sourceRef": "Page 3 — \"Họ tên người mua hàng: …………………………………….…………………………………….\"",
      "classification": "pii"
    },
    {
      "name": "buyerOrganizationName",
      "label": "Tên tổ chức người mua hàng",
      "type": "string",
      "required": false,
      "description": "Buyer's organization name, when the buyer is an organization rather than an individual.",
      "sourceRef": "Page 3 — \"Tên tổ chức người mua hàng: …………………………………….………………………………\""
    },
    {
      "name": "buyerOrganizationUnit",
      "label": "Đơn vị người mua hàng",
      "type": "string",
      "required": false,
      "description": "Buyer's organizational unit/department.",
      "sourceRef": "Page 3 — \"Đơn vị người mua hàng: …………………………………….…………………………………….\""
    },
    {
      "name": "buyerAddress",
      "label": "Địa chỉ người mua hàng",
      "type": "string",
      "required": false,
      "description": "Buyer's address.",
      "sourceRef": "Page 3 — \"Địa chỉ người mua hàng: …………………………………….…………………………………….\"",
      "classification": "pii"
    },
    {
      "name": "buyerIdNumberOrTaxCode",
      "label": "Căn cước công dân/mã số thuế (người mua hàng)",
      "type": "string",
      "required": false,
      "description": "Buyer's citizen ID number (individual) or tax code (organization).",
      "sourceRef": "Page 3 — \"Căn cước công dân/mã số thuế: …………………………………….……………………………\"",
      "classification": "sensitive-pii"
    },
    {
      "name": "goodsOrServiceName",
      "label": "Tên hàng hóa, dịch vụ",
      "type": "string",
      "required": false,
      "description": "Description of the invoiced goods/service (the vehicle itself).",
      "sourceRef": "Page 3 — \"Tên hàng hóa, dịch vụ: …………………………………….…………………………………….\""
    },
    {
      "name": "invoiceTaxAmount",
      "label": "Tiền thuế",
      "type": "number",
      "required": false,
      "description": "Tax amount shown on the invoice.",
      "sourceRef": "Page 3 — \"Tiền thuế: ………………………….Tổng cộng tiền thanh toán: ……………………………\"",
      "validation": {
        "minimum": 0
      },
      "classification": "financial"
    },
    {
      "name": "invoiceTotalAmount",
      "label": "Tổng cộng tiền thanh toán",
      "type": "number",
      "required": false,
      "description": "Total invoice amount (numeric).",
      "sourceRef": "Page 3 — \"Tiền thuế: ………………………….Tổng cộng tiền thanh toán: ……………………………\"",
      "validation": {
        "minimum": 0
      },
      "classification": "financial"
    },
    {
      "name": "invoiceTotalAmountInWords",
      "label": "Tổng cộng tiền thanh toán (viết bằng chữ)",
      "type": "string",
      "required": false,
      "description": "Total invoice amount spelled out in words, as printed on Vietnamese invoices.",
      "sourceRef": "Page 3 — \"Tổng cộng tiền thanh toán (viết bằng chữ): ………………………………………………..\""
    }
  ],
  "documents": [
    {
      "id": "declarationAttestation",
      "label": "Owner's certification of the declaration's accuracy",
      "category": "attestation",
      "required": true,
      "statement": "Tôi xin cam đoan về nội dung khai trên là đúng và hoàn toàn chịu trách nhiệm trước pháp luật về các chứng từ trong hồ sơ xe. (I certify that the above declared content is accurate and take full legal responsibility for the documents in the vehicle dossier.)",
      "sourceRef": "Page 1, above the CHỦ XE signature block — \"Tôi xin cam đoan về nội dung khai trên là đúng và hoàn toàn chịu trách nhiệm trước pháp luật về các chứng từ trong hồ sơ xe.\""
    },
    {
      "id": "ownershipTransferChainDocuments",
      "label": "Chain-of-sale transfer-of-ownership documents (chứng từ chuyển quyền sở hữu xe)",
      "category": "supporting-evidence",
      "required": false,
      "belongsTo": "applicant",
      "handling": "applies-only-when-ownership-passed-through-multiple-organizations-or-individuals-and-the-transfer-of-ownership-documents-are-incomplete-or-not-fully-valid-a-narrower-condition-this-schema-has-no-dedicated-boolean-field-to-gate-requiredWhen-on-so-is-disclosed-here-in-prose-rather-than-a-fabricated-gate",
      "sourceRef": "Page 1, footnote (7): \"trường hợp chuyển quyền sở hữu xe qua nhiều tổ chức, cá nhân mà chứng từ chuyển quyền sở hữu xe không đầy đủ, hợp lệ theo quy định thì phải ghi rõ quá trình mua bán (tên, địa chỉ, thời gian mua bán của tổ chức, cá nhân), nộp kèm theo các chứng từ chuyển quyền sở hữu xe (nếu có) và cam kết chịu trách nhiệm về nguồn gốc hợp pháp của xe.\""
    }
  ]
}
