Visa
The medical e-Visa engine: checklist, timeline and corridor rules.
| Area | Patient portal |
| Route | /portal/visa (exact match) |
| Roles | Patient |
| Doc key | portal-visa |
<!-- GENERATED FILE. Do not edit by hand. Source: components/help/content/. Run npm run gen:docs. -->
Purpose & Business Context
Visa is the flagship immigration engine. Cross-border treatment lives or dies on getting the right visa in time, and this screen turns a confusing government process into a guided, checkable flow with a live status, a document checklist and a corridor-specific rules engine.
Commercially it removes the single biggest source of trip cancellation. By deriving the checklist from the shared documents state, the screen also creates a tight loop: uploading the right document on the Documents screen unlocks Submit application here, pulling the patient through to a revenue-protecting milestone.
Screen Overview
A two-column layout. The left column holds the visa hero (status, reference, fee, processing and validity) and the document checklist with the submit gate. The right column holds the application timeline and the corridor rules engine.
For the demo patient this is an India Medical e-Visa on the Oman to India corridor, triple entry, reference MEV-IN-7741920. Submitting flips the hero to Granted and completes the timeline.
Controls & Components
- Visa hero: gradient card with the status badge (In review or Granted), visa name, corridor, reference number, and Fee / Processing / Validity tiles.
- Document checklist: each required item with a done or pending state; pending items carry an Upload button that routes to the Documents wallet.
- Submit gate: a Submit application button that is disabled until every checklist item is verified; when blocked it reads 'Upload <n> more to submit'.
- Granted banner: replaces the submit button once the e-Visa is granted.
- Application timeline: a vertical stepper from Application started through e-Visa granted, with the active step ringed.
- Corridor rules engine: the active corridor highlighted plus other corridors, each showing visa type and processing window.
Field Definitions
- Status: The application state: In review (amber) or Granted (green). Granted is reached by submitting once the checklist is complete.
- REF: The government medical reference number (MEV-IN-7741920) shown in the hero.
- Fee: The visa fee for this corridor (e.g. $80).
- Processing: The expected processing window (e.g. 3 to 5 working days).
- Validity: How long the visa is valid (60 days), with triple entry for this corridor.
- Checklist item: A required document. Items linked to a document derive 'done' from that document being verified; otherwise they use a static flag.
- Corridor: A source-to-destination route (Oman to India) with its visa type and processing time. Country Packs keep each corridor's rules current.
User Actions & Workflows
- Check the hero for your current visa status, reference and key facts.
- Work down the document checklist; any item showing Upload still needs a verified document.
- Press Upload on a pending item to jump to the Documents wallet and upload it.
- Return to Visa once documents are verified; the matching checklist items now read Verified.
- When the badge shows '0 remaining' and all items are verified, press Submit application; the hero flips to Granted and the timeline completes.
Navigation & Relationships
Reached from: the sidebar Visa item and the Journey 'e-Visa' status tile.
Leads to: the Documents wallet (/portal/docs) from every pending item's Upload button.
Continues into: Travel & Stay (/portal/travel). Once the visa is in hand, the same corridor drives flight, accommodation and transfer planning.
Coupled with: Documents through shared state. A checklist item's docId links it to a document, so verifying that document on the Documents screen marks the item done here and can unlock submission.
Business Rules & Constraints
- Submit application is disabled until every checklist item is verified.
- Checklist items that link a document derive their done-ness from that document's verified status, not a manual toggle.
- Submitting is one-way in the prototype: the hero and timeline move to Granted and stay there.
- Checklist validation is described as auto-validated against the corridor's visa rules (Oman to India).
- Patient-only screen within the portal.
Data Dependencies
Reads visa (hero facts, checklist, timeline) and corridors from lib/data, and the live docs plus visaSubmitted flag from PortalProvider. Checklist completion is computed by matching each item's docId against verified documents.
visa: reference, fee, checklist, timelinecorridors: corridor rules, active one highlighteddocs(PortalProvider): drives checklist completionvisaSubmitted(PortalProvider): flips hero, timeline and the submit gate
Error Handling & Edge Cases
- Incomplete checklist: the submit button is disabled and labelled 'Upload <n> more to submit'; pressing it (when reachable) shows 'Complete all documents first'.
- Submitting when complete shows a success toast and an inline 'e-Visa granted, added to your wallet' banner.
- Uploading a linked document elsewhere updates this screen automatically on return, with no manual refresh.
- Mobile: the columns stack so the hero and checklist remain at the top.
User Roles & Permissions
- Patient: Can view status, upload documents (via Documents), and submit once complete. Cannot alter the corridor rules.
- Visa desk / immigration (out of scope here): Processes the submitted application on the government side; the patient sees status and timeline updates.
Related Features & Functionalities
The Documents wallet (the source of checklist completion), the Journey e-Visa tile, the Messages 'Visa Desk' thread, and the Country-Pack / corridor model that also informs payments and language. The corridor card previews other supported routes.
Flow & Screenshots
flowchart LR Visa[Visa] --> Hero[Status hero] Visa --> Checklist[Document checklist] Checklist -->|Upload pending| Docs[Documents wallet] Docs -->|verified| Checklist Checklist -->|all verified| Submit[Submit application] Submit --> Granted[Granted + timeline complete] Visa --> Corridor[Corridor rules engine]
Guided Walkthrough Steps
The in-app walkthrough for this screen has 6 steps (auto-advances every 5 seconds; Prev / Pause / Next; click outside to exit):
- Visa (
[data-tour="nav.visa"])
Your medical e-Visa, managed end to end. You are on the Visa tab now.
- Your visa at a glance (
[data-tour="visa.hero"])
Your application status, reference number, fee, processing time and validity, all in one place.
- Document checklist (
[data-tour="visa.checklist"])
Every document the visa needs. Items still showing Upload are not yet verified; the rest read Verified.
- Submit when complete (
[data-tour="visa.submit"])
This button unlocks only when every document is verified. Uploading on the Documents screen is what completes the checklist here.
- Application timeline (
[data-tour="visa.timeline"])
Track your application from started to granted. The ringed step is where you are right now.
- Corridor rules engine (
[data-tour="visa.corridor"])
Your Oman to India corridor is highlighted, with the visa type and processing window. Country Packs keep every corridor's rules current.