Skip to content

Add rentals (car, scooter, motorbike, bicycle) and a new logo - #8

Merged
Torgh merged 3 commits into
mainfrom
rentals
Oct 16, 2026
Merged

Torgh merged 3 commits into
mainfrom
rentals

Conversation

@Torgh

@Torgh Torgh commented Oct 16, 2026 •

Copy link
Copy Markdown
Owner

Summary

Rentals. New card type 🔑 Rental: car 🚗, scooter 🛵, motorbike 🏍️ or bicycle 🚲.

  • The card sits on the pick-up day. It holds the pick-up place and time, a return place (when different, with its own place search), the number of days, the return time, the rental company, the order number and the price. The generic Booking section is hidden for rentals.

  • Like a stay, a coloured strip shows at the top of every day you have the vehicle:

    • pick-up day: "Pick-up 18:00 · 9 days, back Sat 23 Jan by 18:00";
    • days in between: "Rented · back …";
    • return day: "Return today by 17:00 at Gozo farmhouse".

    Clicking a strip highlights the card.

  • Untitled rentals are named after the vehicle ("Scooter rental"), not the pick-up shop.

  • Rentals also appear in the PDF itinerary.

  • MCP: add_item / update_item take type: "rental" and a rental object. get_trip lists "Has rental" / "Return rental today" per day.

  • AI booking import extracts rental confirmations: vehicle, return date and time.

  • The old transport kind car_rental still works for existing cards.

Demo trip.

  • The airport car is now a 5-day rental.
  • New case: a scooter picked up at the Gozo ferry and returned at the farmhouse the next day.

Smaller changes

  • New logo: a route running through the day columns and ending in a pin, made bolder so it reads at 16 px.
  • The Load demo trip button uses 🏝️.
  • Fix: a place search no longer overrides a card type chosen by hand. For example, picking a place for a new stay or rental used to turn the card into a "Place".
  • README updated and screenshot refreshed.

CI: the test timeout is raised to 20 s, because the first date formatting on a cold Windows runner can take over 5 s.

Checklist

  • bun run check passes locally (typecheck, lint, 161 tests with coverage, build)

  • New behaviour has tests: lib/rentals.test.ts, lib/types.test.ts, the demo test and an MCP end-to-end test for a scooter rental

  • Storage, sync or OAuth changes: none

  • README updated

  • UI changes checked in the browser on a temporary TRIPDECK_HOME:

    • adding and editing rentals through the editor;
    • day strips and the PDF;
    • no horizontal scroll at phone width;
    • no console errors.

    Screenshot refreshed.

🤖 Generated with Claude Code

Torgh and others added 3 commits October 16, 2026 19:50
A rental card sits on the pick-up day and holds the vehicle, rental company,
order number, price, pick-up place and time, number of days, and return time
and place. Like a stay, it shows as a strip on every day you have it, and the
return day says when and where it goes back. The editor, PDF itinerary, MCP
server and booking import know about rentals. The demo trip now has a rental
car and a scooter returned somewhere else.

Also: a new logo (a route through the day columns), the demo button uses
an island icon, and a place search no longer resets a card type the user chose.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Torgh
Torgh merged commit 0482658 into main Oct 16, 2026
2 checks passed
@Torgh
Torgh deleted the rentals branch October 16, 2026 20:43
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.

1 participant