Skip to content

feat: full trip planning extensions (opening hours, restaurants, routes, budget, reservations, travel info)#240

Open
candogruyol wants to merge 31 commits into
itskovacs:mainfrom
candogruyol:feat/all-extensions
Open

feat: full trip planning extensions (opening hours, restaurants, routes, budget, reservations, travel info)#240
candogruyol wants to merge 31 commits into
itskovacs:mainfrom
candogruyol:feat/all-extensions

Conversation

@candogruyol
Copy link
Copy Markdown

@candogruyol candogruyol commented Mar 22, 2026

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_details table: opening_hours (JSON), rating, tips, address, contact, photos, links
  • CRUD at /api/places/{id}/details
  • Frontend display in place-box-content

2. Restaurant + Dishes (#233)

  • restaurant_details table: cuisine, price_range, must_try, reservation_required
  • dish table: name, price, description
  • Frontend: cuisine badges, dish list with prices

3. Transport Routes + Directions (#176)

  • item_route + route_option tables for connections between items
  • Google Maps multi-stop directions URL generator
  • Route optimization (nearest-neighbor)

4. Budget Tracking + Settlement (#234)

  • trip_budget table with per-category planned amounts
  • Summary endpoint: planned vs actual, breakdown, per-day
  • Cost settlement for group trips (uses existing paid_by)

5. Reservations (#236)

  • trip_flight, trip_accommodation, trip_rental_car tables
  • Full CRUD with confirmation codes
  • Angular modal from trip menu

6. Travel Info (#235)

  • trip_travel_info table: visa, emergency, timezone, insurance
  • Angular modal with color-coded visa status

7. Additional

Claude Code Skill (v2)

All features are designed to work with a Claude Code skill that handles complete 16-step trip planning:

  1. Research destination via web search
  2. Create trip, days, places (with Wikipedia photos)
  3. Link places, create itinerary items
  4. Enrich: opening hours, ratings, restaurant dishes
  5. Add routes between stops
  6. Set budget with estimates
  7. Fetch weather forecasts
  8. Look up visa/travel requirements
  9. Generate packing list + pre-trip checklist
  10. Export Google Maps directions

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

DHL and others added 30 commits March 22, 2026 14:55
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>
@candogruyol candogruyol changed the title feat: opening hours, rating, tips, and rich place details feat: full trip planning extensions (opening hours, restaurants, routes, budget, reservations, travel info) Mar 22, 2026
@sjorge
Copy link
Copy Markdown

sjorge commented Mar 23, 2026

  1. Transport Routes + Directions ([FR] map routes #176)

Seems very useful to me. It does seem to be close to what I envisioned in my comment on the FR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants