Registry entry

Canada Electronic Travel Authorization (eTA)

Apply for an Electronic Travel Authorization (eTA), Canada's air-travel counterpart to a visa waiver, required for most visa-exempt foreign nationals flying to Canada (not required for U.S. citizens, or for entry by land or sea). CAD $7 fee, approval typically within minutes though some applications take several days, valid up to 5 years or until passport expiry, whichever is first. This document models an applicant applying for themselves online at the IRCC eTA application form. Out of scope: Part 1 of the source guide (a parent/guardian or paid/unpaid representative applying on behalf of someone else), the lawful-permanent-resident-of-the-U.S. exemption questions, and the additional eligibility questions shown only to Israeli, Taiwanese, or Romanian passport holders. It does not submit the application; the live IRCC source is always authoritative (see VERIFICATION.md).

You are viewing v1.0.0

The latest published version of this schema is v1.1.0 — see the current reference page. Published versions are immutable; this page stays for agents pinned to ca/ircc/eta-application@1.0.0.

Registry entry

ca/ircc/eta-application

Jurisdiction
Canada · national
Version
1.0.0
Verification
draft

GovSchema spec v0.2

Authoritative source Electronic Travel Authorization (eTA) Application Help Guide (Ci4-136/2015E-PDF)

Machine access

Schema document
registry/ca/ircc/eta-application/1.0.0/schema.jsonapplication/schema+json
Registry catalog
registry/index.jsonone record per schema id

Field reference

43 fields across 7 steps, read from the published schema.json — names, types, requiredness, and validation as the document states them. The live government form remains the authoritative source.

Travel document and passport

  • travelDocumentType enum required

    A refugee travel document or an alien passport/travel document issued to non-citizens are not eligible for an eTA (the guide states the applicant needs a visa or other travel document instead); this enum therefore lists only the eligible document types.

    enum: 7 values
  • passportIssuingCountry string required

    The three-letter country code matching the passport's "Code", "Issuing country", or "Authority" field.

    pattern
  • nationality string required

    A national of a visa-required country is not eligible to apply for an eTA.

    length: 1–60
  • passportNumber string required

    Personal identifier; handle as sensitive data. Enter the number at the top of the passport's biographic (photo) page, not any number on the first page or at the bottom of the biographic page. Most passport numbers are 8-11 characters; no hyphens, spaces, or other special characters. Be careful distinguishing the letter O from the number 0, and the letter I from the number 1 — an incorrect passport number can prevent boarding and require reapplying.

    length: 1–20
  • lastName string required

    Personal identifier; handle as sensitive data. Enter exactly as it appears on the passport, per the guide's detailed name-transcription rules: keep apostrophes and hyphens; use the passport's machine-readable zone to determine name order; for filial or spousal relationship markers (e.g. "bin", "bint", "ibn", "ben", "ould", "épouse de"/"ep."), omit the relationship word and the relative's name from both name fields; omit titles, prefixes, suffixes, and academic/honorific qualifiers unless they appear in the machine-readable zone; only Roman-script characters (including French accents) are accepted.

    length: 1–80
  • firstName string required

    Personal identifier; handle as sensitive data. See lastName's description for the passport-transcription rules that also apply here.

    length: 1–80
  • dateOfBirth date required

    Personal identifier; handle as sensitive data. YYYY-MM-DD, as it appears on the passport. If the exact date is unknown, give as much information as possible.

  • gender string required

    Personal identifier; handle as sensitive data. The guide names this field in the same instruction as date of birth, country/territory of birth, and city of birth, but — unlike marital status or occupation — does not itself enumerate its value options, so it is modeled here as free text rather than an enum.

    length: 1–20
  • countryOfBirth string required

    As shown in the passport's place-of-birth field.

    length: 1–60
  • cityOfBirth string required

    As shown in the passport's place-of-birth field; if none is shown there, enter the applicant's actual city/town/village of birth.

    length: 1–80
  • passportIssueDate date required

    YYYY-MM-DD, from the passport's biographic (photo) page.

  • passportExpiryDate date required

    YYYY-MM-DD, from the passport's biographic (photo) page. The eTA is valid up to 5 years, but no later than this date.

Personal details

  • uniqueClientIdentifierOrPreviousDocumentNumber string required

    Personal identifier; handle as sensitive data. If the applicant previously submitted a Canadian application (e.g. a study permit, work permit, or visitor visa) they will have a UCI, found on IRCC correspondence or the issued immigration document. If unknown, enter "NA" or the immigration document number instead.

    length: 0–20
  • maritalStatus enum required

    married requires a marriage recognized under both the country of performance's law and Canadian law. common_law requires having lived together continuously in a marital-type relationship for at least one year.

    enum: 7 values

Employment information

  • occupation enum required

    Select the closest match if nothing is identical.

    enum: 15 values
  • jobTitle string optional

    Select the option that best describes the applicant's job, from a list dependent on the chosen occupation category (not itself enumerated in the source guide, so modeled here as free text).

    length: 0–120
  • employerOrSchoolName string optional

    The employer's name, or the school's name if the applicant is a student.

    length: 0–160
  • employerOrSchoolCountry string optional

    Where the employer or, for a student, the school is located.

    length: 0–60
  • employerOrSchoolCity string optional

    City/town where the employer is located, or, for a student, where the school is located.

    length: 0–80
  • employedOrEnrolledSinceYear integer optional

    The year the applicant started working for the employer or studying at the school.

    range: 1900–∞

Contact information and residential address

  • email string required

    Personal identifier; handle as sensitive data. Used to communicate with the applicant about the application. A parent applying for a minor may enter their own email address.

    length: 3–160
  • residentialAddressUnit string optional

    If applicable.

    length: 0–20
  • residentialAddressStreetNumber string required

    Do not enter apartment/unit/suite numbers here; use residentialAddressUnit instead.

    length: 1–20
  • residentialAddressStreetName string required

    Include the standard identifier spelled out in full (e.g. "Street", "Road", "Avenue", "Boulevard") — abbreviations such as "Ave." are not accepted.

    length: 1–120
  • residentialAddressLine2 string optional

    If necessary.

    length: 0–120
  • residentialAddressCity string required

    The applicant's permanent home address; do not enter a temporary residence or a P.O. box — the application will be refused.

    length: 1–80
  • residentialAddressCountry string required

    Country or territory of the applicant's permanent home address.

    length: 1–60
  • residentialAddressProvinceState string optional

    If applicable.

    length: 0–60
  • residentialAddressPostalCode string required

    Postal or ZIP code of the applicant's permanent home address.

    length: 0–15
  • residentialAddressDistrict string optional

    If applicable.

    length: 0–80
  • preferredCommunicationLanguage enum required

    Per the Official Languages Act, the Government of Canada provides information and services in both English and French. The application form itself is only in English or French, though field descriptions are offered in more languages.

    enum: english | french

Travel information

  • knowsTravelDate boolean required

    If true, also give plannedTravelDate and, if the flight is confirmed, plannedDepartureTime.

  • plannedTravelDate date optional

    Required when knowsTravelDate is true. YYYY-MM-DD.

  • plannedDepartureTime string optional

    Only if the applicant has confirmed flight details.

    length: 0–20

Background questions

  • hasBeenRefusedVisaOrDeniedEntry boolean required

    Background question 1. If true, also give refusalOrDenialDetails.

  • refusalOrDenialDetails string optional

    Required when hasBeenRefusedVisaOrDeniedEntry is true. For each incident: the country that refused/denied/ordered removal, and the reasons given.

    length: 0–2000
  • hasCriminalHistory boolean required

    Background question 2. If true, also give criminalHistoryDetails.

  • criminalHistoryDetails string optional

    Required when hasCriminalHistory is true. For each incident: where (city, country), when (month/year), the nature of the offence, and the sentence.

    length: 0–2000
  • hasTuberculosisContactOrDiagnosis boolean required

    Background question 3. If true, also give isTuberculosisContactAHealthcareWorker.

  • isTuberculosisContactAHealthcareWorker boolean optional

    Required when hasTuberculosisContactOrDiagnosis is true (background question 3a). If true, also give hasEverBeenDiagnosedWithTuberculosis.

  • hasEverBeenDiagnosedWithTuberculosis boolean optional

    Applicable when isTuberculosisContactAHealthcareWorker is true (background question 3b).

  • medicalCondition enum required

    Background question 4. Select none_of_the_above if none apply.

    enum: untreated_syphilis | untreated_drug_or_alcohol_addiction | untreated_mental_health_condition_with_psychosis | none_of_the_above

Verification record

This file is the source-review record for this document version, per the manual-source-review-v1 practice. It documents the provenance of the published fields and flow, records a mock-data test run of the field set, and states the current verification claim honestly.

Current claim

  • status: draft
  • verification.method: manual-source-review-v1
  • verification.lastVerifiedAt: 2026-07-01

The document was derived from and cross-checked against the official source below, but the full field-by-field comparison the practice requires (confirming every published field, type, requiredness, and constraint against the live form — manual-source-review-v1 → Procedure step 2) has not yet been independently re-verified by a second reviewer. It therefore remains draft, not verified. Consumers SHOULD treat this as an accurate, source-grounded structural reference, not a load-bearing description of the live process.

Why this candidate was advanced now

ca/ircc/eta-application was already a tier-1 candidate in discovery/catalog.json (opened during GOV-276's Visa vertical work alongside us/cbp/esta-application), with a note to "confirm the exact question set from the official IRCC 'Application Help Guide' PDF at authoring time." This cycle did exactly that.

Access constraint

The live application (eta-canada-part1.canada.ca and successor screens) is a multi-step web form intended to be filled out in a single timed session (the guide itself warns "your information can't be saved and you have limited time to complete the form"), not a static document suited to automated field-by-field scraping. Consistent with the approach already used for the sibling us/cbp/esta-application document (a JS-rendered application sourced from official DHS/CBP PIA PDFs instead), this document is sourced from IRCC's own Electronic Travel Authorization (eTA) Application Help Guide, a static PDF published directly on canada.ca that walks through the live form question-by-question.

Sources examined

Not a time-versioned (edition) form

An eTA application is a one-time filing per authorization (valid up to 5 years or until passport expiry), not filed "for" a recurring tax/award year — applying the GSP-0005 §2 coexistence test, there is no scenario where two editions of the eTA data model need to coexist for the same applicant. This document is therefore authored at the plain (non-edition) registry path, registry/ca/ircc/eta-application/1.0.0/. A future eTA question-set revision that changes the field set ships as a new version, not an edition.

Scope decisions

The guide covers three parts; this document models Part 2 only (an applicant completing the form for themselves):

  • Out of scope — Part 1 (parent/guardian or representative applying on behalf of someone else). A distinct flow with its own representative-category question and a second applicant-details section; not modeled here.
  • Out of scope — Part 2(A), lawful permanent residents of the United States. U.S. LPRs holding valid U.S. status are exempt from the eTA requirement entirely and answer a different question branch; not applicable to the general case this document models.
  • Out of scope — Israeli/Taiwanese/Romanian passport-holder eligibility questions. Additional eligibility sub-questions shown only to holders of these three specific passport types; a narrow edge case not modeled here.
  • Out of scope — Part 3 (post-submission). Confirmation emails and the eTA status-check tool are process facts, not applicant-entered fields.

What was confirmed against the source

  • Process identity. The eTA is Canada's air-travel counterpart to a visa waiver for visa-exempt foreign nationals (not required for U.S. citizens, and not required for land/sea entry — the guide's scope is air travel). CAD $7 fee, minutes-to-days approval, up to 5-year or passport-expiry validity. Confirmed against the guide's own summary and Part 3.
  • Travel document eligibility. The full seven-option document-type list, with the two ineligible options (refugee travel document; alien passport/travel document issued to non-citizens) explicitly excluded from the travelDocumentType enum per the guide's own eligibility notes, transcribed from Part 2's document selection.
  • Passport-name transcription rules. The guide's detailed rules for apostrophes, hyphens, name order via the machine-readable zone, filial markers ("bin"/"bint"/"ibn"/"ben"/"ould"), spousal markers ("épouse de"/"ep."), omitted titles/prefixes/honorifics, and the Roman-script-only constraint are all recorded in lastName's description (and referenced from firstName's), transcribed verbatim in substance from Part 2(B).
  • Full field set (Parts 2(B) through 2(I)). Passport details (including gender, per the guide's "Provide your date of birth, gender, country or territory and the city where you were born" instruction), UCI/previous document number, marital status (7 options), employment (15 occupation categories), contact and residential address (including the P.O.-box prohibition and the abbreviation prohibition on street names), preferred communication language, travel information, the four background questions (visa refusal/entry denial, criminal history, tuberculosis contact/diagnosis with its 3(a)/3(b) sub-branch, and the other-conditions question), and the typed-signature consent/declaration step — all transcribed field-by-field from the decoded PDF text.

Mock-data test run

Per the issue's phase-4 instruction to test-run the schema with valid mock data, a representative filled-out application was authored and checked field-by-field against every type/required/validation constraint in schema.json (string length, regex pattern, enum membership, integer minimum, date format, boolean type, and the conditional-field notes called out in field descriptions):

``json { "travelDocumentType": "passport_ordinary_regular", "passportIssuingCountry": "USA", "nationality": "American", "passportNumber": "512334789", "lastName": "Torres", "firstName": "Maria Alejandra", "dateOfBirth": "1990-03-14", "gender": "Female", "countryOfBirth": "United States", "cityOfBirth": "San Diego", "passportIssueDate": "2019-05-10", "passportExpiryDate": "2029-05-09", "uniqueClientIdentifierOrPreviousDocumentNumber": "NA", "maritalStatus": "never_married_single", "occupation": "sales_and_service", "employerOrSchoolName": "Riverside Coastal Goods LLC", "employerOrSchoolCountry": "United States", "employerOrSchoolCity": "San Diego", "employedOrEnrolledSinceYear": 2026, "email": "maria.torres@example.com", "residentialAddressStreetNumber": "482", "residentialAddressStreetName": "Harbor View Drive", "residentialAddressCity": "San Diego", "residentialAddressCountry": "United States", "residentialAddressProvinceState": "California", "residentialAddressPostalCode": "92101", "preferredCommunicationLanguage": "english", "knowsTravelDate": true, "plannedTravelDate": "2026-09-15", "hasBeenRefusedVisaOrDeniedEntry": false, "hasCriminalHistory": false, "hasTuberculosisContactOrDiagnosis": false, "medicalCondition": "none_of_the_above", "signatureFullName": "Maria Alejandra Torres" } ``

This models Maria Alejandra Torres — the same individual used in the sibling us/ca/sos/business-entity-llc-formation, us/ca/sos/corporation-formation-arts-gs, us/irs/employer-identification-number-ss4, us/ca/dmv/vehicle-title-transfer, and us/dos/lost-or-stolen-passport-ds64 mock scenarios — applying for herself for an upcoming trip to Canada, with no background-question flags raised. The scenario exercises the knowsTravelDate: trueplannedTravelDate pair while omitting the optional plannedDepartureTime, jobTitle, address-unit/line2/district fields, and all of the conditional background-question follow-ups (since every background question answered false/none_of_the_above, none of their dependent fields apply). A one-off Node script (node:fs + a hand-rolled per-field validator, not committed to the repo) confirmed every populated field satisfies its type and validation constraint and that no required field was left unset:

`` PASS — mock adult self-application eTA (no travel-history flags) satisfies the schema field-level constraints. ``

Both registry validators were run against the schema document itself (not the mock data) and pass:

``` $ node tools/validate.mjs registry/ca/ircc/eta-application/1.0.0/schema.json ok registry/ca/ircc/eta-application/1.0.0/schema.json

$ cd tools && node validate-ajv.mjs ../registry/ca/ircc/eta-application/1.0.0/schema.json ok registry/ca/ircc/eta-application/1.0.0/schema.json [v0.2] ```

What is NOT yet independently verified

  • The live form's exact screen-by-screen presentation (question order, exact wording, which fields appear on which screen) was not directly observed — the form requires an active, timed session and is not scrapable as static HTML. This document is sourced from IRCC's own Help Guide, which the guide itself states walks through the live form in order.
  • jobTitle's exact option list. The guide states job title is selected from a list "dependent on the chosen occupation," but does not enumerate that list itself, so jobTitle is modeled as free text rather than an enum — a reasonable flattening, not a verified option set.
  • gender's exact option list. The guide names this field (Part 2(B)) but, unlike marital status or occupation, does not enumerate its value options, so it is modeled as free text rather than an enum — a reasonable flattening, not a verified option set. Added in a review-gate fix-up commit (GOV-331) after independent re-review caught the omission.
  • Constraint patterns (passport issuing-country 3-letter code, email minimum length) are reasonable encodings, not citations of a published IRCC validation rule.
  • The three scoped-out paths (Part 1 representative/parent flow, Part 2(A) U.S. LPR exemption, and the Israeli/Taiwanese/Romanian eligibility sub-questions) are documented as out of scope but not modeled or verified field-by-field; see "Scope decisions" above.

Path to a verified claim (next step)

To advance this document to status: verified, a reviewer applies manual-source-review-v1 (Procedure step 2 field-by-field comparison, step 3 flow comparison) against the current IRCC eTA Application Help Guide PDF, ideally with an observed run of the live application's screens, confirms the sources are still authoritative, resolves any discrepancy by shipping a new schema version (immutability — VERSIONING §3, practice Procedure step 5), and records the outcome here plus sets status: verified with a current verification.lastVerifiedAt / nextReviewBy. This v1.0.0 record stays as the authoring provenance.

Re-verification

Per the practice's Cadence, nextReviewBy is set to 2027-01-01 (6 months). Re-check the source on or before that date, on any source.url change, or when IRCC publishes a new version of the eTA Application Help Guide.

View the raw record (VERIFICATION.md)

Version history

Independent and non-affiliated

GovSchema is an independent, open-source project. This reference is not produced, reviewed, or endorsed by Immigration, Refugees and Citizenship Canada or any government. The authoritative source is always the live government form and its official instructions.