The complete feature guide.
Every feature explained — search below or scroll through the sections.
No results for that search — try a different word.
Open the app
Go to plantotravel.eu/app/login. Click Sign in for cloud sync across devices, or Continue without account to start immediately in local mode. All features except Smart Paste work without an account.
Create a new plan
On the dashboard press the purple + New Plan button. Give the trip a name and set the date range. In account mode a banner photo is auto-fetched from Pexels. In local mode click the banner area to search Pexels yourself.
Add destinations
Open the plan. In the Destinations tab click + Add destination. Enter the country and optionally a city. Add one destination per place you will visit. Drag to reorder.
Build out the plan
Use the tabs across the top — Transportation, Accommodations, Activities, Notes, Packing — to add detail. Link every item to a destination. The map, itinerary, and budget update automatically.
| Element | What it does |
|---|---|
| Plan name | Shown in the top-left. Edit the plan name in the General tab — the top bar updates immediately. |
| Save indicator | A small dot or "Saved" label next to the plan name confirms the last auto-save completed. |
| Back to dashboard | Appears in account mode. Click to return to the My Plans dashboard without leaving the plan. |
| File menu | Contains: Export plan (JSON), Import plan, Preferences, Clear all data. See the Saving & exporting section for full details. |
| Edit menu | Contains Undo and Redo (active inside the note editor). Standard Cut / Copy / Paste also work in any text field. |
| View menu | Switch between Dark theme and Light theme. A checkmark shows the active theme. The choice is saved to localStorage. |
| Section tabs | Three main sections across the top: Plan (General + Destinations), Create (Transport / Accommodations / Activities / Notes / Packing), View (Itinerary, Map, Day View, Dashboard). Click any tab to switch. |
| Mobile hamburger | On small screens the left sidebar collapses. Tap the ☰ icon to open it. Tap the overlay behind it to close. |
| Field / Action | What it does |
|---|---|
| Plan name | Enter a name for the trip (max 100 characters). Shown in the top bar and on the dashboard card. |
| Description | Optional multi-line text. Describe the trip's purpose or add any notes that apply to the whole plan. Saved automatically on blur. |
| Start date | Type in DD-MM-YYYY format or use the calendar icon. Sets the first day of the itinerary timeline. |
| End date | Type in DD-MM-YYYY format or use the calendar icon. Must be on or after the start date — an error is shown otherwise. Also sets the last day of the timeline. |
| Number of people | Numeric field (min 1). Used in the budget dashboard to show a per-person cost split. |
| Trip budget | Optional overall budget amount in your base currency. Shown alongside actual spending totals in the dashboard. |
| Base currency | Dropdown — choose EUR, USD, GBP, or any of 31 currencies. All costs in the budget dashboard are converted to this currency. The symbol appears in the trip budget field label. |
| Add extra currency | Pick a second (or third) currency from the dropdown and click +. This currency then appears in cost dropdowns on individual items. |
| Exchange rate field | For each added currency enter the rate as "1 BASE = X FOREIGN". Rates are applied when converting costs on the dashboard. |
| Remove currency | Click the × next to any extra currency to remove it from the active list. |
| Decimal separator | Radio button — choose a period (1,234.56) or a comma (1.234,56) for all cost fields in the app. |
| Banner — Add photo | Click + Add banner photo. A Pexels search panel opens. Type a keyword (e.g. "Tokyo", "mountains", "road trip") and press Search. |
| Banner — Pexels search | Results show as a thumbnail grid. Click any photo to apply it as the plan banner. Use the Previous / Next buttons to browse pages. |
| Banner — Change photo | When a banner is already set, click Change photo to open the Pexels search and replace it. |
| Banner — Remove photo | Click Remove to delete the current banner. The banner area returns to its empty state. |
| Banner — Cancel search | Click Cancel in the search panel to close it without making a selection. |
| Save button | In the General tab a Save button commits all changes. Fields also auto-save on blur in most cases. |
| Feature | Instructions |
|---|---|
| Add destination | Click + Add destination. Enter a country (required) and optionally a city. The app checks for duplicates — you cannot add the same country+city combination twice. |
| Country autocomplete | As you type in the country field a filtered dropdown appears. Use arrow keys or click to select. After selecting a country, focus moves to the city field automatically. |
| City autocomplete | Type a city name to see suggestions. The city field is optional — leaving it blank creates a country-level destination. |
| Destination card | Each destination appears as a numbered card showing the country, city, and banner photo. The sequence number (1, 2, 3…) reflects the travel order. |
| Select a destination | Click any destination card to select it. The right sidebar opens and shows every item linked to that destination — transportation, accommodations, activities, budget items, and notes — with a cost total in your base currency. |
| Right sidebar — linked items | Each linked item shows its name, type icon, and cost. Items in a foreign currency show both the original and the converted base-currency amount. Click any linked item to jump to it in its own tab. |
| Right sidebar — cost total | A footer row sums all linked accommodation, activity, and budget costs for the selected destination in your base currency. Transportation costs are not included here — they appear per route in the dashboard. |
| Drag to reorder | Drag a destination card to a new position. The numbered badges update immediately. The map route redraws to match the new order. |
| Edit destination | Click the pencil icon on a card. Update the country or city and save. Changing the location clears the cached geocoordinates so the address is re-looked-up next time the map renders. |
| Delete destination | Click the × icon. A confirmation prompt appears. After deletion, any items that were linked to this destination have their destination link cleared — they are not deleted. |
| Add / change banner photo | Click the camera / photo button on the card. A Pexels search panel opens pre-filled with the city or country name. Search, browse pages, and click a thumbnail to apply. |
| Remove banner photo | Click Remove inside the photo panel to clear the destination banner. |
| Auto-geocoding auto | When you save a destination the app looks up its coordinates via the geocoding API. These coordinates are used to draw pins on the map and to calculate transport distances between destinations. |
| Boundary polygon auto | For some destinations the map also fetches the country or region boundary and draws it as a shaded polygon on the map. |
| Auto-fetch banner auto | In account mode a banner photo is silently fetched from Pexels when you first save a destination. You can change or remove it at any time. |
The transportation tab lists every leg of the journey. Each item has a from-location, a to-location, times, costs, and booking details. Items appear as coloured route lines on the map.
| List view | What it shows / does |
|---|---|
| Transport list | Table showing all transport legs in order. Columns: type, from, to, distance, cost. |
| START / END badges | The first item in the list can be marked as the outbound journey and the last as the return. Tick the Include start transport or Include end transport checkboxes at the top of the tab to show or hide them. |
| Type filter | Dropdown to show only one transport type (Flight, Train, Car, etc.). |
| From filter | Dropdown to show only legs departing from a specific location. |
| To filter | Dropdown to show only legs arriving at a specific location. |
| Click a row | Selects the item and opens its details in the right sidebar. The map also zooms to fit that route. |
| Create / Edit form | What it does |
|---|---|
| Transport type | Choose from 14 types: Flight, Train, Car, Bicycle, Boat, Cart, Hiking, Horse, Motorcycle, Running, Scooter, Skating, Swimming, Walking. Each type draws a differently coloured line on the map. |
| From location | Type an address or place name. A dropdown opens with two tabs: Suggestions (geocoding autocomplete from the Nominatim API) and Stays & Activities (items already in your plan grouped by destination). |
| Suggestions tab | Shows address matches as you type. Click one to fill the field and auto-geocode the coordinates. |
| Stays & Activities tab | Lists your accommodations and activities grouped by destination. Selecting one fills the location field with that item's exact address and geocoded coordinates — no manual geocoding needed. |
| From destination link | A separate dropdown links this leg's origin to one of your destinations. Used to group costs and show the leg in the destination's right sidebar. |
| To location | Same autocomplete as the From field — Suggestions tab and Stays & Activities tab both available. |
| To destination link | Links the arrival location to a destination, same as the From destination link. |
| Pin on map (from / to) | Click the 📍 button next to either location field. The cursor changes to a crosshair on the map. Click anywhere on the map to place the pin — the field auto-fills with coordinates. Press Escape to cancel. |
| Departure timezone | Dropdown with 22+ world timezones. Stored per-record so a Berlin→New York flight correctly shows both local times. |
| Departure date | Type in DD-MM-YYYY format. The app auto-formats as you type. |
| Departure time | Type in HH:MM format. Auto-formats colons. |
| Arrival timezone | Independent timezone for the arrival — set separately from departure. |
| Arrival date & time | Same DD-MM-YYYY and HH:MM format fields. |
| Distance field | Shows the calculated distance. Edit manually if needed, or click Calculate to recalculate. Walking/cycling/hiking use a routed distance via OpenRouteService; all other types use straight-line Haversine distance. |
| Booking number | Confirmation or reference number from the operator. Shown in the read-only view. |
| Transport number | Flight number, train number, bus number etc. (e.g., LH 401). Shown in view mode and on transfer rows. |
| Cost | Ticket or fuel price. Enter a number — the currency is chosen from the dropdown next to this field. |
| Currency dropdown | Shows only your base currency plus any extra currencies you added in the General tab. |
| Share cost with | Tick the checkbox and select another transport item. The cost is split equally between both. Both items stay in sync — changing one updates the other automatically. |
| Website URL | Link to the booking confirmation page or airline/operator website. In view mode this is a clickable link that opens in a new tab. |
| Number of transfers | Spinner 0–3. For each transfer a row of detail fields appears: transfer location, transport number at transfer, arrival time (with timezone), and departure time (with timezone). |
| Transfer location | Name of the layover city or hub (e.g., "Amsterdam AMS"). |
| Transfer transport number | The second flight/train number at the transfer point. |
| Transfer arrival & departure | Each transfer has its own timezone-aware arrival and departure date/time. |
| Smart Paste account | Click Smart Paste, paste the text of a booking confirmation email, and the app extracts booking number, dates, locations, and transport number. With your consent it learns from corrections to improve future extractions. |
| Linked notes | Notes that are linked to this transport item appear at the bottom of the edit form for easy reference. |
| View mode (read-only) | What you can do |
|---|---|
| Three-dot menu (⋮) | Click to open the item menu with Edit and Delete options. |
| Edit | Switches the panel to edit mode with all fields editable. |
| Delete | Asks for confirmation then removes the transport item and its route line from the map. |
| Clickable URL | Website URL becomes a live link in view mode — opens in a new tab. |
| Map behaviour | What you see |
|---|---|
| Route line colour | Each transport type has its own colour: Flights are dashed purple, Trains dotted, Car/driving solid blue, others a default line colour. |
| Direction arrow | An arrow along the route line shows the direction of travel. |
| Zoom to route | Clicking a transport row in the list fits the map bounds to show the full route. |
| Route caching auto | Calculated routes are cached. The map only recalculates when you change the from or to location. |
| Line weight scaling | Route line thickness increases as you zoom in on the map. |
| Feature | Instructions |
|---|---|
| List view filters | Filter the accommodation list by type (Hotel, Apartment, etc.) or by linked city using the dropdowns at the top. |
| Click a row | Opens the accommodation details in the right sidebar. The map zooms to the accommodation's pin. |
| Stay type | 9 types: Apartment, B&B, Camping, Campus, Contact, Hotel, Parking Lot, Short Rent, Villa. Affects the icon displayed on the map. |
| Title | Name of the property (e.g., "Hotel Mercure Paris"). Shown in the list, right sidebar, and itinerary. |
| Location / address | Type an address — geocoding autocomplete suggestions appear. Selecting a suggestion stores the exact coordinates for the map pin. |
| Pin on map | Click the 📍 button next to the address field. Click anywhere on the map to drop a pin at that exact spot. Useful when the address is not found by autocomplete. Press Escape to cancel pin mode. |
| Map pin | Once the address is geocoded or a manual pin is placed, a hotel icon appears on the map. Click it to open the accommodation details in the right sidebar. |
| Link to destination | Required dropdown. Choosing a destination links this stay to it — it appears in that destination's right sidebar cost total and in the destination filter on the map. |
| Check-in timezone | Dropdown with 22+ timezones. Stored independently of the check-out timezone. |
| Check-in date & time | DD-MM-YYYY and HH:MM fields. Used to position the stay on the itinerary timeline. |
| Check-out timezone | Independent timezone for checkout — useful for properties near a timezone boundary. |
| Check-out date & time | Sets the end of the stay on the itinerary timeline. |
| Booking number | Reservation confirmation number from the booking platform. Shown in view mode. |
| Cost & currency | Total stay cost. Choose the currency from the dropdown — converted to base currency in the dashboard. |
| Breakfast included | Checkbox flag. Shown as a label in view mode as a quick reminder. |
| Free cancellation | Checkbox flag. Shown in view mode as a quick-reference label. |
| Pre-payment needed | Checkbox flag. Shown in view mode as a reminder that payment is due upfront. |
| Website URL | Link to the booking site or hotel website. Becomes a clickable link in view mode. |
| Contact person | Name of the property contact. Stored in the Contact Information section of the form. |
| Contact email | Email address of the contact. Stored alongside name and phone. |
| Contact phone | Phone number (international format recommended). All three contact fields are shown in view mode. |
| Banner display | The top of the accommodation detail view shows the banner photo of its linked destination. |
| Smart Paste account | Paste a booking confirmation email to auto-fill fields: booking number, dates, address. |
| Linked notes | Notes linked to this accommodation appear at the bottom of the edit form. |
| Edit / Delete | Three-dot menu (⋮) in view mode. Edit opens all fields. Delete asks for confirmation before removing the item and its map marker. |
| Feature | Instructions |
|---|---|
| List view filters | Filter by activity type or by linked city using the dropdowns at the top. |
| Click a row | Opens activity details in the right sidebar. The map zooms to the activity's pin. |
| Activity type | 20 categories: Beach & Coast, Courses, Dining Out, Food & Drink Tastings, Hiking & Trekking, Historic Sites, Live Performances, Local Markets, Museums & Galleries, Night Out, Parks & Gardens, Scenic Drives, Shopping, Sightseeing, Spa & Wellness, Sports, Stargazing, Theme Parks, Walking Tours, Wildlife Watching. |
| Title | Name of the activity. Also used as the default search query when auto-fetching a Pexels banner. |
| Description | Multi-line text area (4 rows). Add notes, meeting points, tips, or any detail about the activity. |
| Start timezone, date & time | Set when the activity begins. Timezone is stored per record. |
| Same-day end time | For single-day activities a second time field appears inline after the start time (shown with a → arrow). Set the finish time here. |
| Multi-day toggle | Tick Multi-day activity (ends on a different date) to replace the inline end-time with separate end-date, end-time, and end-timezone fields. Unticking restores the single-day layout — data in the end fields is preserved. |
| End timezone, date & time | Shown only when multi-day is ticked. Stored independently from the start timezone. |
| Full address | Location of the activity. Geocoding autocomplete suggests addresses. Selecting a suggestion stores exact coordinates for the map pin. |
| Pin on map | Click 📍 next to the address field. Click the map to place a pin manually. Press Escape to cancel. Works the same as in the accommodation form. |
| Map pin | After geocoding or manual pinning, an activity icon appears on the map. Click it to open the activity details. |
| Link to destination | Dropdown to link the activity to one of your destinations. Affects cost totals in the destination sidebar and map filtering. |
| Cost & currency | Ticket or entrance fee. Currency chosen from the dropdown — converted to base currency in the dashboard. |
| Booking number | Ticket or reservation reference. Shown in view mode. |
| Website URL | Link to the booking page or attraction website. Clickable link in view mode. |
| Banner — Add photo | Click the banner area to open Pexels search. Works in both local and account mode. |
| Banner — Auto-fetch auto | In account mode, when you save a new activity the app silently fetches the first Pexels result using the activity title and type as the search query. |
| Banner — Change / Remove | Click Change photo to search again, or Remove to clear the banner. |
| Smart Paste account | Paste a booking confirmation email to auto-fill date, location, and booking number. |
| Linked notes | Notes linked to this activity appear at the bottom of the edit form. |
| Edit / Delete | Three-dot menu in view mode. Delete removes the item and its map marker after confirmation. |
| Feature | Instructions |
|---|---|
| Create a note | Click + New Note. A rich text editor opens with a default title "New Note". |
| Create a canvas | Click + New Canvas to open a blank visual whiteboard for mind-mapping and brainstorming. |
| Note title auto | The note title is extracted automatically from the first H1 heading in the content. If there is no H1, the first 60 characters of plain text are used as the title. |
| Auto-save auto | The note saves 600 ms after you stop typing. No save button needed. |
| Bold | Toolbar button or Ctrl+B. Wraps selected text in bold. |
| Italic | Toolbar button or Ctrl+I. Wraps selected text in italic. |
| Underline | Toolbar button or Ctrl+U. Underlines selected text. |
| Strikethrough | Toolbar button. Strikes through selected text. |
| Headings H1 / H2 / H3 | Toolbar buttons. Apply a heading level to the current paragraph. H1 also becomes the note title. |
| Ordered list | Toolbar button. Creates a numbered list from selected lines. |
| Unordered list | Toolbar button. Creates a bullet list from selected lines. |
| Insert link | Toolbar button. Prompts for a URL and wraps the selected text as a hyperlink. |
| Undo / Redo | Ctrl+Z to undo, Ctrl+Y to redo — active inside the note editor. |
| Paste as plain text | When pasting HTML content, the editor strips formatting and inserts plain text only. |
| Link picker | A dropdown button lets you attach the note to: None (unlinked), Research (special category), Preparation (special category), or any destination, transport item, accommodation, or activity in your plan. Type to filter the list. |
| Link badge | Once linked, a badge below the title shows the linked item name (e.g., "Paris, France" or "Flight LH 401"). |
| Auto-link destination auto | When you link a note to a transport, accommodation, or activity, the app also automatically links it to that item's parent destination. |
| Linked notes in items | Any note linked to a transport, accommodation, or activity appears in a "Linked notes" section at the bottom of that item's edit form — so context notes are always visible where you need them. |
| Grouped view | Default view groups notes by destination (alphabetically), then Research, then Preparation, then Unlinked. Each group shows a header with the group name. |
| List view | Shows all notes alphabetically by title, without grouping. |
| Date sort (newest) | Shows notes sorted by last-updated date, newest first. |
| Date sort (oldest) | Shows notes sorted by last-updated date, oldest first. |
| Note card | Each note in the list shows its title, type badge (Note or Canvas), last-updated date, and the name of its linked item. |
| Click note card | Opens the note editor for that note. For a canvas note, opens the canvas whiteboard. |
| Delete note | Click the × on the note card. A confirmation prompt appears before deletion. |
| Canvas — nodes | In canvas view add nodes (text boxes) and position them freely by dragging. Double-click a node to edit its text. |
| Canvas — edges | Draw connections between nodes by dragging from one node's edge to another. Edges represent relationships between ideas. |
| Canvas data | Canvas content is stored as a JSON object with node positions and edge connections, saved to the note's data record. |
| Feature | Instructions |
|---|---|
| Pre-filled items | A new plan starts with 26 default packing items across 5 categories: Documents, Clothes, Electronics, Toiletries, First Aid & Medicine. Edit or delete any of them freely. |
| Grouped display | Items are grouped by category. Within each group, unpacked items appear first (sorted alphabetically), followed by packed items with a strikethrough style. |
| Add new item | Type a name in the "Type item name and press Enter" field at the bottom. Choose a category from the 10-option dropdown. Press Enter or click the + button to add. |
| Category remembered | After adding an item, the category dropdown keeps the last-used category for fast sequential entry. |
| Edit item name | Click the item name field in the table and type. The change saves on blur. |
| Change category | Click the category dropdown on any row to reassign the item to a different category. The table regroups immediately. |
| 10 categories | Clothes, Documents, Electronics, Entertainment, First Aid & Medicine, Gifts, Legal, Other, Samples, Toiletries. |
| Need to buy | Dropdown: Yes or No. Switching to Yes enables the cost field and adds the item to the budget data automatically. |
| Cost field | Enabled only when "Need to buy" is Yes. Enter the estimated purchase price. This cost syncs to the Budget section under the "Packing List" category. |
| Budget sync auto | Items with a cost are added automatically to budget data. Switching "Need to buy" back to No — or deleting the item — removes them from the budget. |
| Packed toggle | Checkbox on each row. Checking it marks the item as packed — it moves to the bottom of its category group with a strikethrough visual. |
| Delete item | Click the 🗑 icon. A confirmation prompt appears before removal. If the item had a cost, it is also removed from the budget. |
| Mobile row tap | On a phone, tapping any row opens a full-screen bottom sheet editor with larger, touch-friendly inputs for all fields. |
| Mobile sheet — Cancel | Closes the bottom sheet without saving any changes. |
| Mobile sheet — Save | Commits changes and closes the sheet. |
| Dashboard widget | The Dashboard tab shows a "Packing — Items to buy" widget listing all items where "Need to buy = Yes" and packed = false, with their costs. Useful as a pre-trip shopping list. |
| Chart / Widget | What it shows & how to read it |
|---|---|
| Destinations card | Full-width card at the top. Shows total country count, city count, and a list of cities. Two charts: a stacked bar showing Transportation / Accommodations / Activities item count per city, and a stacked bar showing Accommodation and Activity costs per city. |
| City items stacked bar | Each bar represents one city. Segments are coloured by category. Hover a segment to see the count. |
| City costs stacked bar | Each bar represents one city. Shows accommodation and activity costs. All amounts are in your base currency. |
| Transportation card | Two charts: a bar showing distance per route (from→to), and a bar showing cost per route. Click a bar to highlight that route on other charts. |
| Accommodations card | Toggle between two views using the button at the top: Cost per item (bar per stay) and Count per category (bar per stay type). Click any bar to filter. |
| Activities card | Same toggle as accommodations: Cost per item or Count per category. Click to filter. |
| Budget pie chart | Full breakdown of total trip cost by source: Transportation, Accommodations, Activities, Budget items, Packing. All amounts in base currency. Hover slices for percentages. |
| Statistics row | Below each chart a row shows Sum, Maximum, Minimum, and Average for that chart's dataset. |
| Currency conversion auto | Every cost in the dashboard is converted from its original currency to your base currency using the exchange rates you set in the General tab. |
| Per-person costs | If "Number of people" is set in General, each chart also shows a per-person column or annotation below the totals. |
| Packing — items to buy | A widget lists all packing items marked "Need to buy" that are not yet packed, with their costs. Acts as a pre-trip shopping checklist. |
| Manual budget items | In the Budget tab add free-form entries for costs that do not belong to a specific transport, accommodation, or activity (e.g., "Visa fee", "Travel insurance"). These appear in the "Budget items" slice of the pie chart. |
| Budget item destination | Manual budget items can be linked to a destination — they then appear in that destination's cost total in the right sidebar. |
| Cost sharing in budget | When two transport items share a cost, each item's cost is halved in the dashboard so the total is not double-counted. |
| Feature | Instructions |
|---|---|
| Opening the itinerary | Click the View section tab, then select Itinerary. The timeline renders once your plan has start and end dates set in the General tab. |
| Start & end date pickers | Two calendar inputs at the top of the itinerary let you adjust the visible date range independently of the General tab dates. |
| Zoom slider | A range slider (1–4) controls the column width per day: 60 px, 120 px, 180 px, or 240 px. Drag right to zoom in and see individual time slots; drag left for a trip-wide overview. |
| Category filter buttons | A row of emoji buttons (📍 Destinations, 🚇 Transportation, 🏨 Accommodations, 🎯 Activities, 💰 Budget). Click one to show only that category. Click again to deselect. When none are selected all categories are shown. |
| Colour coding | Each category has its own pill colour: Transportation blue, Accommodations purple, Activities green. Destinations and Budget items use additional colours. |
| Timeline legend | A colour key below the controls shows which category each colour represents. |
| Item pills | Each transport leg, accommodation stay, and activity with dates set appears as a coloured pill spanning its date range in the correct column(s). |
| Drag to reschedule | Drag any pill left or right to move it to a different date. The item's start date updates automatically when you release. Multi-day items shift their entire duration. |
| Resize start (left edge) | Hover the left edge of a pill — the cursor changes to ↔. Drag left or right to change the start date. |
| Resize end (right edge) | Hover the right edge — cursor changes to ↔. Drag to extend or shorten the duration. |
| Snap to grid | Dragging and resizing snap to day columns so items always land on whole-day boundaries. |
| Horizontal scroll | The timeline is horizontally scrollable for long trips. Right-click and drag to pan the timeline. |
| Unplaced items | Items without dates set are shown in a separate "unplaced" list below or beside the timeline so you can see what still needs scheduling. |
| Open Day View from timeline | Click any date column header to jump to the Day View for that specific day. |
| Settings persistence auto | The selected zoom level, start date, and end date are saved to localStorage and restored when you reopen the itinerary. |
| Feature | Instructions |
|---|---|
| Opening the map | Click the View section tab, then select Map. The Leaflet map initialises on first open and fits to show all markers. |
| Zoom | Use the + / − buttons on the map, scroll the mouse wheel, or pinch on a touchscreen. At higher zoom levels route lines become thicker. |
| Pan | Click and drag to move the map. On the itinerary, right-click drag also pans. |
| Fit to bounds | The map automatically fits to include all visible markers when the tab is first opened or when the destination filter changes. |
| Destination filter | A dropdown at the top of the map lets you filter to show only the items linked to one destination. Selecting a destination re-fits the map to that destination's items. |
| Destination pin | Each destination shows a numbered pin matching its sequence number. The pin colour corresponds to the destination's position in the list. |
| Click destination pin | Opens the destination's linked items in the right sidebar — the same view as clicking the destination card in the Destinations tab. |
| Boundary polygon | For destinations where boundary data is available, the country or region is drawn as a shaded polygon on the map to visually define the area. |
| Accommodation pin | A hotel icon (purple) marks each accommodation with a geocoded or manually pinned address. |
| Click accommodation pin | Opens the accommodation details in the right sidebar — the same view as clicking it in the list. |
| Activity pin | An activity icon (green) marks each activity with a geocoded or manually pinned address. |
| Click activity pin | Opens the activity details in the right sidebar. |
| Transport route line | A polyline connects the from-location to the to-location of each transport item. The colour and style depend on the transport type — e.g., flights use a dashed purple line, trains a dotted line, cars a solid line. |
| Direction arrow | An arrow along each route line shows the direction of travel. |
| Click route line | Selecting a transport item from the list highlights its route on the map and zooms to fit it. |
| Route caching auto | Calculated routes are cached in memory. The route is only recalculated when you change the from or to location of a transport item. |
| Line weight scaling auto | Route line thickness increases as you zoom in, making routes easier to see at street level. |
| Tab filter auto | When you open an item's edit panel in the left sidebar, the map automatically highlights only the markers relevant to that category — so if you are editing a transport item, only route lines are emphasised. |
| Budget cost circles | In the Budget view, destinations with costs are shown as circles on the map. Circle size is proportional to the total cost at that destination. A label shows the destination name and total. |
| Pin on map mode | Available from the location field of any accommodation or activity. Click the 📍 button — the cursor becomes a crosshair. Click anywhere on the map to drop a pin at that exact spot. The coordinates fill the location field automatically. Press Escape to cancel without placing a pin. |
| Map basemap | The default basemap is CARTO Voyager (clean, minimal street map). OSM and CARTO attribution is shown at the bottom. |
| Feature | Instructions |
|---|---|
| Opening Day View | Click the View section tab, then select Day View. Or click any date column header in the Itinerary to jump directly to that day. |
| Date display | The selected day's full date is shown at the top of the view. |
| Previous day | Click the ← arrow or swipe right on mobile to go to the previous day. |
| Next day | Click the → arrow or swipe left on mobile to go to the next day. |
| Date picker | Click the date header to open a calendar and jump directly to any day in the trip. |
| Items on that day | All accommodations with a check-in or check-out on this day, all transport legs departing or arriving, and all activities starting or ending on this day are listed with their times. |
| Item time display | Each item shows its start/end times in its stored timezone. Check-in and check-out times are shown for accommodations. |
| Item location | The address or destination name for each item is shown beneath its time. |
| Item cost | The cost of each item in its original currency (and in base currency if different) is shown. |
| Linked notes | Notes associated with items on this day are visible in the details section when you tap or click an item. |
| Click an item | Opens the full item details in the right sidebar — the same panel as selecting the item from its own tab. |
| Daily cost total | A summary at the bottom shows the total cost for all items on that day in base currency. |
| Feature | Instructions |
|---|---|
| Auto-save local auto | Every change is written to your browser's localStorage immediately. There is no save button. Your plan survives closing the tab, refreshing the page, or restarting the browser. |
| Cloud sync account auto | In account mode every change also syncs to the database in the background. Open the same plan on any device where you are signed in and it is up to date. |
| Manual save Ctrl+S | Triggers an immediate save even though auto-save is always on. Useful after making several rapid changes. |
| Export plan (JSON) | File menu → Export. Downloads the complete plan as a .ptot (or .json) file to your computer. |
| What is exported | The export file contains everything: plan name, dates, banner URL, all destinations with geocoded coordinates and cached boundary data, all transport items with booking details and transfer rows, all accommodations with contact info, all activities, all notes including canvas node/edge data, the full packing list with costs, all budget items, currency rates, and your display preferences (theme, date format, decimal separator). |
| Import plan | File menu → Import. A file picker opens. Select a previously exported .ptot or .json file. A confirmation dialog warns that the current plan will be replaced. |
| Import after account login | If you were using local mode and then sign up for an account, use File → Import to load your exported local plan file into your account. There is no automatic migration — you must import manually. |
| Export to PDF | File menu → Export PDF. Generates a printable PDF document with your itinerary and item details. |
| Export to CSV | File menu → Export CSV. Generates a spreadsheet-compatible file with all plan items and costs — useful for sharing with a travel partner who does not use the app. |
| Clear all data | File menu → Clear all data. Resets the plan to a completely blank state. A confirmation dialog appears. This cannot be undone. |
| Storage quota warning | If your browser's localStorage is full, an alert is shown. Export your plan as JSON before clearing space. |
| Feature | Instructions |
|---|---|
| Start without account | On the login page click Continue without account. You go straight into the plan editor. No email, no password, nothing required. |
| Where data is stored local | Your plan lives in localStorage in your browser. It persists until you manually clear browser data or use File → Clear all data. |
| Pexels banner search | Available in local mode. Click the banner area on any plan, destination, or activity to search Pexels for a photo. The URL is saved in the plan data and is preserved in exported files. |
| Auto-banner fetch | In local mode the auto-fetch of banners on item creation does not run — the server API call requires an account session. You can still search and set banners manually. |
| Smart Paste account | Smart Paste (paste booking confirmation → auto-fill fields) requires an account. It is the only feature unavailable in local mode. |
| Everything else | Destinations, transport, accommodations, activities, notes, canvas, packing, budget, map, itinerary, day view, export to JSON/PDF/CSV — all fully available without an account. |
| Switching to account later | Sign in at any time. After logging in, use File → Import in the top menu to load your previously exported plan file into your account. |
| Setting | Where & what it does |
|---|---|
| Dark / Light theme | View menu → Dark theme or Light theme. A checkmark shows the active theme. Saved to localStorage — persists on next visit. |
| Date format | File menu → Preferences. Choose DD-MM-YYYY (European) or MM-DD-YYYY (US). All date fields across the app switch instantly. |
| Decimal separator | Preferences → radio buttons. Period (1,234.56) or comma (1.234,56). Affects all cost input fields. |
| Base currency | General tab → Base currency dropdown. All costs are converted to this currency in the dashboard and destination sidebar. |
| Extra currencies | General tab → add currencies with the + button. Added currencies appear in the currency dropdown on individual transport, accommodation, activity, and budget items. |
| Exchange rates | General tab → exchange rate fields. Enter "1 BASE = X FOREIGN" for each extra currency. Applied to all conversions in the dashboard. |
| Smart Paste consent | Preferences → Smart Paste section. See how many extraction patterns have been learned, opt out of pattern learning at any time, or delete all learned patterns. |
| Sidebar width | Drag the left edge of the right sidebar to resize it. The width is saved to localStorage and restored on next visit. |
| Number of people | General tab → Number of people field. Used to calculate per-person cost totals in the budget dashboard. |
| Shortcut | Action |
|---|---|
| Ctrl + S | Manual save. Auto-save is always on, but this triggers an immediate write to localStorage. |
| Ctrl + Z | Undo — active inside the note rich text editor. |
| Ctrl + Y | Redo — active inside the note rich text editor. |
| Ctrl + B | Bold — inside the note editor. |
| Ctrl + I | Italic — inside the note editor. |
| Ctrl + U | Underline — inside the note editor. |
| Escape | Close any open dropdown, menu, or detail sidebar panel without saving. |
| Enter | Submit the current form or add a new packing list item. |
Do I need an account?
No. Every feature except Smart Paste works without one. Your plan lives in your browser's localStorage. Export it as JSON for a backup anytime.
Can I search for banner photos without an account?
Yes. Click the banner area on any plan, destination, or activity to search Pexels. This works in both local and account mode.
How does auto-save work?
Every change saves to localStorage instantly. In account mode it also syncs to the database in the background. You never need to press a save button.
What exactly is in an exported file?
Everything: plan name, dates, banner URL, all destinations with coordinates, all transport legs including transfer rows, all accommodations with contact info, all activities, all notes and canvas data, the full packing list, all budget items, your currency settings, and display preferences.
How do I move my local plan to an account?
First export the plan with File → Export. Then sign in or create an account. Then use File → Import to load the exported file into your account.
Can I use the app on my phone?
Yes — fully responsive. The sidebar becomes a slide-in drawer (hamburger icon), the packing list opens a bottom sheet editor, and swipe gestures work in the Day View.
How many plans can I create?
Unlimited in both local and account mode. In account mode each plan is a separate database record.
How does cost sharing on transport work?
Tick "Share cost with" on a transport item and select another item. The cost is split 50/50 between both. In the dashboard each item shows half the cost so the total is not double-counted. Changing the cost on either item updates both.
What is Smart Paste?
Smart Paste lets you paste the text of a booking confirmation email into a transport, accommodation, or activity form. It extracts fields like booking number, dates, and location automatically. It requires an account and uses pattern learning (with your explicit consent) to improve over time.
Is it really free?
Yes. The full story is on the About page.
How do I give feedback about the app?
Inside the app, click the Help button in the top menu bar, then choose Feedback. A form opens where you can report a bug, leave a compliment, or suggest an improvement. You can optionally leave your email if you are happy to be contacted. Alternatively email hello@plantotravel.eu directly.
Ready to plan something?
Open the app and create your first plan. Everything is where you would expect it.