Changelog

All updates to the Egypt 2026 trip planner.

v0.17.1

2026-06-09

Changed

  • /proposals is now organized by agency (readability fix) — instead of one flat list of 7 offers, each agency gets its own clear section (serif header + gold underline + offer count + last-heard date), with its proposals stacked underneath. Memphis's 3 offers (DWA / Royal Lily / Sonesta) now sit together. The At-a-Glance comparison table is grouped the same way (agency header rows). Agencies are ordered most-actionable-first (a live offer beats a rejected one), then by most recent reply; within an agency, live offers come before rejected and cheaper before pricier.

v0.17.0

2026-06-08

Added

  • Egypt Tours Portal quote (Reem) on /proposals + /options — a 3N group cruise Aswan→Luxor (Fri Oct 23 → Mon Oct 26), $7,260 for the 6 ($1,320/adult ×5 + $660 child ×1 ≈ €6,700, "no hidden charges"), trip total ~€18K (~€3K over cap). New cruise card "Egypt Tours Portal — 5★ Group Cruise" in the at-a-glance table.

Note — the ETP reveal

  • MS Tulip, Sonesta St George and the dahabiya are NOT in ETP's contracted fleet — Reem says they're special-request only at "significantly higher rates". The three boats Emmanuel asked ETP to quote are off-contract; what ETP actually contracts is a generic group cruise on an UNNAMED boat ("Acamar / Jaz Regent / Mövenpick Lily / Lotus / Royal Princess Amira or similar"), English guide only, shared tours, beverages incl. drinking water excluded, no WiFi. Flagged on the Tulip / Sonesta / ETP-dahabiya cards.
  • Verdict: ties Memphis DWA on price but loses on every other axis (DWA = named boutique boat, French guide, all fees included) and isn't the private dahabiya experience wanted. Action logged: ask Reem for the special-request dahabiya price + a named boat + a French guide.

Changed

  • /agencies: Egypt Tours Portal status awaiting → replied; Reem's quote logged; contact now carries Reem's direct WhatsApp +20 100 174 4929 / [email protected].
  • Dashboard boat next-action updated: quotes now IN from Memphis + ETP (Gréements écarté); pending dahabiya prices from L'Égypte Autrement + Baltayan.

v0.16.1

2026-06-08

Added

  • Proposals now host documents + photos — Les Gréements du Nil quote added (Sandal SOBEK, 2 nights Aswan→Esna, Fri Oct 23, €2,400 for 6 — cheapest cruise yet, €400/pp, trip total ~€13,700 ✓ under cap). Their programme PDF, cancellation-policy PDF, and 8 Sobek photos are hosted on the site and rendered inline (PDF buttons + photo gallery) on /proposals. Schema extended with attachments[] + photos[] so any future proposal can carry its docs.

Note

  • Gréements caveats logged: 2 nights only, NO guide aboard (only Kom-Ombo + Edfou), no Philae/Aswan sites, sandal towed not sailed, private-vs-shared cabins TBC.

v0.16.0

2026-06-07

Added

  • /proposals page + nav tab — every agency offer pasted raw to Claude lands here structured: at-a-glance table (price, fits-frame, trip total vs €15K cap) + detail cards (included/excluded, verdict, raw text). First 5 entries: Memphis ×3 (Dwa €6,699 — +€729 vs Feb, negotiate; Lily + Sonesta rejected on price), L'Égypte Autrement (Fri→Sun Aswan→Luxor rotation fits — quote pending), Baltayan (dahabeya SAMARAH Luxor→Aswan Oct 24-28 — route inversion analyzed, price pending).

v0.15.3

2026-06-07

Changed

  • Accommodations cards now show the total per stay (2 rooms × stay nights) under the per-night rate — one glance = the real cost of each hotel for the family.

v0.15.2

2026-06-07

Added

  • 3 more Aswan hotel candidates (Booking URLs verified): Kato Dool Nubian lodge (#1 B&B in Aswan, infinity pool — the 'memory' play, beats the Mövenpick on experience alone), Pyramisa Isis Island (faded island fallback, TripAdvisor 3.7), Citymax Corniche (cheapest + across from the cruise dock, but pool CLOSED until 2027). Verdict: Mövenpick Family Villa keeps the pick on the full package.

v0.15.1

2026-06-07

Changed

  • Accommodations: explicit booking dates per stop — gold check-in/check-out banner on each city tab (Cairo Sun 18→Wed 21 · Aswan Wed 21→Fri 23 · Luxor Mon 26→Wed 28 · Red Sea Wed 28→Sat 31) so booking on Booking.com is copy-paste easy.

v0.15.0

2026-06-07

Added

  • /flights page + nav tab — the chosen basket front and center: 3 legs with verified prices and direct airline booking buttons, the 4 before-you-pay reflexes (passport names, Transavia bags online, EGP card, 3 separate bookings), and the backups below.

Changed

  • All hotel links now point to Booking.com (Emmanuel's preference: free-cancellation workflow). Verified exact pages where possible (incl. the surprising-but-correct sohitel-legend-old-cataract slug); Barceló + Le Méridien use Booking search deep-links (exact slugs blocked from verification). Fun fact: the Le Méridien Booking listing is currently titled "Test, Cairo" — consistent with the construction-status warning.

v0.14.1

2026-06-07

Added

  • 3 more Cairo hotel candidates (verified live): Barceló Cairo Pyramids (the value find — ~€420-570/3 nights, heated pool, modern rooms), Le Méridien Pyramids (best location, walkable to GEM, but ⚠️ possible construction/closure — verify with Marriott), Pyramids View Inn (Sphinx-view rooftop wildcard — fun for 1 night, wrong as the base). Reality check logged: the marquee new GEM hotels (Four Seasons etc.) open 2028+, nothing resort-grade new is bookable for Oct 2026. Verdict: Steigenberger keeps the pick.

v0.14.0

2026-06-07

Decided

  • Flight basket = option n°1, booking imminent (verified live on airline sites): Transavia TO 8042 DIRECT Lyon→Cairo Sun Oct 18 €2,370 (€395/pp — the flight REAPPEARED on sale Jun 7 after seeming dead) + Air Cairo SM 90 Wed Oct 21 10:20 ECO FLEX ~€760 (2 free bags/pp) + Transavia TO 8067 direct Hurghada→Lyon Sat Oct 31 €1,884 (€314/pp). Total €5,014 + Transavia bags ~€400. AJet + Geneva downgraded to backups.
  • Hotels picked (live research Jun 7): Cairo = Steigenberger Pyramids ×3 nights (2 Deluxe pyramid-view, ~€870-1,000; backups JAZ 8.9-rated, Mena House hybrid); Aswan = Mövenpick FAMILY VILLA 110m² sleeps all 6 (~€650-930, direct quote needed) + Old Cataract Legendary Afternoon Tea Thu Oct 22 ($60/pp) instead of the €1,600 stay.

Changed

  • flights.json rebuilt around the chosen basket; budget Flights €5,400 (incl. bags), Aswan €800; boat-scenario table recomputed (fixed base €11,300: Tulip €14.2K ✓ / Storia €15.2K ⚠️ / Sonesta €16.6K ✗); scenarios + timeline day 1 & 3 updated; accommodations Cairo/Aswan notes now carry the picks with verified prices.

v0.13.2

2026-06-07

Decided

  • 4 quote requests SENT (verified in Gmail): Egypt Tours Portal (Tulip/Sonesta/dahabiya + à-la-carte extras), Memphis Tours (DWA re-quote, in the February thread), Les Gréements du Nil (private charter, first contact), L'Égypte Autrement / Paul Bedros ("de la part de Bruneau"). All logged in /agencies with follow-up set for June 12. Claude Baltayan WhatsApp still pending.

v0.13.1

2026-06-07

Added

  • Budget-by-boat comparison table on /budget — the 5 boat scenarios (Tulip €13,008 / Storia €14,008 / Sonesta €15,408 / DWA €16,078 / charter €20,108) against the €15,000 cap, with per-person cost and a collapsible breakdown of the €10,108 fixed base (real verified prices).

Changed

  • Cairo budget category: 2 → 3 nights (€900 → €1,200) — the 14-day frame fixed June 7 has 3 Cairo nights.

v0.13.0

2026-06-07

Decided

  • Dates FIXED: 14 days, Oct 18 – 31 — and outbound = AJet from Lyon (via Istanbul-SAW, Sun Oct 18, 13:40→23:30, €1,634 for 6). "Lyon c'est plus simple." The Sunday-only AJet schedule settles the 12-vs-14-day question for free. Flights total drops €5,255 → €4,308 (−€947 vs Geneva).
  • Rejected after evaluation: Istanbul overnight stopover (arrive 18:45, leave 13:00 = ~4h effective sightseeing — "beaucoup trop court pour visiter"); LOT via Warsaw €1,171 (9h05 layover + 3:55 AM arrival); Geneva direct (kept as backup — car logistics, +€947).

Changed

  • Dashboard: "The Dates" decision moved from Open to Locked In — 2 open decisions remain (Boat, Red Sea spot).
  • flights.json: AJet = CHOSEN, Geneva = backup/pending; scenarios.json: 14-day frame marked CHOSEN, 12-day not retained; budget Flights €4,308; nav label "Oct 18 – 31"; timeline Day 1 + planning updated; flight-checker legs (script + API): LYS Oct 18 / CAI→ASW Oct 21 / HRG→LYS Oct 31.

v0.12.0

2026-06-07

Removed

  • Password protection removed entirely — middleware, /login page, /api/auth, family/admin access tiers, logout buttons. The cookie was unsigned (anyone could set egypt-access=admin and walk in — confirmed during the June 6 design audit), so it was friction without security. The site is now open: all pages visible to anyone with the URL.

Changed

  • /admin is now /admin "Tools" — keeps the flight price checker and a simple site map; the access-level explainer, password display, and logout are gone.
  • Nav shows all 11 pages for everyone; footer links to Changelog + Tools.
  • /api/flights no longer requires the admin cookie (note: it spends SerpApi quota — 250 free searches/month).
  • FAMILY_PASSWORD / ADMIN_PASSWORD Railway env vars are now unused (left in place, harmless).

v0.11.1

2026-06-06

Added

  • Dashboard "Open Decisions" board — the dashboard now opens on the 3 decisions that drive everything (Boat / Dates / Red Sea spot), each with its summary, deadline, and a direct link. A turquoise "Locked In" block lists what's already decided (flights, cruise day, travelers). Replaces the meaningless "16 shortlisted" counter with "3 open · Boat · Dates · Red Sea".
  • Cruise "At a Glance" table on /options — all 11 boats in one sortable view (price for 6, departure day, pool, verdict, status) above the detail cards. No more reading 7 screens of cards to compare.

Changed

  • Cruise entries carry a compact glance field (day / pool / verdict) for the comparison table.
  • Dashboard departure label: "Geneva (via Lyon)".

Context

    v0.11.0

    2026-06-06

    Added

    • Full cruise analysis (4 parallel research streams, June 6): cruises.json rebuilt with 11 options across 3 categories — motor ships (MS Tulip, Sonesta St George, DWA, Royal Lily, Minerva), dahabiyas (Storia, Gréements du Nil charter, L'Égypte Autrement, ETP unnamed, Nour El Nil), and benchmarks (SS Sudan). Key finding: all serious candidates depart Aswan on Friday → the flight frame survives the cruise decision.
    • 3 new agency contacts from the HEC Entrepreneurs list (Gmail PDFs, June 6): Les Gréements du Nil (French-run dahabiyas, Luxor), L'Égypte Autrement / Paul Bedros (recommended 2×, "les yeux fermés"), Claude Baltayan (recommended 2× over 4 years, WhatsApp-only fixer).
    • Cairo + Red Sea hotels added to options (Steigenberger Pyramids value pick, Mövenpick El Quseir).

    Changed

    • Hotel prices updated to verified June 6 levels across accommodations.json + hotels.json: Mena House €450/room (October = its priciest month, was €180), Mövenpick Aswan €175, Old Cataract €580 (Mandarin Oriental verified, Palace Wing only), Hilton Luxor €175, Mövenpick El Quseir €140, Hilton Nubian €120, Brayka Bay €105.
    • Budget refreshed: Cairo €600→€900, Aswan €600→€700, Luxor €600→€750, Red Sea €800→€1,100. Cruise note now lists the real Friday-Oct-23 price ladder (€2.9K Tulip → €6.6K Royal Lily); cruise = the budget lever.
    • Red Sea = 3 nights in accommodations (was 2).
    • Sonesta St George upgraded to shortlisted — only boat with a publicly confirmed Oct 23–26, 2026 sailing; best kids' pool (shallow extension + Jacuzzi).
    • Steigenberger Minerva + SS Sudan rejected (Monday-only departures / €14–25K price).

    Fixed

    • Winter Palace Luxor marked CLOSED — official Mandarin Oriental press release: full restoration early 2026 → July 2027. It was listed as a bookable "pending" option (stale data; some booking platforms still list it).
    • Old Cataract Nile Wing closure flagged (May 2026 – Feb 2027): Palace Wing only in October — book the splurge night early.

    v0.10.0

    2026-06-06

    Added

    • Scenarios page (/scenarios, admin) — side-by-side comparison of the two viable date frames (12 days Oct 20–31 vs 14 days Oct 18–31), the three schedule anchors, the full flight matrix for the Toussaint window (real Google Flights prices, June 6), and a Fixed/Open decision board.
    • Geneva → Cairo option in flights data — EgyptAir MS 772 direct (€2,581 for 6), chosen as the outbound after verification killed the original plan.

    Changed

    • Trip dates re-anchored: Oct 18/20 – 31 (was Oct 17–29). The cruise departs Fridays only (Oct 23) and the only direct return to Lyon is Saturday Oct 31 (Transavia TO 8067, €1,885). Nav, layout metadata, trip.json updated.
    • Flights data rebuilt with real prices (June 6 verification): Geneva→Cairo €2,581 (chosen), Lyon→Cairo via Istanbul €1,634 (backup), Cairo→Aswan €789, Hurghada→Lyon €1,885. Budget Flights category €3,300 → €5,255.
    • Red Sea budget 2 → 3 nights (€500 → €800) — both frames end Wed Oct 28 → Sat Oct 31.
    • Timeline planning milestones updated to booking phase; itinerary Day 1/Day 12 flight references corrected.
    • Flight checker legs updated (script + admin API): GVA→CAI Oct 20, CAI→ASW Oct 22, HRG→LYS Oct 31.

    Fixed

    • Planned return date was impossible — the Oct 17–29 plan returned on Thursday Oct 29, a day with NO direct Hurghada→Lyon flight (directs fly Saturday only). Found during June 6 flight verification (BUG-003).
    • Transavia Lyon→Cairo assumption was dead — the seasonal direct's last 2026 flight is Sunday Oct 11, one week before the holidays. The March risk note was right; verified on every October Sunday.

    v0.9.1

    2026-03-15

    Changed

    • All content translated to English — no exceptions. French removed from: guide.json (Cairo section), red-sea.json (all 5 spots), flights.json (all 4 legs), timeline.json (all milestones + 12-day itinerary), budget.json (all 9 categories), trip.json (next actions), TripMap component (all 9 stops + legend), Red Sea page (labels), Changelog page (subtitle), Todo page (booking checklist updated to Lyon flights).
    • Map and The Trip synced — TripMap stops now match guide.json content (same descriptions, same day numbers, same highlights).
    • Todo checklist fixed — flights updated from CDG/Paris to Lyon.

    v0.9.0

    2026-03-15

    Added

    • Interactive animated map (/map) — Leaflet map of the entire 12-day route.
    • Animated cruise route draws itself on load (gold line, 3s animation).
    • 9 clickable stops: Lyon, Cairo, Aswan, Kom Ombo, Edfu, Esna, Luxor, Red Sea, Hurghada.
    • Each stop: color-coded marker, fly-to animation on click, detail panel with description + highlight.
    • Route segments styled by type: dashed (flights), solid gold (cruise), dotted (road transfer).
    • Horizontal scrollable stop selector pills below the map.
    • Legend showing route types.
    • CARTO Light basemap (clean, matches art deco theme).

    v0.8.1

    2026-03-15

    Fixed

    • Nav tabs missing after login — cookie was httpOnly: true so document.cookie couldn't read the access level. Nav defaulted to "public" (zero tabs). Changed to httpOnly: false.
    • Standalone mode start commandnext start doesn't work with output: standalone. Changed to node .next/standalone/server.js. Build script now copies public/ and .next/static/ into standalone directory.
    • Railway CLI deploys — service wasn't connected to GitHub, so git push didn't trigger deploys. Added railway up to deploy flow.

    v0.8.0

    2026-03-14

    Added

    • Password protection with two access levels: family (limited) and admin (full).
    • Login page (/login) — clean art deco login with password field.
    • Admin page (/admin) — access level overview, page access map, password config info, logout button.
    • Footer with Changelog link, Admin link (admin only), access level indicator, and Logout button.
    • Next.js middleware (src/middleware.ts) — cookie-based auth, redirects to /login if unauthorized.
    • API route (/api/auth) — POST login/logout, GET current level, PUT admin info.
    • Access control on Nav — family users see: Dashboard, The Trip, Red Sea, Budget, Prep. Admin users see all pages.
    • Environment variables: FAMILY_PASSWORD (default: egypt2026), ADMIN_PASSWORD (default: admin2026).

    Changed

    • Changelog moved from nav to footer — cleaner nav, changelog still accessible.
    • Nav now dynamically filters tabs based on user's access level.
    • Layout includes Footer component.

    Removed

    • Changelog tab from main navigation.

    v0.7.0

    2026-03-14

    Added

    • Changelog page (/changelog) — reads CHANGELOG.md at build time, renders as styled cards with version headers, color-coded sections (Added/Changed/Removed/Fixed).
    • Custom domain: egypt-2026.com (Cloudflare DNS → Railway CNAME).

    Changed

    • Nav: added Changelog tab.

    v0.6.0

    2026-03-14

    Added

    • Flight price checker (scripts/check-flights.ts) — Kiwi Tequila API integration for real-time flight prices.
    • npm run check-flights — display top 5 cheapest options per leg (Lyon→Cairo, Cairo→Aswan, Hurghada→Lyon).
    • npm run check-flights:update — auto-updates data/options/flights.json + data/budget.json with real prices.
    • Searches for 6 pax (2 adults + 4 children), EUR currency, max 1 stopover.
    • Backup flight added: Lyon → Istanbul → Cairo (Turkish Airlines, daily).
    • Flight data in flights.json rewritten for Lyon-based 3-leg plan with detailed schedules.

    Changed

    • Flight budget updated from estimates to API-ready: ~€3,300 for 6 pax (3 legs).
    • package.json: added tsx dev dependency + check-flights / check-flights:update scripts.

    v0.5.0

    2026-03-14

    Added

    • Red Sea comparison page (/red-sea) — 5 spots compared: Hurghada, Soma Bay, Safaga, El Quseir, Marsa Alam. Photo headers, snorkeling/authenticity/family ratings, pros/cons, hotels.
    • Confirmed 12-day itinerary: Le Caire → Aswan → Cruise → Luxor → Red Sea → Lyon.
    • Flight plan from Lyon: Transavia LYS→CAI direct (dim 4h10), EgyptAir CAI→ASW domestic (1h25), easyJet/Transavia HRG→LYS direct retour (4h40). Backup via Istanbul.
    • Pyramids interior access guide: 300 tickets/jour, egymonuments.com, ~€28/pers, demander via operator.
    • Cairo confirmed as Day 1-2: Pyramides de Giza, Grand Egyptian Museum, Khan el-Khalili, Sound & Light Show.

    Changed

    • Departure updated from Paris CDG to Lyon Saint-Exupéry.
    • Trip dates updated to Oct 17–29 (vacances Toussaint: 17 oct – 2 nov 2026).
    • Budget revised: vols ~€2,750, total ~€13,450 sur €15,000 cap.
    • Guide sections reordered: Le Caire (terracotta) first, then Aswan, Cruise, Luxor.
    • Travelers: 5 pax (1 adult + 4 children: Maelys 16, Louis 14, Philaé 12, + 1 aged 7).

    v0.4.0

    2026-03-14

    Added

    • Agency conversations from WhatsApp/email dumps: Egypt Tours Portal (Feb 8-9 exchanges), Memphis Tours/Abdo Younis (full proposal with quotes).
    • Real cruise quotes: Mövenpick Royal Lily €6,599 / Dwa Nile Cruise €5,970 (Memphis Tours, 3 cabins, all-inclusive).
    • Dwa Nile Cruise added as option (Memphis Tours alternative).
    • Videos & Research section in Prep page with Wikipedia + YouTube links shared with kids.
    • Traveler names: Maelys, Louis, Philaé.

    Changed

    • Agencies rewritten with full message timelines (dates, direction, summaries).
    • Royal Lily price updated from estimate to real quote (€6,599).
    • Removed Nile Cruisers agency (no real contact made).

    v0.3.0

    2026-03-14

    Added

    • Cairo/Pyramids optional stopover in guide (terracotta section) and activities.
    • Terracotta color support in theme.

    Removed

    • Nubian Village removed from all pages (guide, activities, timeline, budget, todo).

    Changed

    • Day 2 itinerary reworked to "Islands & Sunset Sail".
    • Activities budget reduced by €200.

    v0.2.0

    2026-03-14

    Added

    • "The Trip" page (/the-trip) — rich site-by-site guide for Aswan, Cruise, Luxor. Kid appeal, tips, tomb guide for Valley of the Kings.
    • "Todo" page (/todo) — progress bar, next actions with checkboxes, booking checklist with priority dates.
    • Scrollable day-by-day strip at top of The Trip page.

    Changed

    • Nav: added "The Trip" tab, renamed "Timeline" to "Todo".
    • Better next actions in trip.json.

    v0.1.0

    2026-03-14

    Added

    • Initial project scaffold: Next.js 16 + Tailwind CSS v4 + TypeScript.
    • 6 pages: Dashboard, Options, Agencies, Timeline, Budget, Prep.
    • Art deco design system: gold/lapis/sand/terracotta palette, Georgia serif headings, diamond dividers.
    • JSON data layer: 8 data files seeded from existing research.
    • 4 cruise options, 4 flight routes, 4 hotels, 8 activities, 3 agencies.
    • 11-day itinerary, 7 budget categories, prep lists (movies, books, games, apps, packing).
    • Deployed to Railway: https://nurturing-heart-production-2d79.up.railway.app
    • GitHub repo: https://github.com/edemaistre/egypt-trip-planner (private).

    Built with Next.js + Tailwind · Data in JSON · Deployed on Railway