What it does
Encrypted storage for passports, visas, insurance policies, tickets, receipts. Per-trip organisation with category tagging and expiry tracking.
Where to find it
Route: /trip/$tripId/documents
How to use it
- Open trip → Documents tab
- Upload file (PDF, image) — stored in
documentsbucket - Tag category (passport, visa, insurance, ticket, other), subcategory, expiry date, issued country, notes
- Free plan: 3 docs/trip. Paid: unlimited.
Admin controls
- Per-user storage credit grants: Admin → Storage
- Trigger
check_document_limitenforces free-plan cap at DB level
Offline
Document metadata cached. File blobs cached on first view via trip-prewarm.ts → instant offline access.
Related files
src/routes/trip.$tripId.documents.tsx, src/lib/document-categories.ts, src/lib/offline-db.ts