Travel Hub Changelog
v4.0.0 — 2026-04-05
Trip Lifecycle + Multi-Airline + Parser Fix
- Trip lifecycle management: New trip entry form at /newtrip with destination, dates, travelers (Cinny for MCO), DVC resort selection, and flight filters
- Trip state machine: monitoring -> booked -> pre_travel -> active -> completed, with auto-transitions and cancel from any state
- Schema migration: 31-column trips table with origin_airports JSON, per-trip airline filter, DVC fields, booking details
- SNA multi-airline: SNA routes now show Delta, American, and United first class. MCO stays Delta-only.
- ExpertFlyer parser fix: Parser updated to match actual HTML email format. 1,141 emails reprocessed, 616 I/Z companion cert eligible flights identified.
- Companion Cat integrity: Cat badge and cert math now gated on confirmed ExpertFlyer I/Z data. "Awaiting ExpertFlyer" shown when data unavailable.
- iMessage alerts: Companion cert math only included when I/Z is confirmed by ExpertFlyer.
v3.0.0 — 2026-04-05
Proxmox Migration + First Class Overhaul
- Proxmox LXC migration: Moved from Daedalus Docker to LXC 106 on Agamemnon (192.168.10.47)
- First class only: All economy/main cabin references removed. travel_class=4 on all queries.
- Delta only (MCO): include_airlines=DL on MCO queries
- Companion cert I/Z only: Removed L/U/T/X/V main cabin logic
- Deal score model: Heuristic from day 1 with route baselines, purchase window, seasonal, day-of-week adjustments. Auto-transitions to data-driven at 15+ data points.
- MCO time filters: Outbound arrive by 2 PM EST, SNA unfiltered
- Dashboard: Airline logos, flight times, top ranked flights, Companion Cat priority algorithm
- Price insights: Google Flights typical range labeled as all-airlines estimate
v2.0.0 — 2026-04-04
Email Polling + Companion Cert
- M365 Graph API email polling for travel-alerts@netgato.com
- ExpertFlyer and AwardFares email parsers
- Companion cert eligibility detection
- Dashboard companion cert section
v1.0.0 — 2026-04-04
Initial Release
- FastAPI + SQLite + Jinja2 dashboard
- SerpApi Google Flights price monitoring (2x/day)
- 4 trip watches: GRB/ATW to MCO and SNA
- Price history tracking and alert system
- BlueBubbles iMessage notifications
- SerpApi budget tracking (250/month)
- Pangolin tunnel at travel.netgato.com
v4.1.0 — 2026-04-05
Post-Purchase Monitoring + Booking Email Intake + Documentation
- Price drop monitoring: Booked trips checked 1x/day for rebooking eCredit opportunities ($50+ threshold)
- FlightAware integration: AeroAPI connected for flight status queries
- Check-in reminders: T-24h iMessage alerts for outbound and return legs
- Trip closeout: Auto-notification with subscription pause prompt when no active trips
- Booking email intake: Forward airline confirmations to travel-alerts@netgato.com for auto-parsing
- Email classifier: Recognizes ExpertFlyer, AwardFares, and booking confirmations (Delta/AA/UA)
- Duplicate detection: Same confirmation code forwarded twice won't create duplicate trips
- Documentation system: User guide at /guide, technical guide at /guide/technical, service cards, changelog
- Nav links: Dashboard header + footer link to docs and changelog
v4.2.0 — 2026-04-05
Flight Intelligence Dashboard + FlightAware Webhooks
- Flight Intelligence page: /trips/{id}/intelligence with route map (Leaflet.js), itinerary timeline, weather, lounge finder, companion cert status
- FlightAware webhooks: POST /api/flightaware/webhook receives gate changes, delays, cancellations, diversions → iMessage alerts
- FlightAware alert registration: register_flightaware_alert() for booked flights
- Weather integration: OpenWeatherMap API for destination weather at each airport
- Airport lounges: Static JSON for Delta Sky Clubs at MSP, DTW, ATL, MCO
- Multi-hub routing: Airport coordinates for 14 airports, map renders actual routing
- Dashboard link: "Flight Intelligence" link on booked trip cards
v4.3.0 — 2026-04-05
Multi-Hub Routing + One-Stop Max + Mixed Cabin + Exact Dates + Already Purchased
- Hub-agnostic routing: Removed MSP-only assumption. ExpertFlyer parser accepts fare class data from ANY Delta hub (ATL, DTW, MSP, SLC, etc.)
- One-stop maximum: All itineraries with 2+ stops filtered out before storage/display (global rule)
- Mixed-cabin detection: Flags itineraries where not all legs are first class. Orange warning banner on affected cards.
- Exact dates default: Schema and form default to exact dates (was flexible ±3). Flex is opt-in toggle.
- Already Purchased: New checkbox on /newtrip form — sets status to Booked, skips price monitoring, enables post-purchase tracking immediately
- Companion cert strict: All segments in a direction must have same fare class for companion cert eligibility