{
  "$schema": "https://govschema.org/spec/v0.3/govschema.schema.json",
  "govschemaVersion": "0.3.0",
  "id": "co/runt/formulario-solicitud-tramites-vehiculo",
  "version": "1.0.0",
  "title": "Colombia National Automotive Registry Vehicle Procedure Request Form (RNA)",
  "description": "Colombia's 'Formulario de Solicitud de Trámites del Registro Nacional Automotor' (Application form for procedures of the National Automotive Registry, RNA), the standard nationwide paper/PDF form through which the owner (or, for a transfer, the buyer) of a motor vehicle requests any one of eighteen vehicle-registry procedures — first registration (matrícula/registro), ownership transfer (traspaso), registration transfer between transit authorities, color change, service-type change, engine/chassis re-stamping, body modification, duplicate circulation licence, lien registration/release, registration cancellation, plate change/duplicate, re-registration, and bodywork change, among others — from any of Colombia's decentralised local transit authorities (organismos de tránsito), which jointly feed the single Registro Único Nacional de Tránsito (RUNT) the Ministerio de Transporte operates. Published directly by RUNT (runt.gov.co) as a fixed, two-page form with no login/CAPTCHA/WAF gate and mirrored identically, byte-for-byte, on numerous municipal transit-authority (.gov.co) sites, confirming it is the single, current, nationally-standard form rather than a superseded or locally-modified variant. This is a static intake form completed at (or submitted to) a transit authority counter, not a live online wizard — every field, checkbox option, and instruction modelled here is read directly from the form's own printed layout and its own numbered 'INSTRUCCIONES' key on the form's reverse side, not inferred from a screenshot or paraphrase. Scoped to the form's own applicant-facing content: the 'Organismo de Tránsito' identification box (casilla 1) and the customs/aduana 'Código' box inside the import/auction section are explicitly marked on the form itself as filled in by the transit authority, not the applicant, and are out of scope; the owner's and buyer's signature blocks are a physical-signature mechanic, not a data field; and the two 'IMPRONTAS' (engine/chassis rubbing-impression) boxes are a physical stamp-impression area for office use, not applicant data entry — see VERIFICATION.md for these and several other disclosed judgment calls, including this form's ambiguous merged-cell layout for the import/auction documentation block and the owner-document 'Fecha' field. GovSchema is independent and is not affiliated with, endorsed by, or operated by the Government of Colombia, the Ministerio de Transporte, or RUNT.",
  "status": "draft",
  "jurisdiction": {
    "country": "CO",
    "level": "national"
  },
  "authority": {
    "name": "Registro Único Nacional de Tránsito",
    "abbreviation": "RUNT",
    "url": "https://www.runt.gov.co"
  },
  "process": {
    "type": "registration",
    "language": "es-CO"
  },
  "source": {
    "url": "https://www.runt.gov.co/sites/default/files/documentos/ftrunt_0.xls",
    "retrievedAt": "2026-07-07",
    "documentRef": "\"Formulario de Solicitud de Trámites del Registro Nacional Automotor\" (FT-RUNT), Ministerio de Transporte / Registro Único Nacional de Tránsito (RUNT), 2-page form, .xls, Last-Modified 2023-04-25"
  },
  "verification": {
    "method": "manual-source-review-v1",
    "lastVerifiedAt": "2026-07-07",
    "verifiedBy": "GovSchema Engineering (Standards Engineer)",
    "nextReviewBy": "2027-01-07",
    "notes": "Source-derived reference schema opening Colombia as the registry's 19th jurisdiction (GOV-1567). Fetched directly from runt.gov.co (HTTP 200, Content-Type application/vnd.ms-excel, no login/CAPTCHA/WAF), re-fetched a second time to confirm byte-for-byte stability, and cross-checked against identical mirrors hosted on multiple municipal transit-authority (.gov.co) domains. Parsed with the 'xlsx' npm package (SheetJS) into CSV, then read cell-by-cell against the form's own two-page visual layout and its own 23-item numbered 'INSTRUCCIONES' key on the form's reverse side, which was used to resolve every field's meaning, scope, and (where the source is explicit) required/optional status. 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-07"
  },
  "license": "CC-BY-4.0",
  "fields": [
    {
      "name": "tramiteType",
      "label": "Trámite solicitado",
      "type": "enum",
      "required": true,
      "description": "Which one of the eighteen RNA procedures is being requested. This single form is shared by every procedure; downstream required/visible fields in this document are gated on this selection where the form's own instructions state a dependency.",
      "sourceRef": "Casilla 3 — 'TRAMITE SOLICITADO' (18 numbered checkboxes)",
      "validation": {
        "enum": [
          "matricula_registro",
          "traspaso",
          "traslado_matricula_registro",
          "radicado_matricula_registro",
          "cambio_de_color",
          "cambio_de_servicio",
          "regrabar_motor",
          "regrabar_chasis",
          "transformacion",
          "duplicado_licencia_transito",
          "inscripcion_prenda",
          "levantamiento_prenda",
          "cancelacion_matricula_registro",
          "cambio_de_placas",
          "duplicado_de_placas",
          "rematricula",
          "cambio_de_carroceria",
          "otros"
        ]
      }
    },
    {
      "name": "plateLetters",
      "label": "Placa — Letras",
      "type": "string",
      "required": false,
      "description": "The vehicle's current licence-plate letters, if it already has plates (not applicable to a brand-new matrícula/registro, where plates do not yet exist).",
      "sourceRef": "Casilla 2 — 'PLACA' / 'LETRAS'",
      "validation": { "pattern": "^[A-Z]{3}$" }
    },
    {
      "name": "plateNumbers",
      "label": "Placa — Números",
      "type": "string",
      "required": false,
      "description": "The vehicle's current licence-plate numbers, if it already has plates.",
      "sourceRef": "Casilla 2 — 'PLACA' / 'NUMEROS'",
      "validation": { "pattern": "^[0-9]{2,3}$" }
    },
    {
      "name": "vehicleClass",
      "label": "Clase de vehículo",
      "type": "enum",
      "required": true,
      "description": "The vehicle's class/body category.",
      "sourceRef": "Casilla 4 — 'CLASE DE VEHICULO' (14 checkboxes)",
      "validation": {
        "enum": [
          "automovil",
          "bus",
          "buseta",
          "camion",
          "camioneta",
          "campero",
          "microbus",
          "tractocamion",
          "motocicleta",
          "motocarro",
          "mototriciclo",
          "cuatrimoto",
          "volqueta",
          "otro"
        ]
      }
    },
    {
      "name": "vehicleBrand",
      "label": "Marca",
      "type": "string",
      "required": true,
      "description": "The vehicle's make/brand.",
      "sourceRef": "Casilla 5 — 'MARCA'; Instrucciones §5 — 'EJEMPLO: CHEVROLET, NISSAN, RENAULT'"
    },
    {
      "name": "vehicleLine",
      "label": "Línea",
      "type": "string",
      "required": true,
      "description": "The vehicle's model line.",
      "sourceRef": "Casilla 6 — 'LINEA'; Instrucciones §6 — 'EJEMPLO: AVEO, SENTRA, LOGAN'"
    },
    {
      "name": "fuelType",
      "label": "Combustible",
      "type": "enum",
      "required": true,
      "description": "The vehicle's fuel type.",
      "sourceRef": "Casilla 7 — 'COMBUSTIBLE' (8 numbered checkboxes)",
      "validation": {
        "enum": ["gasolina", "diesel", "gas", "mixto", "electrico", "hidrogeno", "etanol", "biodiesel"]
      }
    },
    {
      "name": "vehicleColors",
      "label": "Colores",
      "type": "string",
      "required": true,
      "description": "The vehicle's predominant colour(s), up to three, as a comma-separated list. Modelled as a delimited string rather than a repeating/array value since GovSchema v0.3 has no native multi-select field type (GSP-0009 is not yet folded into the accepted spec) — the same convention used by fr/ants/driving-licence-renewal-duplicate's categoriesHeld/categoriesRequested.",
      "sourceRef": "Casilla 8 — 'COLORES'; Instrucciones §9 — 'ESPECIFIQUE EL (LOS) COLOR (ES) PREDOMINANTE(S), MAXIMO TRES'",
      "validation": { "pattern": "^[A-Za-zÀ-ÿ ]+(\\s*,\\s*[A-Za-zÀ-ÿ ]+){0,2}$" }
    },
    {
      "name": "modelYear",
      "label": "Modelo",
      "type": "integer",
      "required": true,
      "description": "The vehicle's model year.",
      "sourceRef": "Casilla 9 — 'MODELO'; Instrucciones §10 — 'ESPECIFIQUE EL AÑO MODELO DEL VEHICULO'",
      "validation": { "minimum": 1900, "maximum": 2100 }
    },
    {
      "name": "displacement",
      "label": "Cilindrada",
      "type": "string",
      "required": false,
      "description": "The vehicle's engine displacement (cilindrada). Modelled as an open string rather than a numeric type since the form does not specify a unit (cc vs. litres) on its own printed box.",
      "sourceRef": "Casilla 10 — 'CILINDRADA'; Instrucciones §11 — 'ESPECIFIQUE LA CILINDRADA DEL VEHICULO'"
    },
    {
      "name": "capacity",
      "label": "Capacidad Kg/Psj",
      "type": "string",
      "required": false,
      "description": "The vehicle's rated capacity, in kilograms (for a cargo vehicle) or number of passengers (for a transport vehicle) per the box's own dual label.",
      "sourceRef": "Casilla 11 — 'CAPACIDAD Kg/Psj'; Instrucciones §12 — 'SI ES DE CARGA EN KILOGRAMOS, SI ES DE TRANSPORTE EN PASAJEROS'"
    },
    {
      "name": "isArmored",
      "label": "Blindaje",
      "type": "boolean",
      "required": false,
      "description": "Whether the vehicle is armoured (blindado).",
      "sourceRef": "Casilla 12 — 'BLINDAJE SI / NO'"
    },
    {
      "name": "armorResolutionNumber",
      "label": "Resolución No (blindaje)",
      "type": "string",
      "required": false,
      "description": "The Superintendencia de Vigilancia y Seguridad Privada resolution number authorising the vehicle's armouring, required when the vehicle is declared armoured.",
      "sourceRef": "Casilla 12 — 'Resolución No (DD/MM/AÑO)'; Instrucciones §13 — 'EN CASO AFIRMATIVO ESPECIFIQUE LA RESOLUCIÓN EXPEDIDA POR LA SUPERINTENDENCIA DE VIGILANCIA Y SEGURIDAD PRIVADA'",
      "requiredWhen": { "field": "isArmored", "equals": true }
    },
    {
      "name": "isArmorRemoved",
      "label": "Desmonte de blindaje",
      "type": "boolean",
      "required": false,
      "description": "Whether the vehicle's existing armouring is being removed (desmonte de blindaje).",
      "sourceRef": "Casilla 13 — 'DESMONTE BLIND. SI / NO'"
    },
    {
      "name": "armorRemovalResolutionNumber",
      "label": "Resolución No (desmonte de blindaje)",
      "type": "string",
      "required": false,
      "description": "The Superintendencia de Vigilancia y Seguridad Privada resolution number authorising the armour removal, required when armour removal is declared.",
      "sourceRef": "Casilla 13 — 'Resolución No (DD/MM/AÑO)'; Instrucciones §14 — 'EN CASO AFIRMATIVO ESPECIFIQUE LA RESOLUCIÒN EXPEDIDA POR LA SUPERINTENDENCIA DE VIGILANCIA Y SEGURIDAD PRIVADA'",
      "requiredWhen": { "field": "isArmorRemoved", "equals": true }
    },
    {
      "name": "enginePowerHp",
      "label": "Potencia/HP",
      "type": "number",
      "required": false,
      "description": "The vehicle's engine power in horsepower (HP).",
      "sourceRef": "Casilla 14 — 'POTENCIA/HP'; Instrucciones §15 — 'ESPECIFIQUE POTENCIA EN CABALLOS DE FUERZAS (HP)'",
      "validation": { "minimum": 0 }
    },
    {
      "name": "bodyworkCode",
      "label": "Carrocería — Código",
      "type": "string",
      "required": false,
      "description": "RUNT's own bodywork (carrocería) classification code for the vehicle. Modelled as an open string rather than a closed enum because the form's own bodywork code table is external to it and is not reproduced anywhere on the form itself.",
      "sourceRef": "Casilla 15 — 'CARROCERIA' / 'CODIGO'; Instrucciones §16 — 'SELECCIONE EL CODIGO Y EL TIPO DE CARROCERIA QUE CORRESPONDE A SU VEHICULO'"
    },
    {
      "name": "bodyworkType",
      "label": "Carrocería — Tipo",
      "type": "string",
      "required": false,
      "description": "The bodywork type text corresponding to bodyworkCode.",
      "sourceRef": "Casilla 15 — 'CARROCERIA' / 'TIPO'; Instrucciones §16 — 'SELECCIONE EL CODIGO Y EL TIPO DE CARROCERIA QUE CORRESPONDE A SU VEHICULO'"
    },
    {
      "name": "engineNumber",
      "label": "No. de Motor",
      "type": "string",
      "required": false,
      "description": "The vehicle's engine (motor) number.",
      "sourceRef": "Casilla 16 — 'IDENTIFICACION INTERNA DEL VEHICULO' / 'No. DE MOTOR'"
    },
    {
      "name": "engineNumberReengraved",
      "label": "No. de Motor — Regrabado",
      "type": "boolean",
      "required": false,
      "description": "Whether the engine number has been re-stamped (regrabado) by an authorised workshop, e.g. following the 'regrabar_motor' procedure.",
      "sourceRef": "Casilla 16 — 'No. DE MOTOR' / 'REGRABADO SI / NO'; Instrucciones §17 — 'SI UNO DE ESTOS HA SIDO REGRABADO, SEÑALE CON UNA EQUIS (X) LA CASILLA RESPECTIVA'"
    },
    {
      "name": "chassisNumber",
      "label": "No. de Chasis",
      "type": "string",
      "required": false,
      "description": "The vehicle's chassis number.",
      "sourceRef": "Casilla 16 — 'No. DE CHASIS'"
    },
    {
      "name": "chassisNumberReengraved",
      "label": "No. de Chasis — Regrabado",
      "type": "boolean",
      "required": false,
      "description": "Whether the chassis number has been re-stamped (regrabado).",
      "sourceRef": "Casilla 16 — 'No. DE CHASIS' / 'REGRABADO SI / NO'; Instrucciones §17"
    },
    {
      "name": "serialNumber",
      "label": "No. de Serie",
      "type": "string",
      "required": false,
      "description": "The vehicle's serial number.",
      "sourceRef": "Casilla 16 — 'No. DE SERIE'"
    },
    {
      "name": "serialNumberReengraved",
      "label": "No. de Serie — Regrabado",
      "type": "boolean",
      "required": false,
      "description": "Whether the serial number has been re-stamped (regrabado).",
      "sourceRef": "Casilla 16 — 'No. DE SERIE' / 'REGRABADO SI / NO'; Instrucciones §17"
    },
    {
      "name": "vin",
      "label": "No. de VIN Vehículos Automotores",
      "type": "string",
      "required": false,
      "description": "The vehicle's VIN (vehicle identification number), for automotive vehicles. The form's own box carries no separate 'regrabado' checkbox for this field (unlike motor/chasis/serie), so none is modelled.",
      "sourceRef": "Casilla 16 — 'No. DE VIN VEHICULOS AUTOMOTORES'",
      "validation": { "pattern": "^[A-HJ-NPR-Z0-9]{17}$" }
    },
    {
      "name": "importOrAuctionType",
      "label": "Importación o Remate",
      "type": "enum",
      "required": false,
      "description": "Whether the vehicle's registration is supported by an import (importación) or a judicial/administrative auction (remate) document, per casilla 17. Left blank for a vehicle that is neither imported nor from an auction.",
      "sourceRef": "Casilla 17 — 'IMPORTACIÓN O REMATE' / 'IMPORTACION,, REMATE'",
      "validation": { "enum": ["importacion", "remate"] }
    },
    {
      "name": "importOrAuctionDocumentType",
      "label": "Documento (Importación/Remate)",
      "type": "enum",
      "required": false,
      "description": "Which supporting document is being presented for casilla 17's import-or-auction declaration: for an import, either the cargo manifest/act (manifiesto o acta) or the customs import declaration (declaración de importación); for an auction (remate), the auction act (acta). The source form's own sub-table numbers these three document-type checkboxes sequentially (1, 2, 3) as a single selection group spanning the 'IMPORTACION' and 'REMATE' column headers — confirmed during independent review against the original spreadsheet's own merged-cell layout and an identical official PDF mirror, which corrected this document's earlier reading of a two-value, import-only choice with no remate-side document field. See VERIFICATION.md.",
      "sourceRef": "Casilla 17 — 'MANIF. O ACTA' (1) / 'DEC. DE IMPOR.' (2) / 'ACTA' (3); Instrucciones §18 — 'SI EL VEHICULO ES IMPORTADO INDIQUE CON UNA EQUIS (X) EL DOCUMENTO RESPECTIVO, SI ES DE REMATE INDIQUE LA ENTIDAD'",
      "requiredWhen": { "any": [
        { "field": "importOrAuctionType", "equals": "importacion" },
        { "field": "importOrAuctionType", "equals": "remate" }
      ] },
      "validation": { "enum": ["manifiesto_o_acta", "declaracion_importacion", "acta_remate"] }
    },
    {
      "name": "auctionEntity",
      "label": "Entidad (remate)",
      "type": "string",
      "required": false,
      "description": "The entity that conducted the auction (remate), required when the vehicle's registration is supported by an auction rather than an import.",
      "sourceRef": "Casilla 17 — 'ENTIDAD'; Instrucciones §18 — 'SI ES DE REMATE INDIQUE LA ENTIDAD'",
      "requiredWhen": { "field": "importOrAuctionType", "equals": "remate" }
    },
    {
      "name": "importOrAuctionCity",
      "label": "Lugar (Ciudad) del documento",
      "type": "string",
      "required": false,
      "description": "The city where the import or auction document was issued. Per the form's own instruction this applies 'en ambos casos' (in both cases — import or auction); the customs 'Código' box that follows it on the form is explicitly office-only (filled in by the transit office, per its own note) and is out of scope.",
      "sourceRef": "Casilla 17 — 'LUGAR (CIUDAD)'; Instrucciones §18 — 'EN AMBOS CASOS LA CIUDAD DONDE SE HIZO EL DOCUMENTO'",
      "requiredWhen": { "any": [
        { "field": "importOrAuctionType", "equals": "importacion" },
        { "field": "importOrAuctionType", "equals": "remate" }
      ] }
    },
    {
      "name": "serviceType",
      "label": "Tipo de servicio",
      "type": "enum",
      "required": true,
      "description": "The vehicle's registered service type.",
      "sourceRef": "Casilla 18 — 'TIPO DE SERVICIO' (6 checkboxes); Instrucciones §19",
      "validation": { "enum": ["particular", "publico", "diplomatico", "oficial", "especial", "otros"] }
    },
    {
      "name": "affiliatedCompanyName",
      "label": "Empresa vinculadora — Nombre",
      "type": "string",
      "required": false,
      "description": "Name of the transport company the vehicle is affiliated with (empresa vinculadora), when applicable. The form does not state this is conditional on any specific serviceType value, so no requiredWhen gate is modelled — see VERIFICATION.md.",
      "sourceRef": "Casilla 19 — 'EMPRESA VINCULADORA' / 'NOMBRE'; Instrucciones §20 — 'ESPECIFIQUE EL NOMBRE DE LA EMPRESA VINCULADORA Y SU CORRESPONDIENTE NIT'"
    },
    {
      "name": "affiliatedCompanyNit",
      "label": "Empresa vinculadora — NIT",
      "type": "string",
      "required": false,
      "description": "Tax ID (NIT) of the affiliated transport company.",
      "sourceRef": "Casilla 19 — 'EMPRESA VINCULADORA' / 'NIT'; Instrucciones §20"
    },
    {
      "name": "alertType",
      "label": "Datos de alerta",
      "type": "enum",
      "required": false,
      "description": "An ownership-restricting alert to record against the vehicle, if any: theft (hurto), an ownership limitation (limitación de propiedad), a court-ordered attachment (embargo), or another kind (otro, recorded 'a favor de' a named beneficiary).",
      "sourceRef": "Casilla 20 — 'DATOS DE ALERTA' (5 checkboxes); Instrucciones §21",
      "validation": { "enum": ["hurto", "limitacion_propiedad", "embargo", "otro", "a_favor_de"] }
    },
    {
      "name": "alertBeneficiaryName",
      "label": "A favor de — Nombre",
      "type": "string",
      "required": false,
      "description": "Name of the person or entity the alert is recorded in favour of, required when alertType is 'a_favor_de'.",
      "sourceRef": "Casilla 20 — 'A FAVOR DE:' / 'NOMBRE'",
      "requiredWhen": { "field": "alertType", "equals": "a_favor_de" }
    },
    {
      "name": "alertBeneficiaryNit",
      "label": "A favor de — NIT",
      "type": "string",
      "required": false,
      "description": "Tax ID (NIT) of the alert beneficiary.",
      "sourceRef": "Casilla 20 — 'A FAVOR DE:' / 'NIT'",
      "requiredWhen": { "field": "alertType", "equals": "a_favor_de" }
    },
    {
      "name": "ownerDocumentType",
      "label": "Datos del propietario — Tipo de documento",
      "type": "enum",
      "required": true,
      "description": "Type of identity document held by the vehicle's current owner (the applicant).",
      "sourceRef": "Casilla 21 — 'C.C / NIT / N.N / PASAPORTE / C.EXTRANJ. / T.IDENTI. / NUIP / C. DIPLOMATICO' (codes C/N/X/P/E/T/U/D)",
      "validation": {
        "enum": ["cedula_ciudadania", "nit", "no_identificado", "pasaporte", "cedula_extranjeria", "tarjeta_identidad", "nuip", "cedula_diplomatica"]
      }
    },
    {
      "name": "ownerDocumentNumber",
      "label": "Datos del propietario — No. Documento",
      "type": "string",
      "required": true,
      "description": "The owner's identity document number.",
      "sourceRef": "Casilla 21 — 'No. DOCUMENTO'"
    },
    {
      "name": "ownerDocumentIssueDate",
      "label": "Datos del propietario — Fecha",
      "type": "date",
      "required": false,
      "description": "A date field printed immediately beside the owner's document-number box (día/mes/año). The form's own cells here are merged/ambiguous in extraction and this field's exact meaning (e.g. the document's issue date, versus a duplicate rendering of the header's own 'Fecha de trámite') is not fully confirmed — modelled as optional and flagged for an independent reviewer. See VERIFICATION.md.",
      "sourceRef": "Casilla 21 — 'FECHA' / 'DIA, MES, AÑO' (row immediately below 'No. DOCUMENTO')"
    },
    {
      "name": "ownerFirstSurname",
      "label": "Datos del propietario — Primer Apellido",
      "type": "string",
      "required": true,
      "description": "The owner's first surname.",
      "sourceRef": "Casilla 21 — 'PRIMER APELLIDO'"
    },
    {
      "name": "ownerSecondSurname",
      "label": "Datos del propietario — Segundo Apellido",
      "type": "string",
      "required": false,
      "description": "The owner's second surname, when applicable.",
      "sourceRef": "Casilla 21 — 'SEGUNDO APELLIDO'"
    },
    {
      "name": "ownerGivenNames",
      "label": "Datos del propietario — Nombres",
      "type": "string",
      "required": true,
      "description": "The owner's given name(s), or the full legal/company name when ownerDocumentType is 'nit'.",
      "sourceRef": "Casilla 21 — 'NOMBRES'"
    },
    {
      "name": "ownerAddress",
      "label": "Datos del propietario — Dirección",
      "type": "string",
      "required": false,
      "description": "The owner's address.",
      "sourceRef": "Casilla 21 — 'DIRECCION'"
    },
    {
      "name": "ownerCity",
      "label": "Datos del propietario — Ciudad",
      "type": "string",
      "required": false,
      "description": "The owner's city.",
      "sourceRef": "Casilla 21 — 'CIUDAD'"
    },
    {
      "name": "ownerPhone",
      "label": "Datos del propietario — Teléfono",
      "type": "string",
      "required": false,
      "description": "The owner's telephone number.",
      "sourceRef": "Casilla 21 — 'TELEFONO'"
    },
    {
      "name": "buyerDocumentType",
      "label": "Datos del comprador (traspaso) — Tipo de documento",
      "type": "enum",
      "required": false,
      "description": "Type of identity document held by the buyer, required when this request is an ownership transfer (traspaso). Per the form's own instructions, when the transfer is to an undetermined person ('persona indeterminada') this whole buyer section is completed with that designation instead of a specific person's data — this document does not model 'persona indeterminada' as a distinct value of this field, since the form's own instruction treats it as free text in the name fields, not a document-type option.",
      "sourceRef": "Casilla 22 — 'DATOS DEL COMPRADOR (TRASPASO)' (same document-type codes as casilla 21); Instrucciones §22 — 'EN CASO DE TRASPASO A PERSONA INDETERMINADA, EN EL CAMPO CORRESPONDIENTE A COMPRADOR SE REGISTRA PERSONA INDETERMINADA'",
      "requiredWhen": { "field": "tramiteType", "equals": "traspaso" },
      "validation": {
        "enum": ["cedula_ciudadania", "nit", "no_identificado", "pasaporte", "cedula_extranjeria", "tarjeta_identidad", "nuip", "cedula_diplomatica"]
      }
    },
    {
      "name": "buyerDocumentNumber",
      "label": "Datos del comprador (traspaso) — No. Documento",
      "type": "string",
      "required": false,
      "description": "The buyer's identity document number, required for a traspaso.",
      "sourceRef": "Casilla 22 — 'No. DOCUMENTO'",
      "requiredWhen": { "field": "tramiteType", "equals": "traspaso" }
    },
    {
      "name": "buyerFirstSurname",
      "label": "Datos del comprador (traspaso) — Primer Apellido",
      "type": "string",
      "required": false,
      "description": "The buyer's first surname, required for a traspaso.",
      "sourceRef": "Casilla 22 — 'PRIMER APELLIDO'",
      "requiredWhen": { "field": "tramiteType", "equals": "traspaso" }
    },
    {
      "name": "buyerSecondSurname",
      "label": "Datos del comprador (traspaso) — Segundo Apellido",
      "type": "string",
      "required": false,
      "description": "The buyer's second surname, when applicable.",
      "sourceRef": "Casilla 22 — 'SEGUNDO APELLIDO'"
    },
    {
      "name": "buyerGivenNames",
      "label": "Datos del comprador (traspaso) — Nombres",
      "type": "string",
      "required": false,
      "description": "The buyer's given name(s), or full legal/company name, required for a traspaso.",
      "sourceRef": "Casilla 22 — 'NOMBRES'",
      "requiredWhen": { "field": "tramiteType", "equals": "traspaso" }
    },
    {
      "name": "buyerAddress",
      "label": "Datos del comprador (traspaso) — Dirección",
      "type": "string",
      "required": false,
      "description": "The buyer's address.",
      "sourceRef": "Casilla 22 — 'DIRECCION'"
    },
    {
      "name": "buyerCity",
      "label": "Datos del comprador (traspaso) — Ciudad",
      "type": "string",
      "required": false,
      "description": "The buyer's city.",
      "sourceRef": "Casilla 22 — 'CIUDAD'"
    },
    {
      "name": "buyerPhone",
      "label": "Datos del comprador (traspaso) — Teléfono",
      "type": "string",
      "required": false,
      "description": "The buyer's telephone number.",
      "sourceRef": "Casilla 22 — 'TELEFONO'"
    },
    {
      "name": "preRuntTransferNotes",
      "label": "Observaciones (traspaso de vehículos automotores antes de RUNT)",
      "type": "string",
      "required": false,
      "description": "For a vehicle first registered before RUNT existed: free-text transcription of the bodywork type and vehicle class shown on its physical circulation licence (tarjeta/licencia de tránsito), or any other clarifying detail, per the form's own instruction.",
      "sourceRef": "Casilla 22 — 'OBSERVACIONES (PARA TRASPASO DE VEHICULOS AUTOMOTORES ANTES DE RUNT)' — 'SI SU VEHICULO AUTOMOTOR HA SIDO MATRICULADO ANTES DEL RUNT TRANSCRIBA EN ESTE CAMPO EL TIPO DE CARROCERIA Y LA CLASE DE VEHICULO...'"
    },
    {
      "name": "generalNotes",
      "label": "Observaciones",
      "type": "string",
      "required": false,
      "description": "General free-text remarks, including — per the form's own instruction — a written description of the modification made when tramiteType is 'transformacion' and the 'otro' option was checked elsewhere on the form.",
      "sourceRef": "Casilla 23 — 'OBSERVACIONES'; Instrucciones §23 — 'ESCRIBA O ACLARE LA PALABRA OTRO Y DESCRIBA LA TRANSFORMACIÓN EFECTUADA AL VEHICULO'"
    }
  ],
  "steps": [
    {
      "id": "tramite_y_vehiculo",
      "title": "Trámite solicitado y datos del vehículo",
      "fields": [
        "tramiteType", "plateLetters", "plateNumbers", "vehicleClass", "vehicleBrand", "vehicleLine",
        "fuelType", "vehicleColors", "modelYear", "displacement", "capacity",
        "isArmored", "armorResolutionNumber", "isArmorRemoved", "armorRemovalResolutionNumber",
        "enginePowerHp", "bodyworkCode", "bodyworkType"
      ],
      "next": "identificacion_interna"
    },
    {
      "id": "identificacion_interna",
      "title": "Identificación interna del vehículo e importación/remate",
      "fields": [
        "engineNumber", "engineNumberReengraved", "chassisNumber", "chassisNumberReengraved",
        "serialNumber", "serialNumberReengraved", "vin",
        "importOrAuctionType", "importOrAuctionDocumentType", "auctionEntity", "importOrAuctionCity"
      ],
      "next": "servicio_y_alertas"
    },
    {
      "id": "servicio_y_alertas",
      "title": "Tipo de servicio, empresa vinculadora y datos de alerta",
      "fields": [
        "serviceType", "affiliatedCompanyName", "affiliatedCompanyNit",
        "alertType", "alertBeneficiaryName", "alertBeneficiaryNit"
      ],
      "next": "datos_propietario"
    },
    {
      "id": "datos_propietario",
      "title": "Datos del propietario",
      "fields": [
        "ownerDocumentType", "ownerDocumentNumber", "ownerDocumentIssueDate",
        "ownerFirstSurname", "ownerSecondSurname", "ownerGivenNames",
        "ownerAddress", "ownerCity", "ownerPhone"
      ],
      "next": "datos_comprador"
    },
    {
      "id": "datos_comprador",
      "title": "Datos del comprador (traspaso) y observaciones",
      "fields": [
        "buyerDocumentType", "buyerDocumentNumber", "buyerFirstSurname", "buyerSecondSurname",
        "buyerGivenNames", "buyerAddress", "buyerCity", "buyerPhone",
        "preRuntTransferNotes", "generalNotes"
      ]
    }
  ]
}
