This manual outlines how to adapt your existing itinerary planner for a new trip. It includes which files to update, what each change means, and how to prepare your files before uploading them to your self-hosted site.
items.json
This file contains the list of all attractions, restaurants, shops, etc.
id
: A unique ID (e.g., "sagrada-familia"
)name
: Name of the locationemoji
: Optional emojisummary
: One-line descriptionaddress
: Used for map linksphoto
: URL of an imagewebsite
: URL for more infoopen_time
: Optionalcategory
: e.g., food, culture, activitytype
: e.g., restaurant, museumarea
: Used for the tab filtersday_hint
: Optional suggestionindex.html
, day.html
These files show the calendar and the day-by-day view.
"14"
, "15"
)."01"
to "07"
).day-select
dropdown in day.html
.day.js
:Update this section:
const start = new Date(year, <MONTH-1>, <START_DATE>);
const end = new Date(year, <MONTH-1>, <END_DATE>);
calendar.js
This function automatically inserts the apartment each morning:
function autoInsertApartment() {
const apartment = items.find(item => item.name === "Your Accommodation Name");
Update the name and which days it should appear (e.g., ["14", "15", ...]
).
save.php
and load.php
.itinerary.json
.items.json
calendar.js
day.html
day.js
autoInsertApartment()
itinerary.json
before each trip./trips/rome-2026/
if you want to archive older trips.itinerary.json
and upload your new items.json
.