What you can do today
Schedule (needs manage_schedule) shows a facility day board: for a given
pool on a given day, every block of water time, who has it, and which lanes.
This is what a facility manager, a head coach and the front desk all look at, and it is the same board — there is no coach's copy that drifts from the pool's copy.
The pools themselves are under Club setup → Facilities (also manage_schedule):
add one with its name, address and time zone (blank uses the club's), and edit it
later. A facility is never deleted — every block it held points at it — so a pool
that closes is set to Closed for the season or Retired.
Blocks
A block is a piece of water time with a squad or a purpose attached. Blocks repeat, which is what makes a season's schedule a handful of entries rather than four hundred.
Putting a block on the board
With manage_schedule, the board has a New block button. Pick:
- Repeating or One-off.
- The activity (squad practice, lap swim…) and an optional title.
- The lanes it needs.
- For a repeating block, how often — every week, every 2, 3 or 4 weeks on the days you tick, or monthly on the first, second, third, fourth or last of a weekday ("the second Tuesday") — then the first date and, if you know it, the last day. Leave the last day blank and it repeats until you end it.
- The start time and length.
Times are always the pool's clock, whatever zone your phone or laptop is in, and a 6:00 PM practice stays at 6:00 PM on both sides of a daylight-saving change.
A repeating block goes on the board straight away, out as far as families can see. If any week would land on a lane somebody already holds, nothing is created and you are told which lane and who holds it — pick another lane or time.
Or tick Skip the weeks that collide: the block is created, each week whose lane or coach is already taken is skipped instead, and you are told which weeks and who holds them. Each skip shows on the board as a skipped occurrence you can withdraw later, like any other.
Staff without manage_schedule see the same board with no buttons.
Lanes
Lane allocation within a block is shown on the lane sheet.
Coaches
The board's Staff column shows who is coaching each block, and in what role (head coach, assistant coach, instructor, lifeguard…). A coach is booked into a block the way a lane is, so a coach cannot be double-booked: putting someone on a block that overlaps one they are already on is refused, and the refusal names the block that has them. Back-to-back blocks are fine.
With manage_schedule, Edit on a block lists its coaches: Add coach
(pick the person and their role on the block) and Remove. That changes the
one block.
A repeating block can carry coaches too — pick them in New block, or change them with Change this and all following. Every block it puts on the board books them, and if one of those weeks they are already on another block, nothing is saved and you are told which block has them. A coach you added to a single block by hand stays on it when the repeating block's coaches change.
A coach is booked club-wide, not per pool: one person is one booking calendar across every facility, so they cannot be on deck at two pools at once.
Coaches above the board lists everyone who can be booked. Retire takes a coach off the calendar — they stay on the list, marked retired, and cannot be put on a block at any pool. A coach still on an upcoming block cannot be retired; take them off those blocks first. Reactivate brings them back with their history intact. Both are in the audit trail.
What families see
Families see the sessions that apply to them, sliced by squad — the Today and This week cards on the family home come off this schedule. There is no second calendar to keep in agreement.
Changing one occurrence of a repeating block
Press Edit on a block. A repeating block can be changed one occurrence at a time:
- Skip it — a public holiday, a meet weekend. The block is cancelled, not deleted, so anything attached to it is still there if you change your mind.
- Move it — "Kate is away, Miles covers at 7:30".
- Modify it — a longer practice, without moving it.
An occurrence can carry one change at a time; changing it again replaces the first change. Withdrawing a change puts the occurrence back where the repeating block puts it — a skipped occurrence comes back as the same block.
If the new time would put the practice on water somebody else already has, the change is refused and you are told who has it. Nothing half-happens.
Changes can be made for occurrences months ahead — they apply the moment that date reaches the board.
A one-off block has a single choice: Cancel this block. Its lanes free at once, and the block stays on the board marked cancelled.
Daylight saving
On the night the clocks spring forward, a time between 2:00 and 3:00 does not exist. An occurrence at, say, 2:30 is moved to 3:00 and that move is recorded as a change you can see — never moved silently. On the night the clocks fall back, a time between 1:00 and 2:00 happens twice; the occurrence is the first one.
This and all following
To change every occurrence from a date onwards — a new time from November, Thursdays added in the spring — the repeating block is ended the day before and a new one starts from that date. Nothing that already happened is touched. The blocks already on the board are moved to the new times, not deleted and re-made, so everything attached to them stays attached; an occurrence on a day the new schedule no longer meets is cancelled.
From Edit → Change this and all following you can change the title, the days, the start time, the length, the last day and the lanes. With new lanes, the blocks already on the board let go of the old lanes and take the new ones; if a new lane is taken on any of those days, nothing changes and you are told who has it.
A skip carries over to the new schedule (the meet weekend is still a meet weekend). A one-off move does not if the regular time itself changed — you are told how many did not carry over so you can decide again.
Stop repeating from this one ends the repeating block the day before the occurrence you picked; the blocks from then on are cancelled.
The same changes are in the swimwin CLI (swimwin schedule-rules …,
swimwin calendar-blocks …).
Good to know
Patterns other than "every week on these days" (every other week, the second Tuesday of the month) can be created through the API and the CLI but not from the form; the form leaves their days alone when you change one.