{
  "$schema": "https://govschema.org/spec/v0.3/govschema.schema.json",
  "govschemaVersion": "0.3.0",
  "id": "id/korlantas/international-driving-permit-registration",
  "version": "1.0.0",
  "title": "Indonesia International Driving Permit (SIM Internasional) Registration",
  "description": "Register for a new or renewed Surat Izin Mengemudi Internasional (International Driving Permit, issued under the 1968 Vienna Convention on Road Traffic, Annexe 7) through Korlantas POLRI's (Traffic Police Corps of the Indonesian National Police) own live online registration portal (siminternasional.korlantas.polri.go.id), Indonesia's first DMV-vertical document. The International Driving Permit converts an existing Indonesian national Surat Izin Mengemudi (SIM) into a document recognised for driving in the roughly 92 countries that have signed, ratified, or acceded to the 1968 Vienna Convention; it does not itself test or license a new driver, and it is a distinct, single-national-counter process from first-time national SIM issuance (SINAR/'Digital Korlantas POLRI' app) and from vehicle registration (STNK/Regident Ranmor), neither of which publishes a genuine field-level, unauthenticated citizen-facing source (see VERIFICATION.md). Covers the single online registration screen ('Registrasi SIM Internasional') that opens Korlantas POLRI's live registration form, plus the supporting-document upload requirements published in the portal's own 'Persyaratan Pendaftaran' notice; does not model the subsequent payment-confirmation, delivery/pickup-method selection, or refund-bank-account screens, which the portal's own step list confirms exist but which only render after a real registration is submitted with genuine applicant data (see VERIFICATION.md). This document does not submit the registration; the live siminternasional.korlantas.polri.go.id system and Korlantas POLRI are always authoritative.",
  "status": "draft",
  "jurisdiction": {
    "country": "ID",
    "level": "national"
  },
  "authority": {
    "name": "Traffic Police Corps of the Indonesian National Police (Korps Lalu Lintas Kepolisian Negara Republik Indonesia, Korlantas POLRI)",
    "abbreviation": "Korlantas POLRI",
    "url": "https://korlantas.polri.go.id/"
  },
  "process": {
    "type": "registration",
    "language": "id-ID"
  },
  "source": {
    "url": "https://siminternasional.korlantas.polri.go.id/",
    "retrievedAt": "2026-07-07",
    "documentRef": "SIM Internasional (International Driving Permit) online registration portal — the live, unauthenticated 'Registrasi SIM Internasional' registration form (HTML form fields read directly from the page's own markup) and its own published 'Persyaratan Pendaftaran' (registration requirements) notice and companion illustrated document at siminternasional.korlantas.polri.go.id/assets/doc/persyaratan_pendaftaran.pdf"
  },
  "verification": {
    "method": "manual-source-review-v1",
    "lastVerifiedAt": "2026-07-07",
    "verifiedBy": "GovSchema Engineering (Standards Engineer)",
    "nextReviewBy": "2027-01-07",
    "notes": "Opens the DMV vertical for Indonesia (previously only Business Formation was modelled, via id/bkpm/oss-nib-registration-individual-umk, GOV-1546). Two stronger-looking candidates were screened first and found genuinely weaker: (1) first-time national SIM issuance, whose governing regulation (Peraturan Kepolisian No. 5 Tahun 2021, retrieved directly from korlantas.polri.go.id, 34 pages, no login/CAPTCHA/WAF) carries no attached application-form lampiran, and whose only online channel ('Digital Korlantas POLRI' mobile app) requires full account creation, NIK verification, and E-KTP facial-liveness capture before any field-level screen is reachable, with no downloadable user-guide PDF found (checked digitalkorlantas.polri.go.id, korlantas.polri.go.id/panduan-sim); and (2) vehicle registration (STNK/BPKB), whose governing regulation (Peraturan Kepolisian No. 7 Tahun 2021, 107 pages) attaches only a province vehicle-plate-code lookup table as its lampiran, not an application form, and whose citizen-facing guidance page (korlantas.polri.go.id/panduan-stnk) is checklist-level prose ('Mengisi formulir permohonan...') with no field-by-field detail. The SIM Internasional portal was then found to be the strongest available source: a live, directly fetched (HTTP 200, no login) registration page whose own static HTML embeds the full 'Registrasi SIM Internasional' form markup, read directly (field names, labels, dropdown option lists, and maxlength/format constraints taken verbatim from the page's <input>/<select>/<option> tags), plus its own linked, directly downloadable requirements PDF. Status remains 'draft' pending an independent second reviewer's field-by-field pass and a live end-to-end submission test (which was not performed, to avoid creating a real registration record in a government system)."
  },
  "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": "fullName",
      "label": "NAMA LENGKAP",
      "type": "string",
      "required": true,
      "classification": "pii",
      "description": "Full name of the applicant. The source's own field-level help text states this must match the name printed on the applicant's passport. The live input also uppercases entered text via CSS (`text-transform:uppercase`) — a presentational UI behaviour, not a validation rule, and not itself modelled.",
      "sourceRef": "siminternasional.korlantas.polri.go.id — 'Registrasi SIM Internasional' modal, input id `nama_lengkap`",
      "validation": {
        "maxLength": 40
      }
    },
    {
      "name": "nationalLicenceClass",
      "label": "GOLONGAN SIM",
      "type": "enum",
      "required": true,
      "description": "The class of the applicant's existing Indonesian national driving licence (SIM) being converted into an International Driving Permit. This is the complete, confirmed option list read directly from the live form's own <select> markup, not a partial/screenshot-limited list. Note it does not include SIM classes C1, C2, D, or D1 (defined separately in Peraturan Kepolisian No. 5 Tahun 2021 Pasal 3) — this document models only what the live source itself offers as convertible classes, not the full national SIM classification; whether narrower classes are genuinely ineligible for an International Driving Permit or simply not yet added to this dropdown was not independently confirmed.",
      "sourceRef": "siminternasional.korlantas.polri.go.id — 'Registrasi SIM Internasional' modal, select id `golongan_sim_nas`",
      "validation": {
        "enum": ["A", "A Umum", "BI", "BI Umum", "BII", "BII Umum", "C"]
      }
    },
    {
      "name": "nationalLicenceNumber",
      "label": "NOMOR SIM",
      "type": "string",
      "required": true,
      "classification": "pii",
      "description": "Number of the applicant's existing national driving licence (SIM) named in nationalLicenceClass.",
      "sourceRef": "siminternasional.korlantas.polri.go.id — 'Registrasi SIM Internasional' modal, input id `no_sim_nas`",
      "validation": {
        "maxLength": 16
      }
    },
    {
      "name": "issuingCounter",
      "label": "SATPAS SIM INTERNASIONAL",
      "type": "enum",
      "required": true,
      "description": "Issuing counter for the International Driving Permit. The live dropdown's only selectable option (besides its own unselected placeholder, 'Pilih Satpas SIM Internasional') is 'KORLANTAS POLRI' — Indonesia's International Driving Permit is issued from a single national counter (Gedung SIM Internasional, Jl. MT Haryono No. 37-38, Cikoko, Pancoran, Jakarta Selatan 12770), not the many regional SATPAS offices that issue national SIMs. Unlike nationalLicenceClass and paymentMethod, whose enum values are the live `<option>`/`<input>` elements' own `value` attribute verbatim, this field's modelled value is the option's label text; the live source's own underlying `value` attribute for this option is the opaque internal code `2`, not `KORLANTAS POLRI` — disclosed here as a deliberate deviation from this registry's source-coded-value convention, since the internal code carries no meaning on its own and there is exactly one real destination facility.",
      "sourceRef": "siminternasional.korlantas.polri.go.id — 'Registrasi SIM Internasional' modal, select id `gerai_id`",
      "validation": {
        "enum": ["KORLANTAS POLRI"]
      }
    },
    {
      "name": "appointmentDate",
      "label": "TANGGAL KEDATANGAN",
      "type": "date",
      "required": true,
      "description": "In-person appointment date at the issuing counter, to present physical supporting documents and complete identity verification; the source's own input only accepts a future date (CSS class `date-future`) in DD/MM/YYYY format. This field's `<input>` sits inside a container marked `style=\"display:none\"` in the page's static markup — most likely revealed by client-side script after another field (e.g. issuingCounter) is completed, rather than genuinely absent from the flow — so this document cannot independently confirm every applicant reaches it under identical conditions, but its label, id, and format placeholder were read directly from the live source's own markup, not inferred.",
      "sourceRef": "siminternasional.korlantas.polri.go.id — 'Registrasi SIM Internasional' modal, input id `tanggal_registrasi`"
    },
    {
      "name": "paymentMethod",
      "label": "PEMBAYARAN",
      "type": "enum",
      "required": true,
      "description": "Registration/payment method. 'ONLINE' is the form's own pre-checked default radio option; 'OFFLINE' (walk-in) is the alternative. Subject to the same hidden-container caveat as appointmentDate — see its own description.",
      "sourceRef": "siminternasional.korlantas.polri.go.id — 'Registrasi SIM Internasional' modal, radio group `jenis_reg`",
      "validation": {
        "enum": ["ONLINE", "OFFLINE"]
      }
    }
  ],
  "documents": [
    {
      "id": "recentPhoto",
      "label": "Recent photo of self (foto diri terbaru): 2 shirt buttons visible, plain white background, shirt/hijab not white, no glasses, no contact/soft lenses, face towards camera, not a black-and-white photo, teeth not visible",
      "category": "supporting-evidence",
      "required": true,
      "belongsTo": "applicant",
      "constraints": {
        "maxBytes": 500000,
        "mediaTypes": ["image/jpeg"]
      },
      "sourceRef": "siminternasional.korlantas.polri.go.id — 'Persyaratan Pendaftaran', item 1 ('Foto diri terbaru') and persyaratan_pendaftaran.pdf p.1"
    },
    {
      "id": "ktp",
      "label": "KTP (Indonesian electronic ID card) — required for Indonesian-citizen (WNI) applicants; see the sibling kitap document for the foreign-national alternative",
      "category": "identity-document",
      "required": true,
      "belongsTo": "applicant",
      "sourceRef": "siminternasional.korlantas.polri.go.id — 'Persyaratan Pendaftaran', item 2 ('KTP')"
    },
    {
      "id": "kitap",
      "label": "KITAP (Kartu Izin Tinggal Tetap, permanent stay permit card), in place of a KTP — foreign nationals (WNA) only. The source's own requirements list marks this item with the same required asterisk as the others, restricted to WNA applicants; the live form exposes no applicant-facing nationality-selection field to gate this structurally, so this document models it as conditionally required by its own label text only, rather than fabricating a gating field the source itself does not expose",
      "category": "identity-document",
      "required": false,
      "belongsTo": "applicant",
      "sourceRef": "siminternasional.korlantas.polri.go.id — 'Persyaratan Pendaftaran', item 3 ('KITAP (khusus WNA)')"
    },
    {
      "id": "passport",
      "label": "Valid passport",
      "category": "identity-document",
      "required": true,
      "belongsTo": "applicant",
      "sourceRef": "siminternasional.korlantas.polri.go.id — 'Persyaratan Pendaftaran', item 4 ('Paspor yang masih berlaku')"
    },
    {
      "id": "nationalDrivingLicence",
      "label": "Valid national driving licence (SIM), matching the class selected in nationalLicenceClass",
      "category": "identity-document",
      "required": true,
      "belongsTo": "applicant",
      "sourceRef": "siminternasional.korlantas.polri.go.id — 'Persyaratan Pendaftaran', item 5 ('SIM yang masih berlaku (sesuai dengan golongan sim internasional yang akan diajukan)')"
    },
    {
      "id": "signature",
      "label": "Signature on plain white paper, written in black ink",
      "category": "supporting-evidence",
      "required": true,
      "belongsTo": "applicant",
      "sourceRef": "siminternasional.korlantas.polri.go.id — 'Persyaratan Pendaftaran', item 6 ('Tanda Tangan dikertas putih ditulis menggunakan tinta hitam')"
    },
    {
      "id": "existingInternationalLicence",
      "label": "Existing valid International Driving Permit — required only when renewing ('khusus perpanjangan'). As with kitap, the live form exposes no separate new-vs-renewal selector field to gate this structurally; whether this document is supplied is itself the applicant's only signal of a renewal versus a first-time registration",
      "category": "identity-document",
      "required": false,
      "belongsTo": "applicant",
      "sourceRef": "siminternasional.korlantas.polri.go.id — 'Persyaratan Pendaftaran', item 7 ('SIM Internasional yang masih berlaku (khusus perpanjangan)')"
    },
    {
      "id": "registrationFee",
      "label": "Non-tax state revenue (PNBP) registration fee: Rp250,000 for a new International Driving Permit, Rp225,000 for a renewal, per Government Regulation (PP) No. 76 of 2020 on Types and Tariffs of Non-Tax State Revenue Applicable to Polri, plus a variable courier/delivery fee. Payment is made via a bank virtual account (Virtual Account) issued by email/website after registration is submitted; this entry models only the fee amounts and legal basis as stated directly on the source page — the referenced PP No. 76/2020 tariff schedule itself was not independently re-fetched and cross-checked against these two figures",
      "category": "payment",
      "required": true,
      "methods": ["bank-transfer"],
      "sourceRef": "siminternasional.korlantas.polri.go.id — 'Biaya PNBP' and 'Biaya Jasa Pengiriman'"
    }
  ]
}
