Founding offer — 25% off applied automatically at checkout. Ends 1 November 2026 or after our first 30 orders. See pricing →
Skip to document content
Guide

Timetable Planner

23 min read 9 views
Version
1.0
Last Version Update
October 4, 2026
Effective From
October 4, 2026
Review Cycle
Annual
Next Review Due
October 2027

20 — Timetable Planner

🔒 Pro feature — requires Dantian Training Hub Pro.

The Timetable Planner is where you build next year’s teaching timetable before any of it goes live. You plan a whole year of classes for every cohort on one canvas, catch clashes (a trainer in two places, a room booked twice, a class on a public holiday) before students see them, send each trainer their own schedule to accept or query, and then publish the finished year to the attendance calendar in one step.

It is built for the people who own the timetable at a college or RTO — usually the training coordinator or an administrator. Trainers take part through a review page and an availability form on the front end; students only ever see the published result.

The Planner is a separately licensed Pro module. If it is not part of your licence, the Timetable Planner menu item and its settings tab do not appear.


Key terms

The Planner uses these words throughout its screens:

  • Planning year — one calendar year of timetable (for example “2027 Academic Year”). Everything else belongs to a year.
  • Subject — an evergreen unit of teaching, such as “Anatomy & Physiology 1”. Subjects are defined once and reused every year. A subject can have a parent topic, a level, a qualification, units of competency and a colour.
  • Subject delivery — how a subject runs in one particular year: target number of sessions, session length, an optional minimum student number and the LMS course its classes belong to. A subject delivered in more than one way (for example 2-hour online tutorials and 3-hour practicals) has one delivery stream per way, and each stream publishes to its own course.
  • Cohort — a group of students attending together, such as “Diploma 2027 Intake”. A cohort has a label, qualification, level, semester and colour.
  • Subgroup (shown as Group on the public timetable) — a division of a cohort into delivery streams, such as Local / Intensive or Group A / B.
  • Timeslot — a recurring weekly slot a cohort is expected to meet in (“Monday 17:30–21:00”). The canvas uses timeslots to show gaps.
  • Resource — a bookable room or online account. Resources drive the clash check.
  • Session — one class: a date, start and end time, subject, cohort(s), trainer(s) and resource(s).
  • Term dates & breaks — semesters, intensives, teaching breaks, public holidays, non-teaching days, institution events and cultural observances for the year.
  • Release — the point at which the year stops being a draft and its classes are published to the attendance calendar.

Where to find it

  • Training Hub → Timetable Planner lists your planning years. The + Add Year and Settings buttons sit beside the page title.
  • Click a year’s label (or View) to open the year. It opens on the Canvas tab. The tabs are grouped by stage:
    • Plan — Overview, Canvas, Resource canvas, Assessments
    • Setup — Cohorts, Subject delivery, Resources, Term dates & breaks, Trainers, Sessions
    • Release — Approvals, Publish to Attendance, Subject outlines, PDF exports
  • A status banner at the top of every year page shows the year’s status and the single next step to take (for example Add cohorts, Seed from prior year, Send for approval or Publish to Attendance).
  • Planner-wide settings live on Training Hub → Settings → Timetable Planner.
  • The list of users who can be assigned as trainers is on Training Hub → Settings → Course Details, in the Trainers card.

Year statuses

Status Meaning
Draft Being built.
Sent for approval Review invitations have gone to trainers and you are collecting responses.
In revision You have reopened the year to make changes after sending it for approval.
Released The year is published. The public timetable, PDF downloads and subject outlines treat it as final.
Re-release pending A released year that is being re-reviewed.
Archived Finished. The status banner shows it as read-only and assessment dates can no longer be changed.

The status moves forward on its own as you work (sending any invitation moves a draft to Sent for approval; your first Publish Version marks the year Released). You can also change it by hand under Overview → Year Configuration → Year Details.


Before your first year: planner settings

Open Training Hub → Settings → Timetable Planner (or the Settings button on the years list).

Subjects — click + Add Subject to build your subject library: subject name, parent topic, level, qualification, units of competency and colour. Leave the colour empty to have one assigned automatically.

Resources — your bookable rooms and online accounts. Use Availability on a resource to add recurring weekly windows (+ Add recurring slot) and One-off availability & closures (an Override opens the resource on specific dates; a Blackout closes it). A resource with no rules is treated as always available.

Session format compatibility — which resource types each session format (Standard, Intensive, Practical, Workshop) can run in. Leave all boxes unticked for “any”.

Trainer review settings

Setting What it does Default
Trainer review page The page holding the [dthub_planner_trainer_review] shortcode. Invitation emails link here. Not set (links fall back to your home page — set this before sending invitations)
Require trainer login On: invitations contain a plain link and the trainer must log in. Off: invitations contain a personal secure link that works without logging in. Off
Reminder days Send one reminder this many days before the reply-by date. 0 turns reminders off. 0

Default subgroup template — the subgroups every new cohort starts with (for example LOC / Local, INT / Intensive). Codes are uppercased automatically. With no template, new cohorts start with Group A / B / C / D.

Calendar visibility — Show cultural observances on trainer and student calendars (on by default). Public holidays, non-teaching days and institution events always appear.


Creating a planning year

  1. Go to Training Hub → Timetable Planner and click + Add Year (it jumps to the Add New Year form).
  2. Enter the Year (the calendar year, for example 2027) and a Label (for example “2027 Academic Year”).
  3. Leave Status as Draft and click Add Year.

Each calendar year can have only one planning year — a second one shows “Planning year 2027 already exists.” The calendar year cannot be changed after creation; the label can.

To start from last year’s structure instead, use Duplicate on an existing year (see Copying from a previous year).


Setting up the year

Work through the Setup tabs. The status banner tells you what is still missing.

Cohorts — click + Add cohort and enter the label, short code, qualification, level, semester and colour. Each cohort row then has:

  • Timeslots — the expected weekly pattern: day, start and end time, a drag-snap increment (sessions dropped on the slot snap to this many minutes), an optional resource, label and subgroups. Leave subgroups blank for a cohort-wide slot.
  • Custom date-specific timeslots — slots for intensive blocks or one-off extra classes. Tick several and use Move selected to shift them by a number of weeks. Moving an intensive’s dates on Term dates & breaks moves its slots with it.
  • Subgroups — rename the defaults or add your own. A subgroup’s code cannot be changed after it is created.

Subject delivery — click + Add Subject Delivery and choose the subject, Target sessions, Session duration (hours), an optional Minimum students and an optional LMS course (or leave it as “Resolve at push time”). Open Advanced — delivery stream to scope a row to a delivery mode, cohort, subgroup or semester and give it a Stream label. The subject cannot be changed once the row exists — delete the row and add a new one instead. The Scheduled column shows progress against the target.

Resources — the year’s view of your resources, where you add year-specific closures and overrides.

Term dates & breaks — click + Add Calendar Event for each semester or teaching period, intensive, teaching break, public holiday, non-teaching day, institution event and cultural observance. Breaks and holidays are skipped by bulk creation and flagged by the clash check. Semesters also give you semester-relative week numbers: a session in week 7 of the year that falls in week 3 of Semester 1 is shown as S1·W3 (W7).

Trainers — lists every trainer who has sessions in the year, with their availability notes. See Trainer unavailability.

Allocating students to groups

When a cohort is split into subgroups, each student’s group is set on their Student Report, on the Subgroups tab. Set every subject at once with Set all to: or change individual subjects. The tab needs planner subjects that are linked to a qualification.


School holidays, public holidays and closures

On Term dates & breaks, click Import Calendar Events to fill in holidays automatically. Dates already in the year are skipped.

  • nager.at — official public holidays, free, no account needed. Enter a two-letter Country code (for example AU) and optionally a state or region code (for example AU-VIC).
  • Calendarific — public holidays and observances. Needs a free API key, which is saved after the first successful import.

School holidays are not imported. The Calendarific option shows a School Holidays checkbox, but Calendarific does not publish school term or school holiday dates, so nothing is ever imported for it. Enter school terms yourself as Non-Teaching Day entries (or as a Teaching Break if you do not teach during them).

Closures of a single room belong on the resource itself (Resources tab, or a Blackout in the planner settings), not on the year calendar.


Building the timetable on the canvas

The Canvas tab is the main planning surface. Filters across the top narrow it by Cohort, Resource, Mode (In-person, Online, Hybrid, No resource) and Subgroup. Your view and filter choices are remembered for next time.

Views — one button per semester and intensive, quarters (Q1–Q4), Stacked (the whole year in four bands), Week, Month and Full year. A second row sets the rows: By timeslot, By subject or By trainer. Heatmap shows sessions per trainer or subject per week against a target, with Compare prior year and Export PDF. Session list is a sortable, filterable table with CSV export.

Adding sessions

  • Add a session opens the session form: subject, cohorts, date, start and end time, status (Planned, Tentative, Break, Holiday, Cancelled), delivery requirement, resources, trainers and notes. You do not type a week number — it is worked out from the date. An undated session can be held at a pencilled week until it gets a date.
  • Bulk Create Sessions creates a run of classes in four steps — Dates (date range, days of the week, and whether to skip term breaks), Times (one or more time slots), Details (subject, cohorts, notes) and Preview — before Create sessions. You must give a start and end date (start on or before end) and at least one time slot.

Changing sessions — drag a session to another week, day or row to reschedule it, or click it to edit. Open full edit → opens every field. Sessions can be parked in the staging lane while undated, grouped into blocks, swapped and moved in bulk.

Clash checking runs as you plan and is summarised on the Overview tab under Clash Alerts. It looks for:

  • a trainer booked into two overlapping sessions;
  • a room or online account booked twice at once;
  • a cohort with more sessions in a week than its timeslots allow (the Overfill threshold on the Overview tab, default 1, applies to cohorts with no timeslots);
  • sessions on a public holiday or inside a break;
  • assessment problems: an in-person assessment with no class to sit it in, a deadline on a holiday or in a break, a deadline before the first class of its subject (usually a date carried over from last year), and three or more deadlines for one cohort in one week (a warning).

Trainer unavailability is not a clash in itself, but it is shown on the canvas and heatmap so you can see it while you plan.

Errors must be fixed before the year can be published; warnings are for your judgement.

Overview shows cohort, session, hours and clash totals, an Hours Summary per subject, and Year Settings — the per-year Trainer approval gate and Overfill threshold.

Resource canvas lays the year out by room and online account so you can see and change which resource each session uses.


Copying from a previous year

There are two ways to bring last year forward. Both are on the years list.

Duplicate creates a new planning year (enter a new calendar year between 2020 and 2100 and a label) with the same cohorts, term dates & breaks and subject delivery rows. Dates are moved to the same week and weekday in the new year. Sessions are not copied.

Seed (the year’s seed wizard) builds this year’s sessions from the classes that actually ran in Training Hub:

  1. Step 1 — What are you copying? Choose Copy a whole year (pick the source and target year) or Copy a date range (from date, to date and a target start date). Keep Preserve weekday alignment on so Mondays stay Mondays.
  2. Click Detect courses →.
  3. Step 2 — Map detected courses. For each course found, choose the subject and the cohort(s) attending. If a subject is missing, create it on the spot with Create new subject. Set up your subjects and cohorts first and the table will suggest matches.
  4. Click Import sessions →. Sessions that land in a break or on a holiday in the new year are marked Break or Holiday so you can review them.

Assessment dates in the planner

Assignment and quiz deadlines can be planned alongside the classes.

  • Assessment dates on the years list brings last year’s deadlines forward: Step 1 — find last year’s courses (choose the year to read deadlines from), Step 2 — check the matches (set the shift from and to dates, and whether to keep the same weekday), Step 3 — what will be added, then Add these dates to the plan. Nothing is written to a course at this point.
  • The Assessments tab lists every planned deadline with filters and bulk actions (set cohorts, mark as sat in person, set status, shift dates by a number of weeks). Deadlines also appear as markers on the canvas, where they can be dragged.
  • An assessment sat in person is attached to a class and takes that class’s date.
  • Deadlines reach the live courses when you publish. Unlike sessions, deadlines can still be edited during an approval round and after release; only an archived year refuses changes.

How due dates and extensions then behave for students is covered in 15 — Assessment Quizzes and Assignment Due Dates.


Trainer unavailability

Trainers can record dates they are unavailable, on reduced load, or a general note, in three places:

  • On the front end — the My Availability tab of the assignment hub, or a page holding [dthub_planner_trainer_unavailability]. The trainer must be logged in. They choose From, To (optional), a Type (Unavailable, Reduced load, Note only) and a Note (optional), then Save note. Notes appear immediately on the canvas. A trainer can only add notes for years in which they have sessions, and can only remove their own notes.
  • On the review page — while reviewing, a trainer can tick I am unavailable during this period against a session. Any of their other sessions in that date range are flagged automatically.
  • In the admin — Trainers tab → + Add trainer note.

Unavailable dates show on the canvas and in the heatmap (as “trainer unavailable” or “reduced load”).


The trainer approval round

Once the canvas is ready, ask each trainer to confirm their sessions.

Before you start: create a page with [dthub_planner_trainer_review], choose it as Trainer review page in the planner settings, and make sure each trainer has sessions assigned (trainers are taken from the sessions themselves).

Sending invitations

On the year’s Approvals tab you can:

  • Send all invites — to every trainer with sessions in the year;
  • Send review request to selected — tick trainers first (Select all outstanding helps);
  • Send invite (or Resend) on a single trainer’s row;
  • Send the changes to N trainers — to trainers whose sessions you changed after they answered (each email lists exactly what moved);
  • Notify trainers with concerns — re-notify trainers who flagged sessions.

Each option takes an optional Reply-by date. Sending moves the year to Sent for approval. Each email can carry the trainer’s schedule and year-planner as PDF attachments (set on PDF exports → Trainer invitation attachments; both on by default).

What the trainer does

The trainer opens Open your review page from the email and sees Timetable Review — (year). For each session they choose Accept or Flag concern (a comment is required when flagging, unless they record unavailability dates instead). Accept all and Flag all pre-fill the answers. They can add general feedback under Anything else? (optional) and press Submit review. They can come back later and Change my responses.

Tracking and replying

The board counts trainers who have responded and approved, and shows Board is green — ready to release when nothing is outstanding. Each trainer row shows accepted (✓), flagged (⚑) and unanswered counts. Click View to see every response. On a flagged session you can type a reply, tick Email the trainer (with a fresh review link), and Send reply; then Mark resolved (or Re-open). Replies are limited to 1,000 characters.

A trainer who accepts everything counts as accepted automatically. Use ✓ Mark approved only for a trainer whose concerns you settled another way.

Changing the timetable mid-round

You can keep editing during the round. Any trainer whose sessions change is shown as needing to review again, and the change-only email tells them what moved. Enter revision mode moves the year to In revision; sending invitations again moves it back to Sent for approval.

Reminders

If Reminder days is above 0, a check runs each morning at about 08:00 site time. A trainer who was sent an invitation, has a reply-by date within that many days, and still has sessions unanswered (or changed since they answered) gets one reminder email with a fresh link. Trainers who have answered everything — including those waiting on you to resolve a flag — are not reminded.


Releasing the year and publishing to attendance

Marking the year released

On Approvals, Mark as released appears once the year has been sent for approval. If the board is not green you must tick Release anyway first. Running Publish Version (below) for the first time also marks the year released.

If the Trainer approval gate is on (Overview → Year Settings; off unless you turn it on), publishing is blocked until every trainer has accepted or been marked approved.

Publish to Attendance

The Publish to Attendance tab turns planned sessions into real classes in Training Hub — the sessions trainers mark attendance against and students see on their calendars.

  1. Resolve courses. Each delivery stream needs an LMS course: Link existing course, Duplicate a course (copies the course with its content; with Tutor LMS this needs Tutor LMS Pro), or Create new draft course. On sites without Tutor LMS or LifterLMS only linking is available. Click Save resolutions.
  2. Pre-flight check lists anything blocking publication: streams with no course, sessions that match none of their subject’s streams, scheduling errors, an unreleased year, and outstanding trainers when the approval gate is on.
  3. Publish to Attendance publishes every dated session not yet published. Undated sessions are skipped. You can limit it to selected cohorts.
  4. Optionally, Create Online Meetings queues online sessions for automatic meeting creation if your LMS has an online-meeting provider enabled.

Publish Version — keeping live classes in step

After release, change the plan as needed and use Publish Version at the bottom of the tab: Preview Changes, choose Patch, Minor or Major, write a Changelog note (required) and Publish. This updates live classes that have drifted from the plan, publishes new dated sessions, and records an entry in Version History. Changes a coordinator made directly to a live class are offered to be adopted into the plan rather than overwritten. Trainers affected by the changes have their approval withdrawn so they can confirm again.

From a published session on the canvas you can Sync to Training Hub or Detach it. Cancelling a published session keeps its attendance history but removes it from calendars, the public timetable and PDFs.

Once a year is released you can build subject outlines from it — see 19 — Subject Outlines.


Sharing the timetable

PDF exports — Cohort Timetable, Subject Timetable, Trainer PDFs (schedule and calendar), Full Year Calendar and an Open Day Pack (every cohort and subgroup timetable zipped together). The default layout (Weekday pages or Running list) is set on this tab. Until the year is released, trainer PDFs carry a draft watermark.

Public timetable — place [dthub_timetable] on any page to show released years to anyone, filterable by year, cohort, group and period, as a month calendar or a year list, with PDF download links. Staff see a Staff only subject timetable download as well.


Shortcodes

Shortcode Who it is for What it shows
[dthub_timetable] Anyone Released timetables with filters and PDF downloads. Attributes: year, view (month or list, default month), cohort, subgroup, period (default 0 = all), and preview (default 1; lets logged-in planner staff preview unreleased years — set 0 to turn off). Visitors can change the filters on the page.
[dthub_planner_trainer_review] Trainers The timetable review page reached from invitation emails. Also hosts subject-outline reviews.
[dthub_planner_trainer_unavailability] Trainers (logged in) My Availability Notes.

Without a valid link or login, the review page asks the visitor to open it from their invitation email; an old or replaced link shows “This review link is invalid or has expired.” When the planner is not licensed, the review and availability pages show a short “not currently available” message and the public timetable shows nothing.


Permissions

Who Can
Administrators (manage_options) Everything: years, settings, canvas, approvals, publishing, PDFs.
Trainers (users who can manage tutorials) Review their own sessions, record their own availability notes, preview unreleased years on the public timetable. They cannot open the planner admin.
Trainers without an account login Can use a personal review link when Require trainer login is off.
Students and visitors See released years on the public timetable and the classes published to their calendars.

Who appears in the trainer picker is set in Settings → Course Details → Trainers: designated users plus your LMS instructors, who are included automatically.


Emails and scheduled tasks

Email Sent when To
Timetable Review Request — (year) You send an invitation The trainer
Reply about your timetable flag — (year) You reply to a flag with Email the trainer ticked The trainer
Reminder: Timetable Review Request — (year) The daily reminder check finds outstanding work The trainer

Emails are sent through Training Hub’s email service. Their wording is not editable from the settings screens. A trainer’s submitted review does not email the coordinator — check the Approvals tab.

The only scheduled task is the daily approval reminder check at about 08:00 site time, which does nothing while Reminder days is 0.


Data and privacy

The planner stores its years, cohorts, sessions, assignments of trainers and resources, calendar events, availability notes, trainer review responses and replies, and publishing history in its own database tables. Review links are stored only in a scrambled form and expire after 60 days; sending a new invitation or reminder replaces the trainer’s previous link.

Deleting a planning year removes all of its sessions and related records and cannot be undone. Classes already published to Training Hub are not deleted with it.

Planner data is kept when Pro is uninstalled unless Permanently delete all Pro data when the Pro plugin is uninstalled is turned on in Pro’s privacy and retention settings.


Troubleshooting

Invitation links open the home page. No Trainer review page is set. Choose the page holding [dthub_planner_trainer_review] in the planner settings and send again.

“This review link is invalid or has expired.” Links last 60 days, and each new invitation or reminder replaces the old one. Send the trainer a fresh invitation and ask them to use the newest email.

“Planning year 2027 already exists.” Each calendar year can have only one planning year. Open the existing one, or delete it first.

Publish is blocked. Read the Pre-flight check. Common causes: a delivery stream with no course (resolve it in step 1), a scheduling error on the canvas, or the trainer approval gate with trainers still outstanding.

“TutorLMS Pro is required for course duplication.” Use Link existing course or Create new draft course, or activate Tutor LMS Pro.

No school holidays came in from the import. This is expected — see School holidays, public holidays and closures.

“These classes are live, but this year is not released yet.” Sessions were published but the year was never released. Run Publish Version to release it.


Worked example

Southern Cross College of Natural Therapies is planning 2027 for its Diploma of Remedial Massage.

  1. The coordinator duplicates the 2026 Academic Year as 2027 Academic Year, bringing across the Diploma 2026 and Diploma 2027 cohorts (each split into Local and Intensive groups), the semesters and breaks, and twelve subject deliveries.
  2. On Term dates & breaks she imports Victorian public holidays from nager.at (country AU, region AU-VIC) and adds the July school holidays by hand as non-teaching days.
  3. She uses Seed to copy the 2026 classes from Training Hub into 2027, mapping each course to its subject and cohort. Three sessions land on Melbourne Cup Day and are marked Holiday; she drags them to the Wednesday.
  4. The clash check flags a trainer booked into Clinic Room 2 and an online tutorial at the same time. She moves the tutorial on the canvas.
  5. She brings last year’s assignment deadlines forward with Assessment dates, then checks the heatmap to see no cohort has more than three deadlines in one week.
  6. On Approvals she sets a reply-by date two weeks out and clicks Send all invites. With Reminder days at 3, trainers who have not answered get a reminder three days before the deadline.
  7. One trainer flags a Thursday class because of a conference and records her unavailability. The coordinator moves the class, replies with Email the trainer ticked, and the trainer accepts.
  8. With the board green, she resolves each stream to its Tutor course on Publish to Attendance, runs Publish Version with the note “Initial 2027 release”, and the year becomes Released.
  9. She adds [dthub_timetable] to the college’s “Timetables” page so prospective students can see the 2027 timetable, and moves on to the subject outlines.

Version History

Version 1.0.0 Major October 4, 2026
Author: DHDW