Registry entry
Bangladesh Machine Readable Visa (MRV) Application Form (D.I.P. Form-4)
The Department of Immigration and Passports' (DIP) "Machine Readable Visa Application Form" (D.I.P. Form-4, "free of cost"), distributed via Bangladesh's Online MRV Portal (visa.gov.bd) for foreign nationals applying for a Bangladeshi visa. Opens Bangladesh's Visa vertical (4 of 6, alongside the already-published DMV (`bd/brta/motor-vehicle-registration-application`), Taxes (`bd/nbr/individual-income-tax-return-form-it-11ga`), and Passport (`bd/dip/e-passport-application-form`) verticals). A genuine, unauthenticated, 4-page, plain print-and-fill PDF (no AcroForm widgets, confirmed via pdfjs-dist: 0 annotations across all 4 pages) with a clean, complete extractable text layer. This single physical form is reused across five distinct application pathways selected by the applicant: New Visa, Extension of Visa, No Visa Required (NVR) declaration, Transit/On Arrival Visa, and a Police Verification/Official Use back-office block. This v1.0.0 scopes to the New Visa pathway only — the pathway a first-time foreign applicant uses to request a new Bangladeshi visa — comprising Personal Details (page 1, items 1-10), Travel Document Details (page 1, items 11-20), Payment Details (page 1, items 21-24), and the New Visa section (page 2, items 25-28). The Extension of Visa (items 29-38), No Visa Required (items 39-50), and Transit/On Arrival Visa (items 51-56) sections are alternate uses of this same physical form for different applicant categories/processes and are out of scope for this v1.0.0, disclosed in VERIFICATION.md as candidates for a future revision. The source prints no required-field asterisks or other required-field markup anywhere on the form (unlike this jurisdiction's own `bd/dip/e-passport-application-form`); this schema marks as `required` only the fields that are unconditionally essential to any visa application (identity, passport particulars, purpose/duration/arrival-date/entries of the requested visa) and leaves every other field optional, a disclosed judgment call consistent with this registry's own established `bd/brta/motor-vehicle-registration-application` and `th/dlt/vehicle-registration-application` precedent for source forms with no printed requiredness markup. None of this form's checkbox groups (Sex, Marital Status, Purpose of Visit, Intended Number of Entries) render as fillable AcroForm widgets — each is a printed option list next to unchecked boxes — but every one names an exact, exhaustive, mutually-exclusive option set in print, so each is modeled as `enum`, consistent with this registry's own `bd/dip/e-passport-application-form` `gender` precedent (a printed option list is sufficient corroboration even without a checkbox widget). Page 3's supporting-document checklist (19 checkbox items) is a single generic list shared by all five pathways; this v1.0.0 models only the items applicable to a general New Visa applicant (passport/photo/payment-slip, plus purpose-conditional recommendation letter, work permit, and sponsoring-company trade licence) as `documents[]` entries, and discloses the remaining category-specific items (marriage/birth certificate, a parent's/spouse's visa or passport copy, an affidavit, a Sri Lankan-national-specific No Objection Certificate, company income-tax/TIN documents, a bilateral-agreement reference, security clearance, and an overstay payment slip) as out of scope in VERIFICATION.md. Page 3's Police Verification and "For Official Use" blocks are DIP/consular-staff-completed, not applicant-supplied, and are excluded entirely. Page 4 (general instructions: photo specification, fee non-refundability, submission process) is informational only and not modeled. GovSchema is independent and is not affiliated with, endorsed by, or operated by the Government of Bangladesh or the Department of Immigration and Passports.
Registry entry
bd/dip/machine-readable-visa-application-form
Machine access
- Schema document
registry/bd/dip/machine-readable-visa-application-form/1.0.0/schema.jsonapplication/schema+json- Verification record
registry/bd/dip/machine-readable-visa-application-form/1.0.0/VERIFICATION.mdtext/markdown- Registry catalog
registry/index.jsonone record per schema id
Field reference
36 fields, read from the published schema.json, with names, types, requiredness, and validation as the document states them. The live government form remains the authoritative source.
Fields
-
firstGivenNamestring requiredFull Name: First/Given Name(s)
length: 0–100classification: pii -
lastSurnamestring requiredFull Name: Last/Surname
length: 0–100classification: pii -
permanentAddressstring requiredPermanent Address
length: 0–300classification: pii -
permanentAddressContactNostringPermanent Address: Contact No.
length: 0–20classification: pii -
permanentAddressEmailstringPermanent Address: E-mail
patternlength: 0–150classification: pii -
addressInBangladeshstringThe source provides no dedicated boolean gate distinguishing whether the applicant already has an address in Bangladesh (e.g. a hotel booking or host address), so this and its two companion fields are left unconditionally optional.
length: 0–300classification: pii -
addressInBangladeshContactNostringAddress in Bangladesh: Contact No.
length: 0–20classification: pii -
addressInBangladeshEmailstringAddress in Bangladesh: E-mail
patternlength: 0–150classification: pii -
dateOfBirthdate requiredDate of Birth
classification: sensitive-pii -
sexenum requiredThe source prints a 3-option list ("Male Female Others") next to unchecked boxes, not a fillable AcroForm widget; the printed option list is treated as sufficient corroboration for an enum, consistent with this registry's own `bd/dip/e-passport-application-form` `gender` precedent.
enum: Male | Female | Othersclassification: pii -
placeOfBirthstring requiredPlace of Birth
length: 0–150classification: sensitive-pii -
presentNationalitystring requiredModeled as free-text: the source prints only a blank line with no embedded country-selector option list (unlike the AcroForm-based `bd/dip/e-passport-application-form`, this form has no combobox widgets at all).
length: 0–100classification: pii -
nationalityAtBirthstringNationality at Birth
length: 0–100classification: pii -
occupationstringOccupation
length: 0–150 -
maritalStatusenumThe source prints a 4-option list next to unchecked boxes ("Unmarried Married Widower/Widow Divorced"); "Widower/Widow" is printed as a single combined option, not two separate ones.
enum: Unmarried | Married | Widower/Widow | Divorcedclassification: pii -
passportNumberstring requiredPassport No.
length: 0–30classification: sensitive-pii -
typeOfPassportstringModeled as free-text: the source prints only "Type of Passport" with no adjacent option list or checkbox (unlike `sex`/`maritalStatus`/`purposeOfVisit`/`intendedNumberOfEntries`, which each name an explicit option set in print).
length: 0–50 -
passportPlaceOfIssuestring requiredPassport: Place of Issue
length: 0–150 -
passportDateOfIssuedate requiredPassport: Date of Issue
-
passportDateOfExpirydate requiredPassport: Date of Expiry
-
dateOfLastVisitToBangladeshdateNot applicable to a genuine first-time visitor; left optional since the source provides no boolean gate for prior-visit status.
-
lastVisaNumberstringCompanion to dateOfLastVisitToBangladesh; applicable only if the applicant has held a prior Bangladeshi visa.
length: 0–30 -
lastVisaDateOfIssuedateLast Visa: Date of Issue
-
lastVisaPlaceOfIssuestringLast Visa: Place of Issue
length: 0–150 -
lastVisaDateOfExpirydateLast Visa: Date of Expiry
-
bankNameAndBranchstringPayment-details block. Some applicant nationalities/purposes are visa-fee-exempt per Bangladeshi consular practice, and the source provides no boolean fee-applicability gate, so this and its three companion payment fields are left optional.
length: 0–200 -
paymentReferenceNumberstringCheque/Bank Transfer/Chalan/Scroll No.
length: 0–50 -
amountDepositednumberThe source prints the unit as a parenthetical "(Taka/ US$)" immediately after this item, with no separate checkbox or field to select which currency; the amount and its currency cannot be disentangled from a single printed blank, so no separate currency field is modeled.
range: 0–∞ -
paymentDatedatePayment Date
-
purposeOfVisitenum requiredNew Visa section. The source prints a 9-option list next to unchecked boxes, including an "Others (Please Specify)" catch-all with a companion free-text line (see purposeOfVisitOtherSpecify).
enum: 9 values -
purposeOfVisitOtherSpecifystringPurpose of Visit: Other (Please Specify)
length: 0–200 -
durationOfProposedStaystring requiredModeled as free-text: the source prints no unit (days/weeks/months) next to this blank line, unlike several other fields in this registry that print an explicit unit.
length: 0–50 -
tentativeDateOfArrivaldate requiredTentative Date of Arrival in Bangladesh
-
intendedNumberOfEntriesenum requiredThe source prints a 3-option list next to unchecked boxes.
enum: Single | Re-Entry | Multiple -
declarationPlacestringCompanion to the declarationAttestation document, printed on the same line as the applicant's signature and declarationDate.
length: 0–150 -
declarationDatedateCompanion to the declarationAttestation document, printed on the same line as the applicant's signature and declarationPlace.
Verification record
This file is the source-review record for this document version, per the manual-source-review-v1 practice.
Current claim
status:draftverification.method:manual-source-review-v1verification.lastVerifiedAt:2026-07-13maturity.level:structural-reference
This is GovSchema Standard Research cycle GOV-2675 (child issue GOV-2677). It opens Bangladesh's Visa vertical (4 of 6), using the Department of Immigration and Passports' (DIP) "Machine Readable Visa Application Form" (D.I.P Form-4). Bangladesh's DMV, Taxes, and Passport verticals are already published.
Candidate scouting (this cycle)
Three candidates were scouted in parallel this cycle: Bangladesh Business Formation (via RJSC's company-incorporation forms), Bangladesh Visa (this schema), and Greece's Passport vertical. Bangladesh Visa was the strongest: an official government-portal PDF with a clean text layer, independently corroborated by a byte-near-identical embassy mirror. RJSC's incorporation forms were a viable but weaker candidate (the numbered forms themselves are only mirrored on a third-party legal-services site, not served directly from rjsc.gov.bd/app.roc.gov.bd, though the official RJSC FAQ page corroborates their content) — left as an open backlog candidate for a future cycle. Greece's Passport vertical is a confirmed weak/likely-dead-end candidate: the application process is strictly in-person at Hellenic Police stations, and the only downloadable artifact is a non-fillable scanned specimen image (zero AcroForm/text layer); the online myPhoto adjunct is SSO-gated and photo-only. Not pursued.
Source verification (independently re-derived, not copied from the scouting pass)
- Source PDF:
https://visa.gov.bd/Img/MRV_FORM.pdf— fetched independently this cycle via a plaincurl(no TLS-verification workaround needed, unlike several other Bangladesh government hosts already in this registry):- HTTP 200,
Content-Type: application/pdf, 124451 bytes. sha256:fb2d675a5a98f7ed9a06a11699cdf426cb6a8a26d34ca1c2da89fd58fa353f7d(computed viasha256sumon the freshly-downloaded file).
- HTTP 200,
- Corroborating mirror:
https://www.bangladeshembassy.org.sa/downloads/visa_Form.pdf— also independently fetched this cycle: HTTP 200,Content-Type: application/pdf, 124473 bytes, sha2562c3701d45a47600eb44b1fc6dc0254812d82fcc11b3b8ed740f1842a242f38f2. Not byte-identical to the primary source (22-byte difference), consistent with an embedded metadata/producer-string difference between two independently-hosted copies of the same form, but the near-identical byte size and matching page content confirm this is genuinely the same DIP Form-4, not a coincidentally similar document. - Parsed the downloaded PDF with
pdfjs-dist@3.11.174(legacy build), installed fresh in a scratch directory (not a repo dependency):getFieldObjects()returnednull— no AcroForm.getAnnotations()returned 0 for every one of the 4 pages — a plain print-and-fill document, not a fillable form.getTextContent()returned a full, clean English text layer across all 4 pages: 1259 / 1309 / 1093 / 1278 characters (4939 total).- Every field below was extracted directly from this text layer;
sourceRefcitations quote the source's own item numbers and printed labels verbatim. - Grepped the full extracted text for the
*character (a common required-field marker in this registry's other Bangladesh-sourced forms, e.g.bd/dip/e-passport-application-form): zero occurrences. This form prints no required-field asterisks or other requiredness markup anywhere.
Form structure and scoping decision
This is a single physical 4-page form reused across five distinct application pathways, selected by which section the applicant fills in:
- Page 1: Personal Details (items 1-10), Travel Document Details (items 11-20), Payment Details (items 21-24) — common to every pathway.
- Page 2: New Visa (items 25-28), Extension of Visa (items 29-38), No Visa Required/NVR (items 39-50), Transit/On Arrival Visa (items 51-56).
- Page 3: a shared supporting-document Check List, a Declaration statement + Place/Date/Signature line, a Police Verification block, and a "For Official Use" block.
- Page 4: General Instructions (photograph spec, fee non-refundability, submission process) — informational only.
In scope (36 fields[] + 8 documents[] entries)
This v1.0.0 scopes to the New Visa pathway only — the pathway a first-time foreign applicant uses to request a new Bangladeshi visa: Personal Details, Travel Document Details, Payment Details, and the New Visa section (items 25-28). This is the pathway matching this registry's "Online VISA's to destination countries from origin countries" research brief.
Checkbox-printed option groups with no AcroForm widget but an explicit, exhaustive, mutually-exclusive printed option list are modeled as enum, consistent with this registry's own bd/dip/e-passport-application-form gender precedent (a printed option list is sufficient corroboration even without a checkbox widget): sex (Male/Female/Others), maritalStatus (Unmarried/Married/Widower-Widow/Divorced — "Widower/Widow" is printed as one combined option), purposeOfVisit (9 options including an "Others (Please Specify)" catch-all, gating purposeOfVisitOtherSpecify via requiredWhen), and intendedNumberOfEntries (Single/Re-Entry/Multiple).
Fields with only a blank line and no printed option list (typeOfPassport, presentNationality, nationalityAtBirth, occupation, durationOfProposedStay) are modeled as free-text string, consistent with this registry's bd/brta/th/dlt precedent of not inventing enum value sets for blank lines with no printed options.
Item 23's "Amount deposited (Taka/ US\$)" prints its unit as a parenthetical covering two possible currencies with no separate selector — the amount and currency cannot be disentangled from a single printed blank, so no separate currency field is modeled; amountDeposited is a plain number.
The Declaration statement (page 3) is modeled as an attestation document (declarationAttestation), with its printed Place/Date companions modeled as declarationPlace/declarationDate fields, mirroring this jurisdiction's own bd/dip/e-passport-application-form and bd/brta precedent for modeling a sworn declaration as an attestation document rather than a plain field.
Page 3's Check List (19 checkbox items shared by all five pathways) is modeled for the subset applicable to a general New Visa applicant: passportCopyWithLastVisaAndArrivalPage (required — universal), page 1's photograph-placement box plus page 3's "Photo" checklist item, folded into one applicantPhotograph document (required — universal), paymentSlip (optional — some nationalities/purposes are visa-fee-exempt), recommendationLetterFromMinistryOrAuthority (optional — typically Official/Diplomatic/Business), workPermit (optional — Employment purpose), tradeLicenseOfSponsoringCompany (optional — Business/Investment purpose sponsored by a Bangladeshi company), and otherSupportingDocument (a catch-all).
Requiredness judgment call, disclosed
The source prints no required-field asterisks or other requiredness markup anywhere (confirmed by the zero-occurrence * grep above), unlike this jurisdiction's own bd/dip/e-passport-application-form. Given this task's own instruction to base requiredness on the source, and finding none, only fields unconditionally essential to any visa request are marked required: true: applicant identity (firstGivenName, lastSurname, dateOfBirth, sex, placeOfBirth, presentNationality), passport particulars (passportNumber, passportPlaceOfIssue, passportDateOfIssue, passportDateOfExpiry), and the requested visa's own particulars (purposeOfVisit, durationOfProposedStay, tentativeDateOfArrival, intendedNumberOfEntries). Every other field (addresses, contact details, marital status, occupation, nationality at birth, payment particulars, and previous-visit/previous-visa history) is left optional. This is a disclosed judgment call, consistent with this registry's own bd/brta/motor-vehicle-registration-application and th/dlt/vehicle-registration-application precedent for source forms without printed requiredness markup.
Out of scope, disclosed
- Extension of Visa (items 29-38), No Visa Required/NVR (items 39-50), Transit/On Arrival Visa (items 51-56) — alternate uses of this same physical form for different applicant categories/processes, not the first-time New Visa request this v1.0.0 scopes to. Flagged as candidates for a future revision, not modeled here.
- Check List items tied to specific applicant categories not modeled: Marriage Certificate, Birth Certificate, a parent's/spouse's Visa or Passport Copy, an Affidavit, a No Objection Certificate from the Sri Lankan High Commission (nationality-specific), Income Tax Certificate/TIN/TIN certificate of a sponsoring company, a Bi-Lateral/ Multilateral Agreement reference, Security Clearance/Security Certificate, and an Overstay payment slip — each tied to a specific applicant category (spousal dependents, a specific nationality, or a company-sponsored investor scenario) or to the NVR/Extension pathways this v1.0.0 excludes.
- Police Verification block (page 3) — completed by a Bangladeshi police Inquiry Officer during processing, not applicant-supplied.
- "For Official Use" block (page 3) — Reference No., Fee amount, Visa No./Date/Expiry, entry-type adjudication, and Authorized Signature — all completed by DIP/consular staff at issuance, not applicant-supplied.
- Page 4 (General Instructions) — informational prose (photograph specification, fee non-refundability, submission process), not a data-entry section.
- No signature-only line modeled as a field. The applicant's signature on page 3 has no adjacent fillable date sub-line of its own beyond the already-modeled
declarationDate, consistent with this registry's established convention of not inventing a field for a bare signature line.
Conformance run
Two hand-authored valid fixtures under conformance/bd/dip/machine-readable-visa-application-form/1.0.0/:
valid-tourist-first-time-applicant.json— a first-time tourist applicant, single entry, minimal optional fields populated (no previous visit/visa history, no payment-particulars block).valid-business-returning-applicant.json— a returning business applicant exercising previous-visit/previous-visa fields, marital status, payment particulars, the declaration Place/Date companions, and thetradeLicenseOfSponsoringCompanydocument.
Both were checked with a from-scratch Node conformance checker (conformance-check.mjs, not committed — a disposable script, per this registry's own established practice) validating required/requiredWhen/type/validation.{enum,minimum,maximum,pattern, minLength,maxLength} directly against spec/v0.3/SPEC.md's own rules:
`` $ node conformance-check.mjs schema.json \ valid-tourist-first-time-applicant.json \ valid-business-returning-applicant.json valid-tourist-first-time-applicant.json: 0 error(s) valid-business-returning-applicant.json: 0 error(s) ``
Six mutation-control fixtures, each isolated to raise exactly one error:
mutation-control-missing-first-given-name.json— dropsfirstGivenName(a staticrequired: truefield) from the tourist valid fixture.mutation-control-missing-passport-number.json— dropspassportNumber.mutation-control-invalid-enum-sex.json— setssexto"Unspecified", not one of the enum's 3 values.mutation-control-invalid-enum-entries.json— setsintendedNumberOfEntriesto"Unlimited", not one of the enum's 3 values.mutation-control-invalid-type-date-arrival.json— setstentativeDateOfArrivalto the string"next month"instead of aYYYY-MM-DDdate.mutation-control-missing-purpose-other-specify.json— setspurposeOfVisitto"Others"without providing therequiredWhen-gatedpurposeOfVisitOtherSpecifycompanion field.
`` $ node conformance-check.mjs schema.json \ mutation-control-missing-first-given-name.json \ mutation-control-missing-passport-number.json \ mutation-control-invalid-enum-sex.json \ mutation-control-invalid-enum-entries.json \ mutation-control-invalid-type-date-arrival.json \ mutation-control-missing-purpose-other-specify.json mutation-control-missing-first-given-name.json: 1 error(s) - firstGivenName: required but missing mutation-control-missing-passport-number.json: 1 error(s) - passportNumber: required but missing mutation-control-invalid-enum-sex.json: 1 error(s) - sex: 'Unspecified' not in enum ["Male","Female","Others"] mutation-control-invalid-enum-entries.json: 1 error(s) - intendedNumberOfEntries: 'Unlimited' not in enum ["Single","Re-Entry","Multiple"] mutation-control-invalid-type-date-arrival.json: 1 error(s) - tentativeDateOfArrival: expected YYYY-MM-DD date string mutation-control-missing-purpose-other-specify.json: 1 error(s) - purposeOfVisitOtherSpecify: required but missing ``
All six negative controls raised exactly one error each, and neither valid scenario raised an unexpected error.
Both registry validators were run against the schema document and pass:
``` $ node tools/validate.mjs registry/bd/dip/machine-readable-visa-application-form/1.0.0/schema.json ok registry/bd/dip/machine-readable-visa-application-form/1.0.0/schema.json 1/1 document(s) passed.
$ node tools/validate-ajv.mjs registry/bd/dip/machine-readable-visa-application-form/1.0.0/schema.json ok registry/bd/dip/machine-readable-visa-application-form/1.0.0/schema.json [v0.3] 1/1 document(s) validated against the meta-schema (ajv 2020-12). ```
A full registry validation run (node tools/validate.mjs with no argument, covering every published document) passes: 401/401 document(s), 3/3 mapping.json companions.
tools/govschema-client/registry-index.json was regenerated via npm run build-index inside tools/govschema-client/ (401 entries).
Scope and jurisdiction notes
- Opens Bangladesh's Visa vertical (4 of 6); DMV, Taxes, and Passport are already published. Business Formation and National ID remain screened/backlog.
jurisdiction.levelisnational— DIP is Bangladesh's national passport/visa authority.process.typeisapplication;process.languageisen— the source PDF's own text layer is entirely in English.- Companion candidates for a future cycle: this cycle's own RJSC Business-Formation lead (open backlog, see "Candidate scouting" above); Bangladesh's National ID gap (not screened this cycle); and, for this schema specifically, a future revision modeling the Extension of Visa/NVR/Transit pathways this v1.0.0 excludes.
Re-verification
Per the practice's cadence, nextReviewBy is set to 2027-01-13 (6 months). A future review should prioritize: (1) confirming visa.gov.bd/Img/MRV_FORM.pdf has not been silently replaced with a revised edition; (2) checking whether the Online MRV Portal has moved to a genuine online-submission workflow beyond this print-and-fill PDF; (3) whether a future cycle wants to model the Extension of Visa/NVR/Transit pathways excluded here as companion schemas or additional scope on this same document.
View the raw record (VERIFICATION.md)
Version history
-
1.0.0draftlatestthis pagehas verification recordschema.json
Independent and non-affiliated
GovSchema is an independent, open-source project. This reference is not produced, reviewed, or endorsed by Department of Immigration and Passports or any government. The authoritative source is always the live government form and its official instructions.