Import fixtures using a template
Importing a fixture template is a quick and easy way to create matches within the BowlsLink application that conform to some custom structure which the application may be unable to "auto" generate.
The BowsLink application expects a fixture template to be a file of comma-separated values (CSV), where each line of the file represents a single match. CSV files are a common way to represent tabular data using only plain text, and many popular spreadsheet applications like Microsoft Excel support saving worksheets as CSV files.
Each match is represented using three mandatory values and five optional values. A round-number, a "home" team/opponent number, and an "away" team/opponent number make up a match's mandatory values; a time, a day, a green/rink allocation ID(s), a section-number, and a yes/no flag to associate the competition format to the match’s location make up a match's optional values.
Byes are represented using a reserved team/opponent number of negative 1 (-1), and to-be-determined (TBD) designations are represented using a reserved team/opponent number of zero (0).
Sample fixtures
|=================================|
| Round | Home | Away |
|=============+=========+=========|
| 1 | 1 | 2 |
|-------------+---------+---------|
| 1 | 3 | -1 |
|-------------+---------+---------|
| 2 | 1 | 3 |
|-------------+---------+---------|
| 2 | -1 | 2 |
|-------------+---------+---------|
| 3 | 1 | -1 |
|-------------+---------+---------|
| 3 | 2 | 3 |
|-------------+---------+---------|
The template above is a typical representation of a round-robin competition with only 3 teams, where teams play each other only once. The template above includes only the mandatory values for each match: a round-number, and two opponent numbers.
As a CSV file, the template above will look something like:
Sample content of a fixtures template CSV file
Round,Home,Away
1,1,2
1,3,-1
2,1,3
2,-1,2
3,1,-1
3,2,3
In contrast, the template below is more complex, and includes optional values for each match, including a day, time, green/rink allocation ID(s), section, and yes/no flag to associate the competition format to the match’s location (represented by a ‘1' or '0’ respectively).
Sample fixtures
|================================================================================================================|
| Round | Home | Away | Day | Time | Green/Rink | Section | Associate Format |
|=============+=========+=========+============+==========+================+=============+=======================|
| 1 | 1 | 2 | 2021-04-01 | 09:15 | 4642 | | 1 |
|-------------+---------+---------+------------+----------+----------------+-------------+-----------------------|
| 1 | 3 | -1 | | 17:30 | 76/234 | 1 | 1 |
|-------------+---------+---------+------------+----------+----------------+-------------+-----------------------|
| 2 | 1 | 3 | 2021-05-21 | 13:20 | | | |
|-------------+---------+---------+------------+----------+----------------+-------------+-----------------------|
| 2 | -1 | 2 | 2021-05-22 | | 5367 | 1 | 0 |
|-------------+---------+---------+------------+----------+----------------+-------------+-----------------------|
| 3 | 1 | -1 | | | | | |
|-------------+---------+---------+------------+----------+----------------+-------------+-----------------------|
| 3 | 2 | 3 | 2021-11-03 | | 76/9/345 | | 1 |
|-------------+---------+---------+------------+----------+----------------+-------------+-----------------------|
| 1 | 4 | 5 | 2021-04-01 | 09:15 | 4642 | 2 | 1 |
|-------------+---------+---------+------------+----------+----------------+-------------+-----------------------|
| 1 | 6 | -1 | | 17:30 | 76 | 2 | 0 |
|-------------+---------+---------+------------+----------+----------------+-------------+-----------------------|
| 2 | 4 | 6 | 2021-05-21 | 13:20 | | 2 | |
|-------------+---------+---------+------------+----------+----------------+-------------+-----------------------|
| 2 | -1 | 5 | 2021-05-22 | | 5367 | 2 | |
|-------------+---------+---------+------------+----------+----------------+-------------+-----------------------|
| 3 | 4 | -1 | | | | 2 | 0 |
|-------------+---------+---------+------------+----------+----------------+-------------+-----------------------|
| 3 | 5 | 6 | 2021-11-03 | | 345 | 2 | |
|-------------+---------+---------+------------+----------+----------------+-------------+-----------------------|
Note that in the template above, optional values are just that: optional. A match may have a day, but no time; or a time, but no day.
As a CSV file, the template above will look something like:
Sample content of a fixtures template CSV file
A match may require the allocation of more than one green/rink. This can be achieved by identifying multiple green/rink allocation IDs for the match, each separated by a forward slash /
- e.g. 76/9/345
. In the template above, both match #3 and #7 identify multiple greens/rinks; match #3 has two greens/rinks allocated (IDs 76 and 234), and match #7 has three greens/rinks allocated (IDs 76, 9, and 345).
When opting to associate the competition format with an allocated green/rink, an association will only be created between the first allocated green/rink and the format. However, if the competition is a multi-format competition, and a match has multiple green/rinks allocated, associations will be created sequentially between each format and green/rink allocation. Example: the first format of a multi-format competition will be associated with the first green/rink allocation, the second format of a multi-format competition will be associated with the second green/rink allocation, and so on.
A match may require one or both of its opponents to be determined by the outcome of other matches - such as a round-2 match in a knock-out competition having both opponents determined by the winners of two distinct round-1 matches. This can be achieved in a template by using an opponent source identifier in place of a team/opponent number for the "home" value, "away" value, or both.
An opponent source identifier follows the format (n)-W
or (n)-L
, where (n)
represents the index of the match from which an opponent should be sourced, and W
and L
discriminate between the "winner" and "loser" of that match respectively. For example: 3-W
identifies the winner of the 3rd match in the template; 11-L
identifies the loser of the 11th match in the template. If working with a spreadsheet application like MS Excel, be careful not to confuse the number of the row in which a match is templated for the index of the match. Because a template will include a "header" row, the match in the second row of the spreadsheet is actually the first match of the template (so, index 1).
Sample Page–McIntyre system
The template above represents matches conforming to the Page-McIntyre system. In the first round of the Page-McIntyre system, the highest two ranked teams play each other, with the winner going straight through to the grand final and the loser going through to the preliminary final. The lowest two ranked teams play each other, and the winner advances to the preliminary final. The winner of the preliminary final gets through to the grand final (round 3).
As a CSV file, the template above will look something like:
Sample content of a fixtures template CSV file conforming to the Page-McIntyre system
It's common for some spreadsheet applications to save CSV files so that all values are delimited by quotation marks - e.g. "1","3","-1". If your CSV file exhibits this trait, don't worry, the BowlsLink importer handles these types of CSV files just fine.
Before attempting to import your own fixture template CSV file, take note of the following:
Ensure your CSV file has a .csv extension; the BowlsLink application may be unable to recognise the file as a fixture template otherwise.
Ensure your CSV file's first row represents "column headers" (like 'Round', 'Home', etc), and not a match; the BowlsLink template importer is configured to ignore the first row. As such, feel free to use whatever "column headers" make sense to you.
Ensure every row of your CSV file has values for all three mandatory columns: round-number, "home" team/opponent number, and "away" team/opponent number.
Round numbers don't have to be contiguous, nor do they have to start at 1; a fixture template with rounds 5, 21, and 40 is perfectly valid.
Round numbers do, however, need to be greater than zero (0).
Like round numbers, team/opponent numbers don't have to be contiguous, nor do they have to start at 1. We recommend, however, that you use team/opponent numbers that are greater than zero (0), as the BowlsLink application reserves numbers less than one (1) for specialised cases (like byes, which are represented using -1).
Team/opponent numbers must be no greater than 9000.
Days must conform to the format YYYY-MM-DD.
Times must use 24-hour time and conform to the format HH:MM.
Green/rink allocation IDs must identify greens/rinks allocated to the competition to which the match(s) belong. The Greens & Rinks Report can be used to generate a list of green/rink allocation IDs per competition.
Section numbers don't have to be contiguous, nor do they have to start at 1; a fixture template with sections 7, 2, and 11 is perfectly valid.
Section numbers do, however, need to be greater than zero (0).
For any match that doesn't define a section number, section 1 will be used as default.
For templates that define more than single section, the same team/opponent number must not appear in more than one section. Example: if one section uses team/opponent numbers 1-3, no other section may use these numbers. The exception to this rule is team/opponent numbers below 1, such as -1 (byes).
A fixture template that defines more than a single section cannot have its matches extrapolated using the Apply the template to how many sections? feature.
The yes/no flag for associating the competition format with a green/rink allocation must be represented by a one (1) or a zero (0) respectively.
For any match that doesn’t explicitly specify a flag for associating the competition format with a green/rink allocation, '0' (no) will be assumed by default.