Wallscourt Farm Academy

WFA Scheduling Tools — User Guide

Wallscourt Farm Academy  ·  How to use the Learning Schedule, Release Schedule, and FAB Rota

Overview

Wallscourt Farm Academy uses three web-based scheduling tools, all connected to a shared Google Sheet. They work on any device — laptop, iPad, or phone — and sync automatically so changes on one device are visible on all others after a refresh.

ToolWhat it doesWho uses it
Learning SchedulePlan what each year group is learning each week — drag subjects into sessions, split lessons, add notesClass teachers, TPs, LPs
Release ScheduleRecord who is out of class each week and who is covering themOffice staff, cover manager
FAB RotaAssign staff to Fresh Air Break duty zones each weekOffice staff, rota manager
https://wallscourtfarm.github.io/staff-tools/schedules/

From this page you can access all three tools and this user guide.

Bookmark the schedules page on every device you use so you can get to any tool quickly.

Part 1  ·  Learning Schedule

The Learning Schedule is a drag-and-drop timetable planner. Each year group has its own schedule with the correct session times, break times, and staff. You add subjects from the sidebar into session cells, reorder them, split lessons for class swaps, and add notes.

https://wallscourtfarm.github.io/staff-tools/teaching-schedule/

Year group selector

Click the year group dropdown at the top right (e.g. Y4) to switch to a different year group. When you switch:

Each year group has its own colour theme:

Reception & Y4
Y1 & Y5
Y2 & Y6
Y3

Day structure per year group

Each year group shows the correct timetable rows for that age group. The main differences are:

Term and week navigation

Use the < and > arrows to move between weeks. Click This week to jump back to the current week. The week label shows the term, week number, and date range (e.g. Term 2 · Week 3 · 13 Jan – 17 Jan).

View tabs — Master and Staff views

The row of tabs below the header switches between views:

Adding subjects to the schedule

1
Find the subject in the sidebar

Subjects are grouped by category (Enquiry, Maths, Reading, etc.). Each chip shows a colour dot and the subject name.

2
Drag it into a session cell

Hold and drag the chip from the sidebar into any Session 1, 2, or 3 cell. The target cell highlights with a dashed blue outline. Release to drop.

You can only drop into session rows (not fixed rows like FAB or Lunch).

Reordering and moving chips

Splitting a lesson (class swaps)

Click the button on a chip to split it into two side-by-side halves. This represents two groups doing different subjects at the same time (e.g. a class swap). The left half keeps the original subject; drag a subject onto the right half to fill it. Each half has its own notes.

To unsplit, click the button at the bottom of the split chip.

Adding notes to a chip

Click the + button at the bottom of a chip to expand a notes area. Type your note and press Enter or click away to save. If a note already exists, the textarea is visible by default.

Resizing chips (duration)

Drag the bottom edge of a chip up or down to change its height. This represents the duration of the activity. The minimum is one unit (roughly 15 minutes). Use this to show that a reading session is shorter than a writing session, for example.

Colourable chips (HomeZone)

Some intervention chips (like HomeZone) have a larger colour dot with a white border. Click this dot to pick from a palette of subject colours. The chip recolours and renames itself to match — for example, selecting the Writer colour changes it to "HomeZone - Writer".

Copy week and clear view

Staff-out spans (PPA, Leadership, etc.)

Click the button next to a day name in the column header to open the staff-out modal. Here you can mark periods when a staff member is out of class:

Staff-out spans appear as coloured vertical strips along the left edge of the day column, with a label badge at the top of the span.

Non-school days

Days with blocking events (INSET, half term, bank holidays) are pulled from the Google Sheet. These columns are greyed out with a badge showing the event name (e.g. "HALF TERM"). You cannot drop chips into non-school day cells.

After-school events

The After School row shows events from the Google Sheet automatically. These appear as read-only chips — you cannot edit or remove them. They come from two sources:

Day Activities (TP/LP recurring activities)

Staff who have regular daily activities (e.g. lunch duty, football club) can have these shown automatically on their schedule. These come from the DayActivities tab and appear as dashed-border chips with a colour. If no colour is specified, the staff member's colour from the Staff tab is used.

Hover over a Day Activity chip to see the × remove button. Click it to remove that activity for that specific date only — useful if the person is absent or has a conflict. Removed activities are saved to the ActivityExceptions tab and persist across refreshes.

FAB Duties (from FAB Rota tool)

Fresh Air Break duties are pulled automatically from the FAB Rota tool and shown on the FAB row for each year group. The display format shows the staff member's initials and, for upper years (Y4-6), the zone they're assigned to:

On the master view, all FAB duties for that year group are shown. On a staff view, only that person's FAB duty appears.

Like Day Activities, FAB duty chips have a dashed border. Regular staff use their colour from the Staff tab. Supply staff use the colour of the year group they are covering (set in the FAB Rota tool when assigning).

You can remove a FAB duty for a specific date by clicking the × button — this stores an exception but does not affect the FAB Rota tool's data.

One-way sync: FAB duties flow from the FAB Rota tool to the Learning Schedule. Removing a duty here only creates a local exception for that date — it does not delete it from the FAB Rota.

Staff configuration (⚙ button)

Click the button in the header to edit staff names and colours for the current year group. Each staff member has a text input for their name and a row of colour swatches. Click Save when done.

Subject settings

Click Subject settings in the top bar to edit subject names and colours per group. Each subject has a text input and a colour picker.

Syncing

The Learning Schedule syncs with a Google Apps Script endpoint. Any change you make is saved automatically to the cloud. When you open the page or navigate to a new week, it pulls the latest data. If offline, changes are saved locally and sync when you reconnect.

Single editor: Like the other tools, the Learning Schedule is designed for one person to edit at a time per year group. If two people edit simultaneously, the last save wins.

Part 2  ·  Release Schedule

The Release Schedule has two parts: a viewer that everyone can check, and a planner that the cover manager uses to build the weekly schedule.

Release Schedule Viewer

https://wallscourtfarm.github.io/staff-tools/cover-plan/

The viewer is a read-only page that shows the current week's cover arrangements. It auto-refreshes every 3 minutes. It has three views:

On first use, the viewer asks for the Google Sheet ID. Paste the sheet URL or ID and press Enter. This is saved so you don't need to enter it again.

Illness and event banners

The viewer automatically shows:

Cover & Release Planner

https://wallscourtfarm.github.io/staff-tools/cover-plan/planner.html

The planner is the interactive tool for managing the weekly release schedule. It has three panels:

Left panel — Teachers

Class teachers and non-class based staff (SENCO, SLT, Phase Leads). Drag someone from here into the grid to mark them as out.

Centre — The week grid

Five columns (Mon–Fri) and five rows (Before School, AM, Lunch, PM, After School). Each cell shows who is out and who is covering.

Right panel — Cover Staff

Everyone available to provide cover. Drag a cover person onto a TBC slot to assign them.

Today's column

Highlighted in blue so you can see at a glance what is happening today.

Adding a release slot

1
Find the teacher in the left panel

Class teachers are listed at the top, non-class based staff below the divider.

2
Drag them into the correct cell

Hold and drag the teacher's card to the session and day. A highlight shows valid drop targets. Release to place the slot.

3
Check or change the reason

Each slot has a dropdown with the reason (e.g. PPA, ECT1). The planner pre-selects the best reason based on entitlements. Change if needed.

Part-time staff: You cannot drag a teacher into a day they do not work — those days are blocked automatically based on the WorkingDays column in the Staff tab.

Assigning cover

1
Look for the + TBC box

Any slot without cover shows a pale dashed box marked + TBC.

2
Drag a cover person from the right panel onto the TBC box

The box highlights when you hover. Drop to assign. The cover person's name and avatar appear in the slot.

Removing a slot or cover

Entitlement pips and the green tick

Each teacher card shows small dots (pips) tracking their entitlement usage:

"Other" reason

If you set a slot's reason to Other, a small text input appears for you to type what the reason is (e.g. "Dentist appointment"). This is cleared automatically if you change the reason away from Other.

Cell notes

In Before School, Lunch, and After School rows, empty cells show a "+ add note" link. Click it to add a free-text note (e.g. "Staff social"). Notes appear as coloured bars in the cell. Click the × to remove a note.

Per-day reset

Each day column header has a small × in the corner (visible when the day has slots). Click it to clear all slots for that day only. A confirmation dialog appears first.

Locking the planner

The padlock button (top right) switches the planner into read-only mode. When locked, slots cannot be moved, added, or removed, and reason dropdowns are disabled. Tap the padlock again to unlock.

View tabs

School event banners

Coloured banners in cells come from the SchoolEvents tab and are informational only. They appear every week automatically.

Navigating weeks

Use ← Previous and Next → to move between weeks. When you navigate to a week that hasn't been set up, it auto-fills from the Recurring tab.

Copy to next week / Reset week

Reset is permanent — any cover assignments or one-off slots for that week will be lost. You cannot undo a reset.

Google Apps Script menu

The Google Sheet has a custom menu called Release Schedule with three options:

Part 3  ·  FAB Rota

The FAB (Fresh Air Break) Rota assigns staff to break duty zones each week. It has two sections: Lower school (Y1–Y3, break at 10:30–10:45, no zone breakdown) and Upper school (Y4–Y6, break at 10:45–11:00, with four zones: MUGA, Garden Room, Hard Standing, Trim Trail).

https://wallscourtfarm.github.io/staff-tools/fab-rota/

Assigning staff to a zone

1
Find the staff member in the left panel

Each person shows as a colour-coded chip with their initials, name, and a count badge showing how many slots they have this week.

2
Drag them into a zone/day cell

Hold and drag the chip to the target cell. The cell highlights with a dashed blue outline. Release to assign. Duplicate assignments (same person, same cell) are prevented.

Removing an assignment

Click the × button on a staff chip within a grid cell to remove that person from that slot.

Moving an assignment between slots

Each chip in the grid has a drag handle on the left. Hold this handle to drag the chip to a different zone or day. The chip is removed from the source cell and added to the target cell. This is faster than deleting and re-adding.

Supply staff and year group selection

When you drag a Supply staff member into a slot, a modal appears asking which year group they are covering (Y1–Y6). Select the year group to assign them. The chip displays with that year group's colour and shows the year group in brackets, e.g. Supply (Y4).

If you move a supply chip to another slot, the year group is preserved. To change the year group, remove the chip and drag Supply in again.

Assignment count badge

Each staff chip in the left panel shows a badge like "3×" indicating how many slots they are assigned to this week. If zero, no badge is shown.

Week navigation

Use the < and > arrows to move between weeks. Click This week to jump back to the current week.

Copy to next week

Click Copy → next week to copy the current week's assignments into the following week. If the next week already has assignments, a confirmation dialog appears.

Term rota (set and reset)

Set the term rota once at the start of term, then you only need to tweak individual weeks when staff are absent.

Editing the staff list

Click "+ Edit staff list" at the bottom of the left panel to open the staff editor. Here you can:

Staff loaded from the Google Sheet appear first. Any temporary staff you add are saved alongside them.

Syncing

The FAB Rota syncs with a Google Apps Script endpoint. Changes are saved automatically. On page load, the latest data is pulled from the cloud. If offline, changes are saved locally and sync when you reconnect.

Part 4  ·  Google Sheet Reference

All three tools read from the same shared Google Sheet. Below is a complete reference of every tab and which tools use it.

Which tabs each tool uses

TabLearning ScheduleRelease ScheduleFAB Rota
StaffYesYesYes
TermDatesYesYesYes
CalendarEventsYesYes
EventsMeetingsYesYes
SubjectGroupsYes
InterventionsYes
DayTimingsYes
DayActivitiesYes
ActivityExceptionsYes
RecurringCoverYes
PlanYes
WeeksYes (viewer)

Staff tab — column reference

ColumnUsed byNotes
NameAllFull name. Must match exactly across all tabs.
RoleAllControls which panel the person appears in (Release Schedule) and whether they get a staff view tab (Learning Schedule).
YearGroupAllComma-separated for shared staff (e.g. 1,2,3). Leave blank for non-class staff. For the Learning Schedule, blank means unassigned (excluded from year groups).
OrderAllDisplay order. Lower numbers appear first.
WorkingDaysReleaseComma-separated day numbers: 1=Mon through 5=Fri. Blank = full time.
Ent1–Ent4ReleaseEntitlement names (e.g. PPA, ECT1).
Ent1Sessions–Ent4SessionsReleaseNumber of sessions per week (or per fortnight).
Ent1Freq–Ent4FreqReleaseweekly or fortnightly. Blank = weekly.
CoverRoleReleaseRole title for cover staff. If set, person appears in the right panel.
InitialsRelease, FAB2–3 letter initials for avatars.
ColourRelease, FABHex colour code (e.g. #e879f9).
StatusRelease (viewer)Set to Illness to show the illness banner.

TermDates tab — column reference

ColumnNotes
StartDateThe Monday of each teaching week, as DD/MM/YYYY.
TermTerm number (1–6).
WeekWeek number within that term.
Populate the full year's teaching weeks at the start of the year. Half terms and holidays should be absent — do not add rows for non-teaching weeks.

CalendarEvents tab — column reference

ColumnUsed byNotes
StartDateBothStart date as DD/MM/YYYY. For multi-day events, also set EndDate.
EndDateLearningEnd date for multi-day events.
SessionBothFor after-school events: After School. For session-specific banners in the planner.
TypeBothBlocking types: Half Term, INSET 1INSET 5, Bank Holiday, Christmas, Easter, Summer Holiday, CLF Conference. These grey out the day.
LabelBothText shown on the banner or badge.
ColourBothHex colour for event banners.

EventsMeetings tab — column reference

ColumnNotes
SessionMust be exactly one of: After School (for Learning Schedule) or Before School, AM, Lunch, PM, After School (for Release Schedule).
DayDay of the week — Monday through Friday.
LabelThe text shown in the banner.
ColourHex colour code. Leave blank for the default.

SubjectGroups tab — column reference

ColumnNotes
YearGroupLeave blank for universal (all year groups). Comma-separated for specific groups (e.g. 4,5,6). Specific rows override universal rows with the same Group+Subject.
GroupCategory name (e.g. Enquiry, Maths, Reading). Leave blank for no heading.
SubjectSubject name (e.g. Writer, Mathematician).
ColourHex colour code. Colours should be consistent across year groups.
OrderSort order within the group.

Interventions tab — column reference

ColumnNotes
YearGroupSame pattern as SubjectGroups — blank = universal.
GroupCategory name (e.g. Reader, Well-Being).
ActivityActivity name (e.g. "1 to 1 reading", "Phonics").
ColourHex colour code.
OrderSort order within the group.
ColourableSet to true to make this chip's colour dot clickable (e.g. HomeZone).

DayTimings tab — column reference

ColumnNotes
YearGroupLeave blank for universal rows (e.g. Morning Reg, Story Time). Comma-separated for specific groups. Specific rows override universal rows with the same ID.
IDShort identifier used as a data key. Must be consistent across year groups: reg-am, s1, fab, s2, wash, lunch, reg-pm, s3, story, home, after.
TypeEither fixed (non-droppable, e.g. FAB, Lunch) or session (droppable, e.g. Session 1, 2, 3).
LabelDisplay text (e.g. "Session 1", "Fresh Air Break").
TimeTime range string (e.g. "09:00-10:45"). Leave blank for rows with no displayed time.
ClassCSS class for styling: fab-row for FAB and lunch, story-row for Story Time.
OrderNumeric sort order. Determines the row sequence.
HideTimeSet to true to suppress the time display (e.g. for Wash Hands, PM Registration).
Important: IDs must be short identifiers, not display labels. Use s3 not "Session 3". The label column handles the display name.

DayActivities tab — column reference

ColumnNotes
StaffStaff name (must match Staff tab).
DayDay or day range — Monday, M-F for Monday–Friday, Mon,Wed,Fri for specific days.
ActivityActivity name (e.g. "Football Club", "Lunch Duty").
SessionTime range (e.g. "12:15-13:10") or session ID (e.g. "lunch", "after").
ColourHex colour code for the chip. Leave blank to inherit the staff member's colour from the Staff tab.

ActivityExceptions tab — column reference

ColumnNotes
DateDate of the removed activity in DD/MM/YYYY format.
StaffStaff name (or staff ID for FAB duties).
ActivityActivity name that was removed (or "FAB Duty" for FAB exceptions).
SessionSession/time range (optional). For FAB duties, this stores the zone name.
TypeOptional. DayActivity (default) or FAB for FAB duty exceptions.
The ActivityExceptions tab is populated automatically when you click the × button on a Day Activity chip or FAB duty chip. You can manually delete rows to restore an activity.

RecurringCover tab — column reference

ColumnNotes
TeacherStaff name (must match Staff tab) or year group code (Y1Y6, Reception) to apply to all class teachers in that year group.
DayMust be exactly Monday through Friday.
SessionMust be exactly one of: Before School, AM, Lunch, PM, After School.
ReasonRelease reason (e.g. PPA, ECT1, RA).
Cross-device

Part 5  ·  Using on multiple devices

All three tools sync via Google Apps Script endpoints. Changes are saved automatically within a second or two. Other devices do not update live — refresh the page to see the latest version. If offline, changes are saved locally and sync when you reconnect.

A good habit: if you've been making changes on a laptop, refresh the page on the iPad before handing it to someone else — that way they see your latest version.
Single editor: All three tools are designed for one person to manage at a time. If two people make changes simultaneously, the last save wins. Agree who is managing each tool for the week.
Common tasks

Part 6  ·  Common tasks

Adding a new member of staff

1
Add a row in the Staff tab

Fill in Name, Role, YearGroup, WorkingDays (if part-time), and any entitlements. If they provide cover, add CoverRole, Initials, and Colour.

2
Refresh each tool

The new person will appear in the relevant panels across all tools.

Adding a new year group to the Learning Schedule

1
Add staff rows with the new YearGroup

Set YearGroup to the new year group code (e.g. Y5).

2
Add SubjectGroups rows

Leave YearGroup blank for universal subjects, or add year-group-specific rows.

3
Add DayStructure rows

Add year-group-specific rows for FAB, lunch, sessions, and wash with the correct times. Add universal rows for Morning Reg, Story Time, etc. (leave YearGroup blank).

Blocking out an INSET day or bank holiday

1
Add a row to the CalendarEvents tab

Enter the date, label (e.g. INSET Day), and type (Half Term, Bank Holiday, INSET 1, etc.).

2
Refresh each tool

The day will be greyed out in the Learning Schedule and the Release Schedule. No slots or chips can be added.

Changing FAB or lunch times for a year group

1
Update the DayTimings tab

Edit the Time column for the relevant YearGroup rows (e.g. change FAB from 10:30-10:45 to 10:45-11:00).

2
Refresh the Learning Schedule

Switch to the affected year group and verify the updated times appear.

Adding a recurring activity for a TP or LP

1
Add a row to the DayActivities tab

Enter the staff name, day(s), activity name, time range, and colour. Use M-F for every weekday.

2
Refresh the Learning Schedule

The activity will appear automatically on the relevant staff view and year group master view.

Setting up the FAB rota for a new term

1
Build the first week's rota

Drag staff into the correct zone/day cells for the first week.

2
Click "Set as term rota"

This saves the layout as the default template. New weeks will auto-fill from this.

3
Use "Copy → next week" for subsequent weeks

Copy the template forward and make adjustments for absences.