Registry entry

Panama Tourist Visa Application

Give the details for Panama's tourist visa application: the visa a national of a country requiring one must obtain before travelling to the Republic of Panama for tourism purposes. This document models the National Migration Service's (Servicio Nacional de Migración, part of the Ministerio de Gobierno) "Solicitud de Visa de Turista / Requesting a Visa as a Tourist" form, a bilingual Spanish/English three-page application distributed directly from migracion.gob.pa. It covers the applicant's identity, travel document, marital and family status, residence and contact details, occupation, contacts and accommodation in Panama, journey details and purpose of travel, prior Panama visa history, other current or intended visas/permits, residency in a country other than one's nationality, and the applicant's own certification. It does not model the form's own final section, reserved for applications presented from within Panama and requiring an attorney's name, signature, Cédula and idoneidad (professional registration number) -- an in-country submission channel distinct from the general applicant-facing form -- nor the receiving official's own signature line, both out of scope as administration-facing, not applicant-facing, content. It does not submit the application; the live source is always authoritative.

Registry entry

pa/migracion/tourist-visa-application

Jurisdiction
Panama · national
Version
1.0.0
Verification
draft

Authoritative source Solicitud de Visa de Turista / Requesting a Visa as a Tourist (Panama tourist-visa application form, hosted directly by the Servicio Nacional de Migración)

Machine access

Registry catalog
registry/index.jsonone record per schema id

Field reference

50 fields across 10 steps, 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.

Datos del solicitante / Applicant's identity

  • touristFirstName string required

    Primer nombre / First name

    length: 0–100classification: pii
  • touristMiddleName string required

    Page 1's own instructions direct applicants never to leave a box blank and to write "N/A" ("no aplica") when a question does not apply, so this is modelled as required rather than optional even though many applicants will have no middle name.

    length: 0–100classification: pii
  • touristLastName string required

    Primer Apellido / Last name

    length: 0–100classification: pii
  • touristSecondSurname string required

    Per the form's own blanket fill-all/N/A instruction (see touristMiddleName); many applicants will not carry a second surname and will supply "N/A".

    length: 0–100classification: pii
  • usualName string required

    Item 2 presents two side-by-side labelled boxes, "Nombre usual / Usual name" and "Nombre Legal / Legal name", with no further printed explanation of how the two differ from the full name already captured in item 1. Modelled as its own field per the form's own distinct box, with the fill-all/N/A instruction applied; flagged in VERIFICATION.md as a disclosed interpretive finding.

    length: 0–200classification: pii
  • legalName string required

    See usualName -- the form's second, adjacent labelled box under item 2.

    length: 0–200classification: pii
  • dateOfBirth date required

    Fecha de nacimiento (Día/Mes/Año) / Date of birth

    classification: sensitive-pii
  • nationality string required

    Nacionalidad / Nationality

    length: 0–100classification: pii

Documento de viaje / Travel document

  • passportNumber string required

    Número de Pasaporte / Passport number

    length: 0–50classification: sensitive-pii
  • passportIssuingCountry string required

    País que lo Expide / Issuing country

    length: 0–100classification: pii
  • passportExpirationDate date required

    Fecha de vencimiento del pasaporte / Passport expiration date

    classification: sensitive-pii

Estado civil y familia / Marital status and family

  • maritalStatus enum required

    The form's own five-option checkbox list: casado/Married, soltero/Single, unido/Coupled (de-facto union), divorciado/Divorced, viudo/Widowed.

    enum: married | single | coupled | divorced | widowed
  • spouseOrPartnerName string optional

    Nombre del cónyuge o pareja actual / Name of current spouse or partner

    length: 0–200classification: pii
  • spouseOrPartnerNationality string optional

    Nacionalidad del cónyuge o pareja / Nationality of the spouse or partner

    length: 0–100classification: pii
  • spouseOrPartnerDateOfBirth date optional

    Fecha de Nacimiento (del cónyuge o pareja) / Date of birth (of the spouse or partner)

    classification: sensitive-pii

Residencia y contacto / Residence and contact

  • residenceCountry string required

    País (de residencia) / Country (of residence)

    length: 0–100classification: pii
  • residenceStateOrProvince string required

    Estado, Provincia o Departamento / State, Province or Department

    length: 0–150classification: pii
  • residenceCity string required

    Ciudad / City

    length: 0–150classification: pii
  • residenceStreetAddress string required

    Avenida, Calle y N.º de Casa o Habitación / Avenue, Street, House or Room number

    length: 0–300classification: pii
  • telephoneNumber string required

    Nº de Teléfono (Residencial, Personal o Laboral) / Telephone number (home, personal or work)

    length: 0–50classification: pii
  • faxNumber string required

    Per the form's own blanket fill-all/N/A instruction; most applicants will supply "N/A" for a fax number in current practice.

    length: 0–50classification: pii
  • postalBoxNumber string required

    Apartado Postal / Postal box number

    length: 0–50classification: pii
  • email string required

    Correo electrónico / Electronic mail

    length: 0–200classification: pii

Ocupación / Occupation

  • profession string required

    Profesión / Ocupación Actual a realizar / Profession / Current occupation to perform

    length: 0–200
  • workplaceAndEmployerName string required

    Lugar de trabajo y nombre del empleador / Working place and employer's name

    length: 0–300classification: pii

Contactos y alojamiento en Panamá / Contacts and accommodation in Panama

  • relative1NameRelationAddress string optional

    Item 14 ("Declare if having any relatives or friends in Panama") prints two identical blank rows, each combining name/relation/address-and-phone into one row rather than separate boxes; modelled as one combined field per row, matching the printed structure. The "declare if" framing (unlike the fill-all/N/A instruction elsewhere) is itself a conditional invitation rather than a mandatory box, so left optional/ungated rather than forcing an N/A value or fabricating a boolean gate the form does not print.

    length: 0–400classification: pii
  • relative2NameRelationAddress string optional

    The form's second (and last) printed row under item 14 -- see relative1NameRelationAddress.

    length: 0–400classification: pii
  • accommodationAddressInPanama string required

    Dirección del hotel o sitio donde va a hospedarse en Panamá / Address of the hotel or place of residence while in Panama

    length: 0–400classification: pii
  • travelCompanionNameAndSurname string required

    Indique con quien viaja (Nombre y apellido) / Indicate who you are traveling with (name and surname)

    length: 0–200classification: pii
  • travelCompanionRelation string required

    Parentesco (del acompañante) / Family relation (of the travel companion)

    length: 0–100

Datos del viaje / Journey details

  • plannedArrivalDate date required

    Fecha en que planea viajar en Panamá / Planned date to arrive to Panama

  • lengthOfStayInPanama string required

    The source prints a single free-text blank with its own emphasis that the answer "must be exact" (e.g. a specific number of days), rather than a structured duration field.

    length: 0–100
  • purposeOfTravel enum required

    The form's own nine-option checkbox list: Turismo/Tourism; Tránsito con destino a (transit bound for), with a free-text destination line; Asistir a Seminarios, Ferias u otros eventos/To attend seminars, fairs or similar events; Visitar familiares/Family visit; Hacer contactos de negocios/To make contact for possible businesses; Visitas comerciales y profesionales/Commercial and professional visits; Recibir servicios médicos ambulatorios o tratamientos cortos/To receive ambulatory medical or short treatment services; Invitado por Empresas Usuaria de Zona Libre de Colón/Invitation by a user company of the Colón Free Zone, with a free-text company-name line; Otros/Other, with a free-text details line.

    enum: 9 values
  • transitDestination string optional

    Tránsito con destino a / Transit bound for

    length: 0–200
  • colonFreeZoneCompanyName string optional

    Nombre de la empresa (Zona Libre de Colón) / Company name (Colón Free Zone)

    length: 0–200
  • otherPurposeDetails string optional

    Otros/Detalle / Other, give details

    length: 0–300
  • seminarTrainingOrFamilyVisitDetails string optional

    Item 20 asks applicants entering as a participant in a seminar, training programme, or excursion, or on a tourist plan at a family member's invitation, to specify further -- gated on the two closest-matching purposeOfTravel values (seminars-fairs-events, family-visit) since the form itself does not restate a separate checkbox here.

    length: 0–300

Historial de visas de Panamá / Panama visa history

  • hasBeenAuthorizedPanamaVisaBefore boolean required

    A printed Sí/No (Yes/No) checkbox pair.

  • previousVisaTypeDetails string optional

    Especifique tipo de visa (turista, permisos de residencia, múltiple) / Specify type of visa (tourist, residence permit, multiple)

    length: 0–200
  • previousStayInPanamaDetails string required

    Printed as a single free-text blank (no separate Yes/No checkbox is visible in the source, unlike item 22); the fill-all/N/A instruction applies, so applicants who have never been to Panama write "N/A".

    length: 0–200
  • deniedOrRevokedVisaOrResidenceDetails string required

    Printed as a single free-text blank spanning the item 24 label on page 2 and its own "type of visa, permission and date" continuation heading at the top of page 3; modelled as one field matching the source's own layout. The fill-all/N/A instruction applies.

    length: 0–300

Intenciones futuras y otra residencia / Future intentions and other residency

  • intendsToRequestAnotherVisaOrPermit boolean required

    Declare si piensa solicitar alguna otra visa de no residente o permiso cuando ingrese a Panamá / Declare if you are thinking about any other non-resident visa, or permit, when you enter Panama

  • requestedVisaOrPermitType enum required

    The form's own four-option checkbox list: Visa múltiple de no residente/Multiple non-resident visa; Permiso de residente temporal/Temporary residence permit; Permiso de residente permanente/Permanent residence permit; Ninguno/None.

    enum: multiple-non-resident-visa | temporary-residence-permit | permanent-residence-permit | none
  • otherCountryVisasHeld string required

    Si tiene visas vigentes de otros países, indique cuales / If you have visas from any other countries, which ones?

    length: 0–300
  • isResidentOfCountryOtherThanNationality boolean required

    Es usted residente de algún país, distinto al de su nacionalidad / Are you a resident of any country other than your nationality

  • residencyCountryIfDifferent string optional

    De qué país es residente / From what country are you a resident

    length: 0–100

Declaración / Declaration

  • formFilledByAnotherPerson boolean required

    ¿Alguna persona ha llenado este formulario por usted? / Has anyone filled this form for you?

  • personWhoFilledFormName string optional

    The source pairs a name-and-signature line here; only the name is modelled, per this registry's standing convention of excluding physical signature capture.

    length: 0–200
  • certificationAcknowledged boolean required

    Represents the applicant's acknowledgement of the form's own certification paragraph ("Certifico que he leído y comprendido todas las preguntas..." / "I certify that I have read and understood all questions..."), certifying the answers are correct and understanding that a false or misleading statement can result in permanent visa/entry denial. The physical signature itself is out of scope, per this registry's standing convention.

  • declarationDate date required

    Fecha (de la certificación del solicitante) / Date (of the applicant's certification)

Verification record

Candidate selection

GOV-4293 ("GovSchema Standard Research", 2026-07-22). The GOV-4271 cycle (2026-07-22, opening Zambia as the registry's 77th jurisdiction) screened Panama and Albania in parallel as candidate new-jurisdiction openings and banked Panama's Visa candidate — Migración Panamá's tourist-visa PDF — as pre-scouted, disclosed backlog: the strongest of Panama's six verticals (DMV, Business Formation, Passport, Taxes, and National ID each route exclusively into a login-gated online portal with no static application-form document; only Visa had an unauthenticated, unGated PDF). Zambia won that cycle on a stronger three-candidate showing across all six verticals, so Panama was left open. This cycle re-screens the banked candidate fresh and authors it, opening Panama as the registry's 78th jurisdiction via its Visa vertical (1 of 6).

Reaching the live source

Fetched https://migracion.gob.pa/wp-content/uploads/10-Formulario_visa_de_turista.pdf directly with a plain unauthenticated curl request (no session/cookie state, no CAPTCHA/WAF challenge):

  • HTTP 200, 313,700 bytes.
  • sha256 a5c4a233bfa243ccf77b17d767ab83eae044d199dd154023b393519916574fdc.
  • PDF header %PDF-1.7 at byte 0 — a genuine native (searchable-text) PDF, not a scanned image.
  • Independently re-confirmed as still the banked GOV-4271 URL, unchanged since that cycle's scouting pass.

Extraction method

Extracted with pdfjs-dist (vendored from an existing session scratch install at /tmp/node_modules), reading each page's text content directly — extraction was clean and complete across all 3 pages with no glyph-mapping workaround needed. A supplementary render-to-PNG pass via pdfjs-dist + node-canvas was attempted to visually cross-check the page 2/3 layout, but this particular PDF's embedded Times-family fonts triggered getPathGenerator/"object isn't resolved yet" glyph-rendering errors in this session's node-canvas build, leaving the rendered images mostly blank of text (checkbox glyphs did render, confirming their positions). This is a rendering-pipeline limitation, not a text-extraction one: pdfjs-dist's getTextContent() API (used for the actual field inventory below) reads the underlying character stream directly and does not depend on the glyph rasterizer, and returned complete, coherent bilingual text for all three pages. Field positions (transform x/y) were additionally read directly from the text-content API to disambiguate side-by-side columns (e.g. item 2's two adjacent "Usual name" / "Legal name" boxes) without needing the image render.

Document structure

A bilingual Spanish/English, three-page, single form: "Solicitud de Visa de Turista / Requesting a Visa as a Tourist," 32 numbered items (numbering genuinely skips from 20 to 22 in the source itself — confirmed by direct inspection of each text item's y-position, which shows a single ordinary paragraph-gap between items 20 and 22, not a truncated or misread item 21; this schema does not model a field numbered 21, since none exists), plus an unnumbered closing certification paragraph, signature block, and a final section reserved for applications filed from within Panama specifically (requiring an attorney's name, signature, Cédula, and idoneidad/professional- registration number) — out of scope, per below.

Page 1's own printed instructions read (bilingually): "Do not leave blank spaces. In cases the interrogation does not apply to you, write 'Not Applied' (N/A)." Per this registry's established precedent for forms carrying this exact instruction (see et/mor/individual-tin-registration, GOV-4246), this drives required: true for the great majority of fields — "N/A" is itself a valid literal value satisfying a required: true string field, so requiredness here reflects "must answer something," not "must supply real data." requiredWhen is reserved for the handful of fields the form itself gates on a narrower, more specific printed condition than the blanket instruction (marital status driving spouse/partner details; Yes/No-gated visa-history and residency follow-up fields; the purpose-of-travel enum driving its own conditional free-text lines).

Fields modelled

50 fields[] across 10 steps (Applicant's identity; Travel document; Marital status and family; Residence and contact; Occupation; Contacts and accommodation in Panama; Journey details; Panama visa history; Future intentions and other residency; Declaration) plus 1 documents[] entry.

Disclosed source-fidelity findings

  1. Item 2 ("Nombre usual / Usual name" and "Nombre Legal / Legal name") is modelled as two separate fields (usualName, legalName) whose relationship to item 1's already-captured full name is not further explained by the source. The two labels appear as adjacent, clearly distinct printed boxes at the same y-position (confirmed via direct x/y text-position inspection: "Nombre usual" at x≈73, "Nombre Legal" at x≈294, both at y≈484), so they are modelled as the form's own genuine structure rather than merged into one field — but the form gives no further guidance on when a usual name would differ from the legal name already given in item 1. Flagged as an open interpretive question for a future re-verification pass with clearer official guidance, if any becomes available; not a blocking ambiguity since both are ordinary optional-content string fields under the page-1 fill-all/N/A instruction.
  2. Item 14 ("Declare if having any relatives or friends in Panama") is modelled as two independent, ungated optional fields (relative1NameRelationAddress, relative2NameRelationAddress), each combining name/relation/address-and-phone into one field per the source's own printed row structure (two identical blank rows, no further sub-division). Unlike most of this form, item 14's own "Declare if..." framing is a conditional invitation, not a blanket fill-all instruction, so these two fields are left required: false with no fabricated boolean gate, per this registry's established precedent for ungated conditional fields with no printed antecedent checkbox (e.g. es/maec/solicitud-visado-nacional's guardianDetails).
  3. Items 23 and 24 (prior stay in Panama; denied/revoked visa or residence) are each modelled as a single free-text field (previousStayInPanamaDetails, deniedOrRevokedVisaOrResidenceDetails) rather than a boolean-plus-detail pair, because — unlike item 22, which prints an explicit Sí/No checkbox pair (confirmed via the rendered-page checkbox glyphs at the expected position) — no separate Yes/No control was found printed for items 23 or 24 in either the text extraction or the checkbox-position scan; each is a single blank the applicant fills directly (with "N/A" when inapplicable, per the page-1 instruction). Item 24's own blank is confirmed to continue onto page 3 under its own "Tipo de visa, permiso y fecha / Type of visa, permission and date" sub-heading, modelled as the same single field per the source's own layout rather than split across a page boundary.
  4. The form's own final section — reserved for applications presented from within Panama, requiring an attorney's name, signature, Cédula (personal identification number), and idoneidad (professional registration number) — is excluded from this schema, as is the receiving official's own signature line. Both are administration-facing or in-country-specific submission-channel content, not part of the general applicant-facing form this schema models, consistent with this registry's standing precedent for excluding "reserved to the administration" sections (e.g. es/maec/solicitud-visado-nacional's own "PARTE RESERVADA A LA ADMINISTRACIÓN" exclusion).
  5. All physical-signature fields are excluded, per this registry's standing convention. The applicant's own certification is instead modelled as a boolean acknowledgement (certificationAcknowledged) of the form's printed certification paragraph, plus its accompanying declarationDate; the "name of the person who filled the form" (item 32) models only the name, not the accompanying signature.

Conformance

3 valid mock scenarios — valid-single-tourist (an unmarried applicant travelling alone for tourism, no conditional branches triggered); valid-married-family-visit-prior-visa-and-residency (a married applicant visiting a relative in Panama, previously authorized a Panama tourist visa, and resident of a country other than their nationality — exercising the maritalStatus-gated spouse fields, the purposeOfTravel-gated family-visit detail field, the hasBeenAuthorizedPanamaVisaBefore-gated prior-visa-type field, and the isResidentOfCountryOtherThanNationality-gated residency- country field and its companion document); and valid-transit-filled-by-agent (an applicant in transit to a third country, form filled out by a travel agent on their behalf — exercising the purposeOfTravel-gated transit-destination field and the formFilledByAnotherPerson-gated filler-name field) — plus 10 mutation-control fixtures (three missing-required fixtures — touristLastName, maritalStatus, certificationAcknowledged; five missing-required fixtures exercising requiredWhen-gated fields correctly triggered in their scenario — spouseOrPartnerName, previousVisaTypeDetails, residencyCountryIfDifferent, transitDestination, personWhoFilledFormName; an invalid-enum fixture for maritalStatus; and an unknown-field-rejected fixture) are committed under conformance/pa/migracion/tourist-visa-application/1.0.0/. An ephemeral, from-scratch conformance checker (deriving required/requiredWhen/enum rules directly from this schema's own fields[], discarded after use, not committed) ran all 13: both valid scenarios' non-triggered fixture at 0 errors, the two conditional-scenario valid fixtures each at 0 errors with every gated field correctly satisfied, and all 10 mutation controls each raising exactly 1 error of the expected kind. Validated clean with node tools/validate.mjs and node tools/validate-ajv.mjs, individually and as part of the full registry run (595/595 documents, including this one).

View the raw record (VERIFICATION.md)

Version history

  • 1.0.0 draft latest this page has verification record schema.json

Independent and non-affiliated

GovSchema is an independent, open-source project. This reference is not produced, reviewed, or endorsed by Servicio Nacional de Migración (Ministerio de Gobierno) or any government. The authoritative source is always the live government form and its official instructions.