# Verification record — sz/rtd/motor-vehicle-initial-registration-application@1.0.0

GOV-4797 ("GovSchema Standard Research"). This cycle re-scanned CATALOG.md fresh: Eswatini currently has 2 of 6 verticals open (National ID & Civic Documents via GOV-4783; Taxes via GOV-4790), with DMV and Passport flagged by GOV-4790's own closing note as "soft backlog, not confirmed dead ends" — screened only via `WebSearch`/`curl`-style lookups, never a real rendered browser. Per this registry's standing procedure of re-checking soft backlog with a real browser before pivoting to a new jurisdiction, a real Chromium/Playwright session re-screened both:

- **Eswatini Passport** is now a **confirmed dead end**: the Ministry of Home Affairs' own "Application Forms" page (`gov.sz/index.php/application-forms`) lists only a Temporary Residence Permit form (Form 3), a medical certificate, a visa form, and a payment schedule — no passport application form of any kind — and the homepage's own "International Passport" and "Vehicle Application" deep-links both 404 even when followed live from the linking page itself.
- **Eswatini DMV upgrades to a genuine, well-sourced candidate**: gov.sz's own "Works Forms" page (`/index.php/policies-regulations`, under the Ministry of Public Works and Transport section) publishes several real, unauthenticated, directly downloadable forms in `/images/Works/forms/`, including `LL1 APPLICATION FOR LEARNERS LICENCE.xls`, `PD1 APPLICATION FOR PROFESSIONAL DRIVING PERMIT.xls`, `RTS ROAD WORTHINESS SHEET.xls`, and this document's own source, `RTD - MVR1 and ACR FORMS.docx`.

## Reaching the live source

Fetched directly: `https://www.gov.sz/images/Works/forms/RTD%20-%20MVR1%20and%20ACR%20FORMS.docx`, HTTP 200, `Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document`, `Content-Length: 48931` (byte-identical to the downloaded file), `Last-Modified: Thu, 25 Sep 2025 20:01:36 GMT`, sha256 `c2ce9f0496d346ad29eee067253bc698c0125cde82b3c0c775d8579cb1bce265`, no login/CAPTCHA/WAF gate — confirmed with a plain `curl` HEAD request in addition to the real-browser session that first located the link, since the file itself is a static asset (only the surrounding CMS page is JS-rendered by the site's front end in some cases; this particular Joomla-based page rendered its own form links in the page's raw HTML fine on a plain fetch too).

## Extraction method

The .docx is a genuine Office Open XML zip archive (confirmed via Python's `zipfile` module; contains `word/document.xml`, `[Content_Types].xml`, etc. — not a corrupted or reformatted file). `word/document.xml` was parsed directly with Python's stdlib `xml.etree.ElementTree`, walking every top-level `w:p` (paragraph) and `w:tbl` (table) element in document order and reading each table row's cell text via the `w:t` text runs. This is a native, unscrambled OOXML text layer — unlike this registry's recurring flat/scanned-PDF extraction cases (see `gov-form-pdf-extraction`), no rendering or glyph-position recovery was needed. The document bundles two distinct forms back to back: **MVR1-MIB** ("Application for Initial Registration of a Motor Vehicle", Parts A/B/C plus two declarations and an office-use panel) and **ACR** ("Application for Certification of Roadworthiness", a separate applicant-identification block, vehicle-classification block, declaration, and its own extensive office-use/roadworthiness-certificate panel, followed by a shared "Motor Vehicle Descriptions" glossary table used by ACR's own office-use classification).

## Document structure (MVR1-MIB only; ACR not modelled — see below)

- **Part A — Particulars of Title Holder (Manufacturer, importer or builder)**: identification type (Traffic registration no. / Business no.), identification number, name of organisation; then a nested "Organisation Proxy/Representative" block: identification type (Traffic registration no. / ID / Foreign ID), identification number, country of issue if foreign ID, surname/name.
- **Part B — Particulars of Title Holder**, structurally identical to Part A (a second/joint title holder), labelled "Surname and Initials" instead of "Surname/name" as its only textual difference.
- **Declaration by Owner (if available)**: role checkbox ("I the [ ] Organisation's proxy [ ] Organisation's representative"), attestation prose, signature/place/date.
- **Part C — Particulars of Title Holder** (mislabelled continuing the Part A/B/C lettering, but is in fact the vehicle-particulars section): registration role (Manufacturer/Importer/Builder), NaTIS model number, chassis number/VIN, make, series name, transmission (None/Manual/Self-automatic/Automatic), main colour (White/Red/Other), gear box number, differential number, "No odometer" checkbox or odometer reading; then a "COMPLETE ONLY IF DIFFERENT FROM NaTIS MODEL" block: seated (incl. driver) and standing passenger capacity, net power, overall length/width/height, wheelbase/track/rear overhang (printed "overhand"); a note that multiple vehicles may be applied for using additional copies of this application.
- **Declaration by Title Holder**: identical role-checkbox/attestation/signature/place/date structure to the Declaration by Owner.
- **FOR OFFICE USE ONLY**: fees paid and receipt number, date liable for registration, nature of ownership (Under construction / MD/MIB stock), date of application, name/signature of authorizing official, name/signature of data-capturing official, serial number of registration certificate issued — all RTD staff-completed, out of scope.

Form ACR ("Application for Certification of Roadworthiness") follows immediately in the same document but is a genuinely separate application/process (testing an already-registered vehicle's roadworthiness, not registering it) and is not modelled by this schema.

## Disclosed findings and interpretation choices

1. **Part B (the second/joint title holder block) is out of scope for v1.0.0.** It duplicates Part A's structure exactly with no printed indication of when it applies (joint ownership, a secondary manufacturer/importer, etc.); rather than guess at its conditions, this version models a single title holder only, following this registry's established main-form-now/companion-blocks-later precedent. A future minor version could add it as an optional second title holder.
2. **`representativeIdentificationType`'s middle option is modelled as a single `swazi_id` value**, not two, even though the source's raw table cell literally prints "ID                    ID" (extra whitespace between two identical "ID" tokens). This is read as a column-merge rendering artefact, not two genuine distinct options, because this same document's own bundled ACR form prints the analogous identification-type choice cleanly as three options ("Traffic register no / Swazi ID / Foreign ID") for the same purpose (identifying an individual presenting on behalf of an organisation/vehicle) — MVR1-MIB's middle option is read as the same "Swazi ID" concept.
3. **`gearBoxNumber` and `differentialNumber` are modelled as optional**, not required, since the source discloses no information on whether every vehicle type registrable on this form (e.g. some motorcycles, trailers) carries a distinct stamped number for either component.
4. **`odometerReadingKm` is not `requiredWhen noOdometer equals false`.** The source prints "No odometer" then "Odometer reading" then "Or Of ___ km", read as the applicant choosing one of the two blanks directly (tick the box, or fill in the reading) rather than a declared boolean gate this schema can safely condition on; both fields are modelled as independently optional. This also sidesteps this registry's own documented `notEquals`-against-an-optional-field pitfall by not attempting a `requiredWhen` on `noOdometer` at all.
5. **The "COMPLETE ONLY IF DIFFERENT FROM NaTIS MODEL" fields (passenger capacity, net power, overall dimensions) are modelled as unconditionally optional**, not gated behind a declared "differs from NaTIS model" boolean, since the source itself presents this as an instructional heading over a block of blanks rather than printing such a boolean field.
6. **`netPower` is modelled as a free-text string, not a number**, since the source prints no unit (kW vs. hp) alongside this blank.
7. **The two Declaration blocks (Owner, Title Holder) are each modelled as fully required**, including their identical role-checkbox/place/date fields and a `documents[]` attestation entry for the physical signature, following this registry's Sweden-TS8003 precedent of using a `documents[]` "attestation" category (with the source's own declaration prose as the `statement`) whenever the source prints a genuine attestation statement alongside the signature line, rather than a bare, unaccompanied "Signature:...." blank (cf. `sz/ebc/special-voting-application`'s own disclosed choice of the opposite convention for its own bare signature line).
8. **The stray fragment "                                                    of" appearing between the "Series name" table and the "Transmission" heading in the flattened text is treated as a rendering artefact, not a field** — no corresponding blank or label accompanies it in the table structure.
9. **`registrationRole` (Manufacturer/Importer/Builder) is modelled once, on Part C**, even though the -MIB form suffix and Part A/B section headers repeat "(Manufacturer, importer or builder)" as parenthetical context; Part C's own explicit "Registration in role as" checkbox is the only place the source asks the applicant to actually choose one of the three.
10. **The "FOR OFFICE USE ONLY" panel is excluded entirely**, per this registry's standing convention of modelling only the applicant-facing portion of a mixed applicant/agency form.

## Conformance

24 mock scenarios exercised via an ephemeral, from-scratch conformance checker (deriving required/requiredWhen rules directly from this schema's own `fields[]`, discarded after use, not committed): 2 positive scenarios (a business-number-identified importer with no odometer; a traffic-registration-number-identified builder with a foreign-ID representative, an "other" main colour, and an odometer reading), 2 negative controls (`representativeCountryOfIssue` and `mainColourOther` each omitted while their gating condition is true, confirming both `requiredWhen` gates fire), 1 unknown-field-rejected fixture, and all 19 unconditionally `required: true` fields individually mutated to absent against the first positive scenario, each confirmed to raise exactly 1 error. All 24 passed. Validated clean with `node tools/validate.mjs` and `node tools/validate-ajv.mjs`, individually (1/1) and as part of the full registry run (663/663). `registry-index.json` regenerated via `npm run build-index` in `tools/govschema-client/`.
