Getting started
The Season Builder works out a full SNBL season — who plays whom, on which Sunday, at which ground, at which time, and who umpires it. It runs entirely in your browser. Nothing is sent anywhere, and nothing you change affects what anybody else sees.
It opens with no schedule, on purpose — a season built from settings nobody has checked is worse than no season at all. What it does come with is the league already filled in: twelve teams across AAA, AA and A, the four grounds, and the umpire corps. So most of the setup is checking rather than typing.
Every visit opens on the same panel, not just the first — Walk me through it again steps through the four points below, taking you to the right tab at each one, and Skip goes straight to the schedule you already had. Dates move and people drop out between one sitting and the next, so the panel is there to make you look before you build on top of a setup you last checked in March. Bring it back any time with Guided setup on the Schedule tab.
Skipping changes nothing. Your schedule, your locks and any names you have written onto games are all still there.
- Check the season dates. The Season tab sets the first and last Sunday, and any Sundays the league is not playing on — tournament weekends, development games, a make-up week held in reserve.
- Check the teams. On Clubs & teams, add or remove teams, move them between divisions, and set how many times each pair meets.
- Check the umpires. On Umpires, tick what each person can work and block off the Sundays, grounds and start times they cannot do.
- Press Rebuild schedule. It takes a second or two and shows you what it is doing. Press it as often as you like — every rebuild is a fresh attempt.
- Adjust by hand. Move games between times and Sundays, and lock the ones you want left alone by the next rebuild.
- Save it. Save as a version keeps a copy you can come back to after trying something else.
The six tabs
Every Sunday of the season, with its 10:30 and 14:00 games. This is where you move things around.
- The time button on a game — it shows the other start time — switches it between morning and afternoon on the same Sunday.
- Move then Move here sends a game to a different Sunday.
- Lock pins a game so the next rebuild leaves it where it is.
- Crew writes umpire names onto that one game.
- Max games per slot caps how many games run at once, which is really a question about how many umpire crews you can field.
Clubs own grounds; teams belong to a club and play their home games there.
- Each ground has its usual Sunday for each start time: Every Sunday, or Only on dates opened.
- Dates against each ground changes that for particular days, time by time — close a time it would usually have (a pitch being reseeded, a club event), open one it would not (Morgan Playing Fields takes 10:30 games only on the seven Sundays of the Edinburgh school summer holidays, which are opened by name), or open a Saturday. Saturdays are never used unless a ground is opened on one.
- Meetings per pair is how many times two teams play. Two gives everyone one home and one away game against every rival.
- Unbalanced is a switch against each division. On, the division is set by games each rather than by whole rounds — see Unbalanced divisions.
- Doubleheaders is set per division — see below.
The corps ships with the page, so everyone who opens the link starts from the same list. Anyone you add yourself stays in your browser only.
- Tick which positions each person can work, division by division.
- Set or Edit under Not available blocks off Sundays, grounds they will not travel to, and start times they cannot make.
- Crew size decides whether spare umpires go on as extra field umpires.
- The Cover card at the bottom lists every game that is short.
How the season actually sits: fixtures, Sundays used and free, doubleheaders, and the busiest slot. Then how hard each ground is working, and a row per team showing games, home, away, doubleheaders, Sundays out, and a strip of the whole season — H for home, A for away, D for a doubleheader, a dot for a week off.
An unbalanced division also gets a grid of who meets whom, with the pairings playing the extra game picked out.
A version is a complete snapshot — teams, umpires, schedule, the lot. Save one before trying something different, and restore it if the new idea is worse. You can also export a version to a file and send it to somebody.
Start and end Sundays, and the Sundays with no league games. Also the backup and reset controls.
Reading the schedule
Fixtures are written the baseball way round — visitor @ home. So Glasgow Comets @ Edinburgh Angels is the Angels at home, and the ground shown on the right confirms it rather than being the only way to tell.
| You see | It means |
|---|---|
| AAA / AA / A | The division the game belongs to. |
| crew | A plate umpire and at least one field umpire. Ready to play. |
| plate only | A plate umpire but nobody on the field. Playable in exceptional circumstances, but you would want to fix it. |
| no crew | Nobody at all. This game cannot go ahead as it stands. |
| DH 1/2 | The first game of a doubleheader. Its partner is in the other slot at the same ground. |
| 1 / 3 | Games in that slot against the cap you have set. |
| A dotted underline under a name | Somebody written onto that one game by hand rather than taken from the roster. |
Rules it will not break
Hard constraints
These hold in every schedule it produces. If something cannot be placed without breaking one, it is reported as unplaced rather than quietly forced through.
- A ground hosts one game per start time — at most two games a day. Field space, not the calendar, is what limits the season.
- A team plays once a day, unless it is a doubleheader against the same opponent.
- A doubleheader is a team's only outing that weekend. Games on both the Saturday and the Sunday are fine — but never a doubleheader alongside another game, and never two doubleheaders back to back.
- No team plays more doubleheader weekends in a row than the limit you set. Two by default. A weekend with a single game, or no game, ends the run.
- A ground only takes games on days and at times it is available. Each ground's usual Sunday, adjusted by its own dates, time by time. A Saturday is only used where a ground has been opened on it.
- No more games in a slot than the umpire cap allows.
- Every pair meets the number of times you set, split home and away. In an unbalanced division some pairings meet once more than that — but every team still plays the same number of games, and every pair still meets at least home and away.
- An umpire never works two games in the same slot.
- An umpire only works a position they are qualified for at that level.
- An umpire working twice in a day stays at one ground. There is no time to cross the country between 10:30 and 14:00.
- Anything an umpire has blocked — a date, a ground, a start time — is never used.
Alongside those, it prefers things without insisting on them: higher divisions later in the day, rest weeks spread evenly through the season, a different position for anyone working twice in a day, and the cheaper journey where two umpires are otherwise equally good. When you move a game by hand it will warn you if the move breaks a hard rule, and then do it anyway if you say so — you know things it does not.
Umpires
A crew is one plate umpire and at least one field umpire. A game can carry up to four people, but only ever one plate — third and fourth are field umpires.
Blocking time off
On the Umpires tab, press Set or Edit next to somebody. You can block particular Sundays, grounds they will not travel to, and a start time they can never make. All three are absolute: the scheduler will not put them on a game that breaks one, and any game left short as a result is reported rather than hidden.
Travel costs
The same panel takes an optional cost per ground. Where costs are filled in, the scheduler sends whoever has the cheaper journey when two people are otherwise equally good — counted once per person per Sunday, since a second game at the same ground costs nothing extra to reach. On a normal season with costs entered this saves around a third of the travel bill without losing any cover.
Writing a name onto one game
Games lower down are often covered by whoever is about — a player from a higher-level team, a parent, a visiting official. Press Crew on that game and type the name. It covers that game only: it is not added to the roster, it is never offered another game, and clearing the box hands the position back to the scheduler. Better still, it frees up the umpire who would have taken that position for a different ground that Sunday.
Doubleheaders
A doubleheader is the same two teams playing twice in one day: two shorter games, one journey, and both slots of a single field. Each side is home in one of the two, so a pairing that meets as a doubleheader has had its home and away in an afternoon.
It is set per division on the Clubs & teams tab:
- No doubleheaders — every meeting is its own trip.
- All doubleheaders — every pairing, as many as will pair up. An odd number of meetings leaves one single game over.
- Mixed — about half. Every team gets exactly the same number of doubleheader opponents, so nobody plays more of their season as two-games-in-a-day than anybody else, and where it can it keeps same-ground pairings out of it — two teams sharing a field save nobody a journey by doubling up.
The effect on a twelve-team season, meetings shown per pairing:
| Setting | Games | Sundays out, per team |
|---|---|---|
| None, 3 meetings | 54 | 9 |
| All, 2 meetings | 36 | 3 |
| All, 4 meetings | 72 | 6 |
| Mixed, 3 meetings | 54 | 7 |
Doubleheaders make umpiring easier rather than harder: a crew that turns up to a ground works both games there, which is exactly what the same-ground rule wants, and they swap plate and field between the two.
Doubleheader weekends in a row, just under the divisions table, caps how many consecutive weekends any team can be given a doubleheader — 1, 2, 3, 4 or no limit, and 2 unless you change it. It is counted in calendar weekends, so a weekend with a single game or no game at all ends the run. Anything already scheduled over the limit is listed on the Schedule tab until you move it or rebuild, and the Analysis tab shows the longest run any team has.
Unbalanced divisions
A balanced season comes in whole rounds: every pair meets the same number of times. With four teams that is 6 games each, or 9, or 12, and nothing in between. If the calendar has room for 10 or 11, a balanced season leaves those Sundays empty.
The Unbalanced switch against a division on the Clubs & teams tab changes what you set. Off, you set Meetings per pair and games each follows. On, you set Games each and the meetings follow: every pair plays as many whole rounds as that number allows, and the games left over become one extra meeting for some pairings.
- Every team still plays the same number of games. The extra meetings are shared so each team has the same number of extra opponents.
- Every pair still meets at least twice, home and away. The lowest games each you can enter is two full rounds.
- Who gets the extra game is listed under the divisions table. Teams sharing a ground come first, because a fourth meeting between them costs nobody a journey. Other pairings steps through the other fair ways of sharing them out — use it where you know one trip is shorter than another.
- An odd number of teams moves two games at a time. With five teams, 10 games each works and 11 cannot: somebody would have to play one more than everybody else.
- It needs four or more teams. With three, equal games each already means equal meetings, so the switch stays off.
What it opens up in a twelve-team season of three four-team divisions:
| Games each | Meetings per pair | Games |
|---|---|---|
| 9 — balanced | 3 | 54 |
| 10 — unbalanced | 3, and one rival a 4th time | 60 |
| 11 — unbalanced | 3, and two rivals a 4th time | 66 |
| 12 — balanced | 4 | 72 |
Room in the season, under the divisions table, counts the fixtures you have asked for against the game slots the grounds have, and flags any ground whose teams need more home games than it has slots. Push games each up until that line or a rebuild tells you the season is full.
Saving and sharing
Everything you enter is saved in your own browser as you go. It is not shared with anyone else who opens the page, and clearing your browser data will remove it.
- Versions keeps named snapshots inside the same browser. Good for comparing two ideas.
- Copy backup on the Season tab gives you the whole setup as text. Keep it somewhere safe, or paste it into Restore from backup on another machine.
- Export on the Versions tab writes the schedule out as a spreadsheet file, with one row per game: date, time, division, fixture, visitor, home, ground and umpires.
To show somebody a particular schedule, send them the backup text or the exported file rather than describing it — they will see exactly what you see.
Questions
I opened it and there is no schedule at all.
The setup panel opens in front of it, every visit. It is a prompt to check the dates, the teams and the umpires before trusting anything built from them.
Press Skip and your schedule is there, exactly as you left it — nothing is cleared or rebuilt by opening the page. On a first visit there is genuinely nothing yet, and the panel offers to build one from the standard setup.
I pressed Rebuild and got a completely different schedule. Is that a bug?
No. Every rebuild is a fresh attempt, and there are an enormous number of valid seasons. If you liked parts of the last one, Lock those games first — locked games stay exactly where they are while everything else is rearranged around them.
How do I give everyone as many games as possible?
Switch the division to Unbalanced on the Clubs & teams tab and raise Games each a game at a time, rebuilding as you go. Balanced, the only steps available are whole rounds; unbalanced, you can stop at whatever number the grounds and the calendar will actually take. See Unbalanced divisions.
Some fixtures could not be placed. What now?
It means there is genuinely no room. The usual causes, in order of likelihood:
A club's ground has run out of slots — check Field use on the Analysis tab. Edinburgh and Glasgow each host four teams on one field, so they fill up first.
The max games per slot cap is too low for the number of fixtures.
Too many Sundays have been struck out on the Season tab, or the season is too short for the number of meetings you have asked for.
Why is this game only showing one umpire?
Usually the same-ground rule rather than a shortage of people. An umpire who works the morning at one ground cannot take an afternoon game somewhere else, so a Sunday running games at two different grounds needs more umpires than the game count suggests. Either write a name onto the game by hand, or move a game so the Sunday's games share a ground.
Can I make an umpire do a specific game?
Yes. Press Crew on that game and type their name. If it matches somebody on the roster it means that person, and everything else — their workload, their travel, the no-two-grounds rule — still applies.
Someone can only do afternoons. Where do I put that?
Umpires tab, Set next to their name, then tick 10:30 under Start times they cannot do. It applies to the whole season.
I moved a game and it warned me it breaks something. Should I worry?
Only you can say. The warning lists exactly what the move breaks — a ground double-booked, a team playing twice, the umpire cap exceeded. If you know something the scheduler does not, go ahead. The game is locked afterwards so a rebuild will not undo it.
Where has the school holidays setting gone?
It was retired: holidays fall on different dates in different cities and do not change every ground the same way. Each ground's own Dates now does that job, time by time. The one ground it affected, Morgan Playing Fields, has its summer 10:30 slots opened on the seven holiday Sundays by name, so it schedules exactly as before. Any setup saved before the change was converted the same way.
A club can play on a Saturday. How do I add that?
Clubs & teams, Set under Dates against that club's ground, open the Saturdays list and tick the times it can take. Only that ground opens — nobody else plays that Saturday unless their ground is opened too.
Your existing schedule is kept exactly as it was; the new Saturday is simply available the next time you rebuild or move a game. A team can play on both the Saturday and the Sunday of a weekend, but a doubleheader is always that team's only outing that weekend — never a doubleheader plus another game, and never two back to back.
A ground is closed on a date that already has games on it.
Block the date under Dates as normal. The games already there are not moved behind your back — the Schedule tab lists them in a warning at the top. Move them yourself, or rebuild: a rebuild moves anything that is not locked.
Why can I not move one half of a doubleheader on its own?
Because it would stop being a doubleheader. Moving either half moves the pair to another Sunday. The time button swaps which of the two is played first.
Can two people work on the same schedule at once?
Not live. Each person's copy is their own. Pass a backup or an exported version between you and there is no confusion about which is current.
I added umpires and now nobody else can see them.
That is expected — additions live in your browser. The preloaded corps is built into the page so everyone starts from the same list. If somebody should be on that shared list permanently, they need adding to the page itself.
Does it work on a phone?
Yes. The layout stacks and the ground names are hidden on narrow screens to keep the fixtures readable. Longer sessions are easier on a laptop.
I have lost everything.
If your browser data was cleared, anything not backed up is gone. Restore from a backup if you have one, otherwise rebuild — the league setup, the grounds and the umpire corps all ship with the page, so you are not starting from nothing.