Generate weekly schedule
generate_weekly_scheduleUse this when the user wants a weekly schedule maker, class schedule maker, college schedule builder, time blocking template or work schedule template: a printable week grid PDF from a list of recurring blocks (title, days, start-end time, optional location and colour), with each overlap listed (day and minutes overlapped), hours per title and per day, free gaps of 30+ minutes, and an .ics calendar file with one weekly repeating event per block (term start to term end, time zone aware, skip dates). Accepts sloppy text such as "Calc MWF 9-10:15am" or "Gym Tuesdays and Thursdays 7-8am". Does not handle alternate-week or one-off events, does not read files or screenshots, and does not plan shift rotations between people.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"blocks": "<blocks>"
},
"name": "generate_weekly_schedule"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| clock | No | Time format: 12h (default, 9:00 AM) or 24h (09:00), e.g. 24h. Default follows the input style. | |
| paper | No | Paper size for the PDF: letter (default in the US and Canada) or A4, e.g. A4. | |
| title | No | Heading on the printout, e.g. Fall 2026 classes. Default: Weekly schedule. | |
| blocks | Yes | The weekly blocks: classes, shifts, workouts, focus time. Either one line per block as text, e.g. "Calculus MWF 9-10:15am Room 204\nBiology Lab Tue 2-5pm\nGym Tuesdays and Thursdays 7-8am", or a list of objects like {"title":"Calculus","days":"MWF","start":"9:00","end":"10:15am","location":"Room 204","color":"blue"}. Days accept MWF, M/W/F, TTh, TR, Tue Thu, Tuesdays and Thursdays, weekdays, Mon-Fri, weekends, daily. Times accept 9-10:15am, 9am to 10.15, 14:00-15:30, noon-1pm, 10pm-6am (overnight). | |
| day_end | No | Optional end of the day window used for free time, e.g. 6pm. Default: the latest block end. | |
| term_end | No | For the calendar file: last day of the term, e.g. 2026-12-11. Each block repeats weekly until this day. Default: repeats with no end date. | |
| day_start | No | Optional start of the day window used for free time, e.g. 8am. Default: the earliest block start. | |
| time_zone | No | For the calendar file: the time zone or city of the schedule, e.g. America/New_York or Chicago. Default: floating local times (no zone). | |
| days_shown | No | Which days get a column: auto (default: Mon-Fri, plus the weekend when a block falls on it), weekdays, or all, e.g. all. | |
| skip_dates | No | Dates with no sessions (holidays, breaks), left out of the calendar file, e.g. "Nov 25 - Nov 27, Sep 7" or ["2026-11-26","2026-11-27"]. | |
| term_start | No | For the calendar file: first day of the term or schedule, e.g. 2026-08-24 or Aug 24 2026. Default: today. | |
| week_start | No | First day of the week in the grid: Monday (default) or Sunday, e.g. Sunday. | |
| orientation | No | Page orientation: landscape (default) or portrait, e.g. portrait. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| paper | Yes | ||
| title | Yes | ||
| blocks | Yes | ||
| summary | Yes | ||
| calendar | Yes | ||
| warnings | Yes | ||
| conflicts | Yes | ||
| downloads | Yes | ||
| free_time | Yes | ||
| days_shown | Yes | ||
| week_start | Yes | ||
| assumptions | Yes | ||
| hours_shown | Yes | ||
| orientation | Yes | ||
| totals_by_day | Yes | ||
| totals_by_title | Yes | ||
| total_busy_hours | Yes |