Trip day plan — stops, editing, maps, culture
Status: draft · Last session: 25 Oct 2026
Builds on M1 — Day plan (revisions 1–3), M2 — Culture and M13 — Maps, all built. This card lists what v1 adds or changes; everything in those cards that is not changed here stays as built.
Who and the job
- Traveller: "What are we doing today, when, and where do I need to be?" Read-only.
- Group leader and trip creator: "Does this day look right, and is everything arranged?"
- Visitor (signed out): sees the fitted plan from the planner before keeping it (P50).
Value
The day plan is the product: what the leader forwards and what travellers open every morning. v1 makes it work for every way a trip starts and ends, for services the group arranges itself, and for places where people spend very different amounts of time.
Already built (kept)
- Day list (web) and day tabs (phone); swipe or edge arrows; firm pull to the next or previous day.
- Stop cards: photo cards for places, compact rows for meals and free time; three-bullet story, tip, traveller note, Directions.
- The day flows hotel → stops → hotel with move lines ("Drive: 10 min · A → B"). Tonight's hotel at the top.
- Edit mode (Edit / Done): "+" between stops, kind chips, times filled in automatically, the rest of the day shifts when a time changes.
- Culture: word of the day, festivals on the day, "On your dates" cards, farewell phrase.
- Map: right column on web, full screen on phones, numbered pins, Google Maps day route and per-stop links, whole-trip map.
Decided (founder, 25 Oct 2026)
- One day plan everywhere. The planner's preview for a signed-out visitor is this same page, read-only, with the map and culture. The first edit asks them to sign in (P50).
- Trip start and end, not only flights (updates P50 item 5). Creating a trip asks "Where does your trip start?" and "Where does it end?", each optional, with three choices:
- Flying in / flying out: airport (Kathmandu international or a domestic airport), date, time, flight number if known. Pickup or drop with the airport buffer (international 3 h 30 min, domestic 2 h; settings, not hard-coded).
- By road: town (for example Biratnagar or Butwal), date, time if known. The first move line reads "Arrive in Kathmandu by road · ~14:00"; no buffer.
- Already here: a hotel or place in the first or last town. The day starts or ends there.
- On the day: "Airport pickup · TIA → Hotel X" opens the first day; "Leave for the airport 10:30 · flight 14:00" closes the last. Both are move lines, not cards.
- No time given: "Free morning · Add your arrival time to plan the day" (same for the end).
- This also serves domestic travellers (later markets).
- Services the group arranges itself (planner's "Not needed"):
- No vehicle: the move line reads "Drive: 25 min · Hotel → Boudha · your own transport".
- No hotel: the night row reads "Tonight: your own stay · Pokhara" (the town stays, so the day still ends somewhere).
- No guide: nothing shown.
- Leader and trip creator see "Need a hand? Book with NepWalk ›" on those lines. It switches the service back on, adds NepWalk's pick and sends it to the admin. Travellers never see it.
- Confirmation status, no prices. Leader and trip creator see a quiet "Confirming" chip on a hotel or vehicle until the admin marks it confirmed (M12). Travellers see only confirmed names, never "pending" (M5, P28).
- Undo after delete replaces the confirm dialog when removing a stop ("Stop removed · Undo", a few seconds).
- Visit time per place (system ready in v1; smarter choices in v2):
- Each library place gets three optional values from the founder's research: minimum, typical and maximum time people spend there. Any of them may be empty. Example: Boudhanath typical 1 h 30 min; Pashupatinath up to 8 h; Lumbini more than a day.
- Pace picks the visit time when the values exist: Full → minimum, Balanced →
typical, Relaxed → maximum. Missing values fall back to the next one present, then to
typicalDurationMinutes, then to the kind's default (M1 revision 3). - The backend generates the timeline; travellers never arrange times. Anyone who edits can still stretch a stop past the maximum (ten hours of meditation at Pashupatinath is fine); the rest of the day shifts as today.
- A visit longer than the day may fill the whole day and carry into the next (Lumbini).
- Which stops drop when a day gets too full stays as today (the existing fitting). Choosing what to drop from the traveller's preferences, and AI, come in v2.
- Offline day comes in v1 as the last item: the day's plan readable on the phone without a connection (PWA, feature 11).
Signature idea (D9): the day's trail
The hotel → stops → hotel flow is drawn as one walking trail running down the day, with small paila (footstep) marks between the cards. Move lines sit on the trail; tonight's hotel is where the trail ends, like a camp. It makes the page read as a journey, not a list, and uses the flow that already exists. It never covers text, times or controls.
Placement — and why
| Element | Where | Why |
|---|---|---|
| Start of the trip (pickup / road arrival / hotel) | First line of day 1, on the trail | The day begins where the traveller really is |
| End of the trip (airport drop / road / hotel) | Last line of the last day | The plan ends with the way home |
| "Your own transport" / "your own stay" | On the move line / the night row | Same place as a booked service, so the flow never breaks |
| "Book with NepWalk ›" | Under those lines, leader and creator only | Offered where the gap is, never pushed on travellers |
| "Confirming" chip | Beside the hotel or vehicle name, leader and creator only | Status without noise |
| "Stop removed · Undo" | Bottom of the screen, a few seconds | Mistakes are cheap |
States and edge cases
- No start or end given: free morning or evening with the "Add your arrival time" line.
- Arrival time after the day's first stop: the stops before it move later (existing shift).
- Departure on a day with a domestic flight: warn the editor when the domestic arrival leaves less than the international buffer (P50).
- A place with no time values: the kind's default; nothing shown to travellers about it.
- Stretching a stop past midnight: it carries into the next day; the editor sees the shift.
- Every service not needed: the trail still runs hotel-less from the start point to the end point.
- Offline (once built): the last opened days show; editing waits for a connection.
Acceptance checks
- A signed-out visitor sees the planner's fitted plan as this day plan, read-only; the first edit asks to sign in.
- Flying in at 11:00 international: day 1 opens with "Airport pickup · TIA → Hotel X"; flying out at 14:00 international: the last day closes with "Leave for the airport 10:30".
- Arriving by road from Biratnagar at 14:00: day 1 opens with "Arrive in Kathmandu by road · ~14:00".
- Vehicle not needed: move lines read "your own transport"; the leader sees "Book with NepWalk ›", a traveller does not; tapping it turns the vehicle back on with NepWalk's pick.
- Hotel not needed: "Tonight: your own stay · Pokhara".
- An unconfirmed hotel shows "Confirming" to the leader and nothing pending to a traveller.
- Removing a stop shows "Undo"; Undo brings it back in the same place and time.
- The same Paila at Relaxed gives Pashupatinath its maximum time and at Full its minimum; a place without values uses the kind's default.
- Stretching a stop shifts the rest of the day; nothing is lost.
Later (v2)
- Choose which stops drop from the traveller's preferences (interests, pace) instead of the current fitting; AI from v2.
- Opening hours and best time of day per place.
- Weather and sunrise.
- Place knowledge for Pailas (essence, restaurants and activities nearby).
Tasks (proposed)
| Task | Owner | Size |
|---|---|---|
place-visit-times: min / typical / max visit time on places (nullable); pace picks the time; backend timeline uses it |
engineer (backend) | 20 XP |
place-visit-research: visit times for every library place |
Prakash | 10 XP |
trip-start-end: start and end of the trip (flight, road, already here) on create; first and last days fit; buffers as settings |
engineer | 20 XP |
own-service-lines: "your own transport" / "your own stay" lines and "Book with NepWalk" for leader and creator |
engineer (frontend) | 10 XP |
confirming-chip: confirmation status on hotel and vehicle for leader and creator |
engineer (frontend) | 5 XP |
stop-undo: undo after removing a stop |
engineer (frontend) | 5 XP |
day-trail: the day's trail signature |
engineer (frontend), after the HTML design | 10 XP |
offline-day: the day readable offline (last v1 item) |
engineer (frontend) | 20 XP |
day-plan-qa: test plan from the checks |
Niwesh | 10 XP |
trip-start-end replaces trip-flights in the planner card. Each implementation task gets
a spec in docs/v1/tasks/ (team-spec) before assignment.