Travel Tracker supports per-user API integrations for enhanced features. Each user configures their own API keys and credentials, ensuring privacy, security, and independent usage.
- Link photos from your Immich server to trips
- Automatic photo discovery based on dates
- Location-based photo matching
- Convert addresses to coordinates
- Display accommodations on maps
- Location-based features
- Real-time flight status updates
- Gate and terminal information
- Delay notifications
- Supported: United, American, Delta, Southwest
- Gmail and Outlook scanning
- Automatic flight detection
- Trip creation from emails
- Log in to Travel Tracker
- Go to Settings → API Integrations
- Configure the services you want to use
- Test each integration before saving
- Your Immich server URL
- An Immich API key
- Open your Immich web interface
- Click on your profile → Account Settings
- Navigate to API Keys
- Click Create New Key
- Give it a name (e.g., "Travel Tracker")
- Copy the generated API key
- Go to Settings → API Integrations
- Find the Immich Integration section
- Enter your details:
- Server URL:
http://your-server:2283/api- Examples:
- Local:
http://192.168.1.100:2283/api - Remote:
https://immich.yourdomain.com/api
- Local:
- Examples:
- API Key: Paste the key from step 1
- Server URL:
- Click Test Connection to verify
- If successful, click Save
Ask your administrator to enable Immich Integration for your account in the admin panel.
The test button will:
- ✅ Connect to your Immich server
- ✅ Verify API key is valid
- ✅ Check server version
- ✅ Confirm accessibility
When viewing a trip:
- Travel Tracker queries your Immich server
- Searches for photos taken during trip dates
- Filters by trip location (if available)
- Displays thumbnails in the trip view
- Links to full-resolution photos in Immich
Nothing! Geocoding is built-in and free.
Travel Tracker uses OpenStreetMap Nominatim for automatic geocoding - completely free with zero configuration required.
When you add an accommodation:
- Enter the address (e.g., "Hilton San Francisco, 333 O'Farrell St, San Francisco, CA")
- Travel Tracker automatically geocodes it using OpenStreetMap
- Gets back latitude and longitude
- Stores coordinates in the database
- (Future) Display location on maps
✅ Zero Configuration - Works out of the box
✅ No API Keys - Nothing to configure
✅ Completely Free - No usage limits or quotas
✅ Open Source - Community-maintained data
✅ Privacy Friendly - No tracking or data collection
✅ Worldwide Coverage - Global address database
OpenStreetMap is a free, editable map of the world created by volunteers. The Nominatim geocoding service is provided free of charge by the OpenStreetMap Foundation.
- Website: https://www.openstreetmap.org
- Geocoding Service: https://nominatim.openstreetmap.org
- Data: Community-maintained, open-source map data
OpenStreetMap has a fair-use policy of 1 request per second, which is automatically handled by Travel Tracker. Since users add accommodations manually one at a time, this limit is never an issue.
OpenStreetMap geocoding is very accurate for most addresses worldwide:
- Hotels: Excellent accuracy
- Street addresses: Very good accuracy
- Landmarks: Excellent coverage
- Remote locations: Good coverage (improving constantly)
For personal travel tracking, OpenStreetMap provides more than sufficient accuracy.
- Direct API partnerships with airlines
- API keys from airline developer programs
- Business partnerships with airlines
- API access agreements
- Developer program enrollment
- May have costs associated
These integrations are for users who already have airline API access through their organizations.
- United Airlines
- American Airlines
- Delta Air Lines
- Southwest Airlines
Each airline has its own developer program:
- Visit: United Developer Portal
- Apply for API access
- Enroll in developer program
- Visit: American Airlines Developer Program
- Request API credentials
- Complete partnership application
- Contact Delta Technology Solutions
- Request developer access
- Complete API agreement
- Contact Southwest Developer Relations
- Apply for API partnership
- Go to Settings → API Integrations
- Find the Airline APIs section
- Enter API keys for airlines you have access to
- Test each airline individually
- Click Save All
The test button will:
- ✅ Validate API key format
⚠️ Note: Full validation requires active API partnership
For flights with configured airline APIs:
- Click "Update Status" on a flight
- Travel Tracker queries the airline API
- Gets real-time flight information
- Updates: status, gate, terminal, delays
- Displays in trip view
If you don't have airline API access:
- ✅ Email scanning still works
- ✅ Manual flight entry works
- ❌ Real-time status updates unavailable
- Alternative: Check airline websites/apps
Covered in detail in EMAIL_INTEGRATION_GUIDE.md
- Settings → OAuth Apps
- Create Google Cloud / Azure app
- Configure OAuth credentials
- Settings → Email Accounts
- Connect Gmail or Outlook
- Email scanning starts automatically
- ✅ All API keys stored encrypted in database
- ✅ Only you can access your credentials
- ✅ Admin cannot see your API keys
- ✅ Keys are never shared between users
- ✅ You can remove keys anytime
- Each user has independent rate limits
- Your usage doesn't affect other users
- No shared quotas
-
Use API Key Restrictions
- Restrict Google Maps key to Geocoding API only
- Restrict by IP if possible
- Set usage quotas
-
Monitor Usage
- Check Google Cloud Console for API usage
- Watch for unexpected spikes
- Set up billing alerts
-
Keep Keys Secure
- Never share your API keys
- Don't commit keys to public repos
- Rotate keys periodically
-
Test Before Deploying
- Always use test buttons
- Verify connectivity
- Confirm permissions
Symptoms: "Connection timeout" or "Connection error"
Solutions:
- ✅ Check server URL is correct (include
/api) - ✅ Verify Immich server is accessible from Travel Tracker
- ✅ Confirm API key is valid in Immich
- ✅ Check firewall/network settings
- ✅ Try with
http://ifhttps://fails (local networks)
Symptoms: No trips being created automatically
Solutions:
- ✅ Check OAuth apps configured in OAuth Apps
- ✅ Verify email connected in Email Accounts
- ✅ Confirm admin enabled email integration
- ✅ Check "Auto scan emails" in Preferences
- ✅ Verify flight confirmation emails in inbox
Symptoms: "Failed to update flight status"
Solutions:
- ✅ Verify you have API access with that airline
- ✅ Check API key is correct and active
- ✅ Confirm flight number and date are valid
- ✅ Try again later (API may be temporarily down)
Before considering an integration complete:
- Test connection succeeds
- Server version displayed
- Photos appear in trip view
- Thumbnails load correctly
- Can click through to full photos
- Can add accommodation with address
- Coordinates are automatically populated
- Works without any configuration
- (Future) Map displays location
- API key format validated
- Can update flight status
- Status, gate, terminal update
- Delays are reflected
- OAuth apps configured
- Email account connected
- Test email creates trip
- Flight details extracted correctly
- Trip marked as auto-detected
| Feature | Requires API | Admin Enable | User Config | Test Available |
|---|---|---|---|---|
| Immich Photos | Yes | Yes | Yes | ✅ |
| Geocoding (OpenStreetMap) | No | No | No | ✅ Built-in |
| Airline Status | Yes | No | Yes | |
| Gmail Scan | Yes (OAuth) | Yes | Yes | Via Connection |
| Outlook Scan | Yes (OAuth) | Yes | Yes | Via Connection |
Legend:
- Admin Enable: Admin must enable feature for user
- User Config: User must configure their own credentials
- Test Available: ✅ Full test |
⚠️ Format validation only
Q: Do I need all these integrations?
A: No! Only configure the ones you want to use.
Q: Can I use the same API keys as other users?
A: No, each user must configure their own for security and privacy.
Q: What if I don't have airline API access?
A: You can still use email scanning and manual entry. Real-time updates just won't work.
Q: Are these free?
A: Immich is self-hosted (free). Google Maps has free tier. Airline APIs typically require partnerships.
Q: Can admin see my API keys?
A: No, keys are encrypted and only accessible to you.
Q: What happens if I remove an integration?
A: The feature stops working for you. Existing data is preserved.
Q: Can I change API keys later?
A: Yes, update them anytime in API Integrations.
Q: How do I know if it's working?
A: Use the test buttons and check the Settings dashboard for status.
If you encounter issues:
- Check this guide for your specific integration
- Use test buttons to diagnose problems
- Review error messages carefully
- Check Settings dashboard for integration status
- Verify admin settings (for admin-controlled features)
- Contact your administrator for feature access issues
After configuring your integrations:
- ✅ Create your first trip
- ✅ Add flights and accommodations
- ✅ Let email scanning work automatically
- ✅ Check for linked Immich photos
- ✅ Update flight status in real-time
Happy travels with fully-integrated trip tracking! 🌍