happytails.ai

Trip day-by-day calendar builder

Open Trip day-by-day calendar builder on Happytails.ai. This view has the same page content and links, with explicit tool capabilities. Read the processing notes before using a tool.

Tool capabilities

{
  "id": "trip-day-by-day-calendar-builder",
  "category": "date-time-tools",
  "built": true,
  "requirements": "Up to 500 rows and 300,000 characters. Places up to 300 characters and notes up to 1,000 characters. Everything is calculated on your device. Downloads: JSON report, CSV, an iCalendar (.ics) file and a printable HTML page.",
  "implementation": {
    "fields": [],
    "registrationFamily": "travel-and-meeting-time",
    "inputMaxLength": 300000,
    "inputErrorCode": "TRAVEL_AND_MEETING_TIME_TOO_LONG_TRIP_CALENDAR",
    "note": "Each row is converted on this device in its own time zone, for up to 500 rows, and the calendar stores timed entries in UTC so they show at the right local time.",
    "experience": {
      "automatic": false,
      "single": false,
      "inputMaxLength": 300000,
      "inputMode": "text",
      "label": "Itinerary as CSV",
      "placeholder": "date,start,end,time_zone,place,notes",
      "help": "Dates use YYYY-MM-DD, times use 24-hour HH:MM and time zones use names such as Europe/Lisbon. Up to 300,000 characters. Review the settings before running.",
      "helpParts": [
        "Dates use YYYY-MM-DD, times use 24-hour HH:MM and time zones use names such as Europe/Lisbon.",
        "Up to 300,000 characters.",
        "Review the settings before running."
      ],
      "action": null
    },
    "mode": "explicit",
    "interactive": false
  },
  "execution": "Browser interface",
  "api": null,
  "browser_agent": {
    "supported": true,
    "name": "run_current_tool",
    "discovery": "WebMCP on the human page in a supporting browser",
    "verification": "See audit/API-AUDIT.md; availability is not verification"
  }
}

Page guide

Turn itinerary rows into a day-by-day trip plan and a calendar file. Each row keeps its own time zone, and rows without times become all-day entries.

How to use Trip day-by-day calendar builder
  1. Paste one row per plan item with the date, start and end time, time zone, place and notes.
  2. Leave the start and end empty for all-day items such as a hotel check-in day.
  3. Review the day-by-day table and any rows flagged for a clock change.
  4. Download the calendar file, the printable page, the CSV or the JSON report.

Useful next steps

How times are converted

Each row is read in the time zone written on that row, so a dinner in New York and a tour in Lisbon both keep their local times. An end time at or before the start time is treated as ending the next day. If a time falls in a skipped hour on a clock-change day it is moved forward, and the row is flagged.

Calendar file

Timed entries are written in UTC, which every major calendar app converts to the viewer's local time. All-day entries are written as dates. Each event identifier is built from the row, so importing the same file twice does not create duplicates in most apps.

Limits

Each row uses one time zone. For a flight between zones, add the departure and arrival as separate rows in their own zones. Time zone rules come from your browser and can differ slightly between browsers.