Event Schedule Generator
Build an event run sheet from pasted rows or CSV, detect overlaps and tight handoffs, and export timelines, tables, JSON, and ICS.{{ runSheetText }}
| Start | End | Session | Minutes | Owner | Location | Track | Handoff | Notes | Copy |
|---|---|---|---|---|---|---|---|---|---|
| {{ row.start_label }} | {{ row.end_label }} | {{ row.title }} | {{ row.duration }} | {{ row.owner }} | {{ row.location }} | {{ row.track }} | {{ row.handoff }} | {{ row.notes }} | |
|
No valid session rows
Paste CSV, TSV, or pipe-delimited rows before exporting this ledger.
|
|||||||||
| Check | Status | Evidence | Next action | Copy |
|---|---|---|---|---|
| {{ row.check }} | {{ row.status }} | {{ row.evidence }} | {{ row.action }} |
Introduction
A reliable event schedule is built around cues, not just titles. Once a session has a start time, every speaker handoff, room reset, catering break, livestream cue, and attendee movement depends on that line being realistic.
Participant agendas and crew run sheets overlap, but they answer different questions. The agenda tells attendees what will happen. The run sheet tells hosts, crew, speakers, and coordinators when each cue starts, who owns it, where it happens, and how much breathing room exists before the next cue.
| Situation | What can go wrong | Useful schedule clue |
|---|---|---|
| Single-room workshop | Sessions touch cleanly on paper but leave no time for questions, reset, or late arrivals. | Positive gap minutes between sessions. |
| Room or stage move | The next speaker, audience, or production crew must move faster than the venue allows. | Location change plus short handoff. |
| Fixed lunch, keynote, or livestream | A locked start creates an overlap with the previous segment. | Negative gap shown as overlap minutes. |
| Multi-owner program | A valid time slot still has no named person responsible for the cue. | Owner listed as a person, role, or team instead of TBD. |
Three timing terms do most of the work. Duration is the time reserved for the session itself. Gap is the time between one session ending and the next session starting. Buffer is a deliberate gap added so the plan survives normal friction such as questions running long, furniture moving, or a speaker walking from one room to another.
Draft schedules often mix locked times with flexible blocks. A keynote, livestream opening, lunch delivery, or room booking may have to start at a fixed clock time. A workshop exercise, welcome segment, or cleanup block may simply follow the previous item. That mix is where overlaps and short handoffs usually appear, because changing one duration does not automatically make every locked cue move with it.
Calendar imports add a final constraint. A schedule can use local event times, but the receiving calendar still has to understand the named time zone and display the same intended wall-clock time. A good run sheet keeps the human operating plan and the calendar version easy to compare before invites, reminders, or public listings go out.
How to Use This Tool:
Start with the event basics, bring in the session rows, then use the schedule checks to decide what needs fixing before the run sheet is shared.
- Set Event name, Default start date & time, Time zone, and Venue. Use Now only when the draft should start from the current local clock.
- Set Default buffer from 0 to 90 minutes. Blank-start rows use this buffer when they flow after the previous session; rows with typed starts keep their own times.
- Paste rows into Session rows, drop a supported text file, or use Browse CSV/TXT. Use start, title, minutes, owner, location, track, and notes; leave the start blank when a row should follow the previous session automatically.
- Open Advanced when the source needs a different timing rule. Use explicit starts when present keeps locked cues, while Auto-flow every row ignores typed starts and builds one continuous schedule from the default start.
- Choose Display time format for the run sheet and set Short handoff warning from 0 to 60 minutes. A positive gap below that warning is marked for review.
- Fix validation messages before relying on the results. Common blockers are an invalid date, an invalid default start time, no usable session rows, a non-positive duration, or a file that is not CSV, TSV, TXT, or plain text under 2 MB.
- Review Run Sheet, Session Ledger, Timing Brief, and Schedule Timeline. Use the calendar download only after the ledger and brief match the event plan you intend to run.
Interpreting Results:
The Timing Brief is the fastest place to find work that remains. Fix means the schedule has a blocking problem such as overlap minutes or missing calendar-safe data. Review means the time order can still be valid, but the crew should check owners, gaps, or location moves. Ready means that check passed with the current rows and settings.
- Timing flow should be fixed before distribution when overlap minutes are above zero.
- Owner coverage needs review when any session still uses
TBD. - Location handoffs need review when a room or stage change has too little transition time.
- Calendar payload should be ready before the calendar file is imported or sent to others.
A schedule with no overlaps is still not proof that the event is staffed, accessible, or operationally safe. Compare the Session Ledger against the original agenda, inspect the Schedule Timeline for surprising compression, and check the imported calendar before treating the run sheet as final.
Technical Details:
Event schedule math uses half-open time intervals. The start minute belongs to the session, and the end minute is the boundary after it. With that convention, a session ending at 10:00 and the next session starting at 10:00 are back-to-back rather than overlapping.
Rows become timed sessions through two decisions: what the row describes, and where it begins. The descriptive fields identify the session title, duration, owner, location, track, and notes. The timing rule then chooses either the typed clock value or the current auto-flow pointer. Durations are rounded to whole minutes and must remain positive, because a zero-minute or negative session cannot create a useful handoff boundary.
Formula Core
The main quantities are start minute, end minute, gap, and overlap. Minute offsets are measured from local midnight on the selected event date, with next-day sessions allowed when the schedule passes midnight.
If one segment runs 09:00-09:30 and the next starts at 09:25, the gap is -5 minutes and the overlap is 5 minutes. If the next starts at 09:35, the gap is 5 minutes and the overlap is 0. A short handoff is a positive gap that is lower than the selected warning threshold.
Rule Core
| Rule | Boundary | Effect on the schedule |
|---|---|---|
| Date | Must be a valid YYYY-MM-DD calendar date. |
Invalid dates block the calendar-safe output. |
| Clock values | Accepts 24-hour time and 12-hour time with AM or PM. | Used for the default start and for explicit row starts. |
| Duration | Must be greater than 0 minutes after parsing and rounding. | Invalid or zero-length rows are rejected. |
| Default buffer | 0 to 90 minutes. | Added after each scheduled row to set the next auto-flow start. |
| Short handoff warning | 0 to 60 minutes, compared with gap < warning. |
Positive gaps below the threshold are marked for review. |
| Mixed timing | Explicit row starts are kept when present. | Blank-start rows flow from the current pointer; locked starts can create overlaps. |
| Auto-flow timing | Typed row starts are ignored. | Every row follows the previous end plus the default buffer. |
| Overnight starts | An explicit start far earlier than the previous start is treated as next day. | Late-night schedules can continue past midnight and display a next-day suffix. |
Calendar files use the selected time zone identifier with local start and end values. The iCalendar event model treats the start as inclusive and the end as non-inclusive, so adjacent sessions may share the same boundary minute. Import accuracy still depends on the receiving calendar recognizing the selected time zone and using current time zone data for daylight-saving and legal offset changes.
Accuracy Notes:
The timing calculation is deterministic once the rows and settings are fixed, but schedule quality still depends on event details that may not be present in the pasted rows.
- Calendar import can vary when the receiving app does not recognize the selected time zone identifier or has stale time zone data.
- Room walking time, equipment reset, queueing, accessibility needs, and staffing conflicts are visible only when they are represented as gaps, locations, owners, or notes.
- Rows with explicit starts are not moved by the default buffer in mixed timing. Review every locked start after changing durations or warning thresholds.
- File import reads one supported text file at a time and rejects row files larger than 2 MB.
Worked Examples:
Workshop with a deliberate handoff. With a default start of 09:00, a 5 minute Default buffer, and blank-start rows for Arrival and setup, 30, Ops, Lobby followed by Welcome, 15, Host, Main room, the Run Sheet shows 09:00-09:30 and 09:35-09:50. The Timing Brief can mark Timing flow ready when the warning threshold is 5 minutes because the gap is not below the threshold.
Locked start that overlaps. A 45 minute lab from 09:30 ends at 10:15. If the next row explicitly starts at 10:00, Timing flow reports Fix with 15 overlap minutes. The practical repair is to move the locked start, shorten the lab, or add a visible transition plan before sharing the run sheet.
Room change with too little time. If a main-room session ends at 10:00 and the next foyer session starts at 10:03 while Short handoff warning is 5 minutes, Timing flow and Location handoffs both need review. The rows are in chronological order, but the crew still has to confirm movement, signage, and reset time.
FAQ:
What row format should I paste?
Use one session per line in this order: start, title, minutes, owner, location, track, and notes. CSV, TSV, pipe-delimited text, and plain text rows are accepted, and the start field may be blank.
Why did changing the buffer not move a session?
In mixed timing, explicit row starts stay locked. The buffer sets the next auto-flow start for blank rows and helps judge whether locked starts leave enough handoff time.
Why does the timing brief say Fix?
Fix usually means overlap minutes are present or the calendar payload lacks a valid date and at least one session. Check the Session Ledger row, then adjust the start, duration, or event date.
Can a schedule continue past midnight?
Yes. Auto-flowed rows can pass midnight, and explicit starts that clearly roll into the next day display with a next-day suffix so the run sheet stays in event order.
Why should I inspect the imported calendar?
The calendar file carries session start and end times with the selected time zone identifier, but the receiving app controls final display. Inspect the imported calendar before sending invites or publishing the schedule.
Glossary:
- Agenda
- The participant-facing outline of what will happen during the event.
- Run sheet
- The operating schedule used by hosts, crew, speakers, and coordinators.
- Cue
- A planned moment when someone needs to start, stop, speak, move, reset, or hand off.
- Handoff
- The transition between one session ending and the next session starting.
- Buffer
- Reserved time between sessions to absorb normal event friction.
- Half-open interval
- A time span where the start is included and the end marks the boundary after the session.
- Time zone identifier
- A named zone such as
America/New_YorkorAsia/Kuala_Lumpurused to preserve intended local times.
References:
- RFC 5545: Internet Calendaring and Scheduling Core Object Specification (iCalendar), RFC Editor, September 2009.
- Time Zone Database, Internet Assigned Numbers Authority, latest version 2026b released 2026-04-22.