feat: full trip planning extensions (opening hours, restaurants, routes, budget, reservations, travel info)#240
Open
candogruyol wants to merge 31 commits into
Open
Conversation
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add two new SQLModel tables (place_details, tripitem_details) for 1:1 extension data on places and trip items. Update Alembic env.py to import extension models so migrations can detect the new tables. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Set up in-memory SQLite with StaticPool for test isolation, FastAPI TestClient with dependency overrides, and reusable fixtures for User, Category, Place, Trip, TripDay, and TripItem. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…, budget) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…h tests Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…ests Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…ebar click - Add selectinload chain for TripItem.place (with image + category) in read_trip endpoint so items include full place data in API response - Add map.flyTo() when a place or item is selected from the sidebar, making the map automatically navigate to the selected location Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add DayWeather (1:1 with TripDay), TripTravelInfo (1:1 with Trip), and TripVersion (many:1 with Trip) models plus full CRUD routers and tests for all three resources. Includes Alembic migration for the three new tables. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…tions Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…dpoints Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…o Angular UI
- Add "Open in Google Maps" link on place detail panel next to coordinates
- Add weather badge (icon + high/low temp) on day headers in plan and days panels
- Add directions button on day headers to open Google Maps directions
- Add API service methods for /days/{id}/directions and /days/{id}/weather
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
… modals Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
… duplicate code Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Google Maps resolves place names better than raw coordinates. URLs now generate /dir/Jerónimos+Monastery/Pastéis+de+Belém instead of /dir/38.6979,-9.2068/38.6975,-9.2033 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Changes query from lat,lng to "Place Name City" for better results. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…route automation, and user management Lessons from real testing: - Add Wikipedia API photo fetching instructions with URL encoding for non-ASCII - Strengthen place_ids warning (PUT required, POST unreliable) - Add automated route creation flow between consecutive items - Add user management section (register, login, sharing) - Fix API URL to 8080 (Docker default) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Replace all 'TRIP' branding with 'TravelThing' - Remove itskovacs GitHub links, Ko-fi, BZH footer - Update page titles, PWA manifest, login screen - Update backend User-Agent strings - Add docker-compose.prod.yml for production - Rewrite README for TravelThing Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Accidentally removed during rebrand. 602-line skill with 16-step one-shot planning flow, complete API reference, and data enrichment. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Seems very useful to me. It does seem to be close to what I envisioned in my comment on the FR. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A comprehensive set of trip planning extensions built on my fork. Each feature is independent and can be cherry-picked separately.
Features Included
1. Rich Place Details (#180)
place_detailstable: opening_hours (JSON), rating, tips, address, contact, photos, links/api/places/{id}/details2. Restaurant + Dishes (#233)
restaurant_detailstable: cuisine, price_range, must_try, reservation_requireddishtable: name, price, description3. Transport Routes + Directions (#176)
item_route+route_optiontables for connections between items4. Budget Tracking + Settlement (#234)
trip_budgettable with per-category planned amountspaid_by)5. Reservations (#236)
trip_flight,trip_accommodation,trip_rental_cartables6. Travel Info (#235)
trip_travel_infotable: visa, emergency, timezone, insurance7. Additional
Claude Code Skill (v2)
All features are designed to work with a Claude Code skill that handles complete 16-step trip planning:
User says "plan a 3-day Istanbul trip" → agent does everything automatically via the API.
The skill is at
skill/trip.md(602 lines) and can be used with Claude Code or adapted for other AI assistants.Related Discussions
#180, #176, #233, #234, #235, #236, #212, #198