Import Tournaments
The procedure of importing tournaments from the past is as follows:
- 1) Club or federation exports all of their tournaments in a
jsonformat using the conventions below - 2) Coral development team will import them one-by-one to ensure consistency
- 3) Rankings can be generated as well for previous seasons if necessary
Full example
Below you can find the structure required for 1 tournament:
[
{
"id": 1234,
"name": "Paris Masters",
"organization": "FFBF",
"start_date": "2000-01-01",
"end_date": "2000-01-01",
"address": "Paris, France",
"timezone": "Europe/Paris",
"table": "BONZINI",
"categories": [
{
"name": "Masters",
"organization": "ITSF"
},
{
"name": "Open National",
"organization": "FFBF"
}
],
"competitions": [
{
"id": 1234,
"name": "Open Doubles",
"category": "OD",
"rule": "Official",
"type": "individual",
"ranking": true,
"dyp": false,
"handicap": false,
"standings": [
{
"players": ["64200120", "24200120"],
"rank": 1,
"forfeited": false
}
],
"phases": [
{
"id": 1234,
"name": "Qualifications",
"system": "swiss",
"match_format": "{coral-name-convention-or-null}",
"point_system": "{coral-name-convention-or-null}",
"full_score": true,
"stage": 1,
"standings": [
{
"players": ["64200120", "24200120"],
"rank": 1,
"seed": 1
}
],
"matches": [
{
"round": 1,
"home": [
"64200120",
"24200120"
],
"away": [
"44200120",
"34200120"
],
"start_at": "2000-01-01 12:00:00",
"end_at": "2000-01-01 13:00:00",
"pg": 1,
"score": [2, 1]
}
]
},
{
"id": 1234,
"name": "Main Phase",
"system": "sko",
"match_format": "{coral-name-convention-or-null}",
"point_system": null,
"full_score": true,
"stage": 2,
"standings": [
{
"players": ["64200120", "24200120"],
"rank": 1
}
],
"matches": [
{
"round": 1,
"home": [
"64200120",
"24200120"
],
"away": [
"44200120",
"34200120"
],
"start_at": "2000-01-01 12:00:00",
"end_at": "2000-01-01 13:00:00",
"pg": 1,
"score": [[2 ,5, 5], [5, 1, 2]]
}
]
}
]
}
]
}
]
Tournament
Mandatory fields are shown below:
{
"name": "Paris Masters",
"organization": "FFBF",
"start_date": "2000-01-01",
"end_date": "2000-01-01",
"address": "Paris, France",
"timezone": "Europe/Paris",
"table": "Bonzini"
}
Optional fields are shown below:
Note
For address you can use locality name and country.
Category
To assign the tournament to the proper tour, we use the categories field.
The example below assigns the tournament in 2 tours:
- international tour as
Masterscategory - national/France tour as
Open Nationalcategory
[
{
"name": "Masters",
"organization": "ITSF"
},
{
"name": "Open National",
"organization": "FFBF"
}
]
Competition
- All fields are mandatory except
id - If
phasesis an empty array, it will create a default phase - For a list of
categorycheck team categories in Coral - you can use either the short notation or full name - For a list of
rulescheck sport playing rules in Coral - you can use either the short notation or full name (Official,Classicetc.)
Note
team competitions are not supported.
{
"name": "Open Doubles",
"category": "OD",
"rule": "Official",
"type": "individual",
"ranking": true,
"dyp": false,
"handicap": false,
"table": "BONZINI"
}
Phase
- All fields are mandatory except
rounds - For
systemyou can use:swiss,round_robin,half_robin,sko,dko - For
match formatyou can use any names already created in Coral - For phase standings use a list of players
stage1 is for qualifications and 2+ are usually for eliminations
{
"name": "Qualifications",
"system": "swiss",
"match_format": "{coral-name-convention-or-null}",
"rounds": 3,
"point_system": "{coral-name-convention-or-null}",
"full_score": true,
"stage": 1,
"standings": []
}
Matches
If you require to import matches as well, please follow the convention below:
roundis always requiredsko- order of matches is important to ensure the matches are linked properly- matches with
byesmust also be provided
- matches with
dko- order of matches is important to ensure the matches are linked properly- matches with
byesmust also be provided - winner bracket rounds start from 1, 2,...
- loser bracket rounds start with -1, -2,...
- matches with
Mandatory fields:
{
"round": 1,
"home": [
"64200120",
"24200120"
],
"away": [
"44200120",
"34200120"
],
"score": [[2 ,5, 5], [5, 1, 2]]
}
Optional fields:
Note
For swiss, round_robin and half_robin make sure the number of matches per round is the same.
Standings
playersfield is required- if
rankis not provided, the import will use the first item as rank #1 etc. seedis optional - it is only needed in the main phase (stage=1)
To uniquely identify a player you can use the following values:
- international license number
- national license number
- player's code from Coral
Taxonomies
Team Category
| name | code |
|---|---|
| Open Singles | OS |
| Open Doubles | OD |
| Men Singles | MS |
| Men Doubles | MD |
| Women Singles | WS |
| Women Doubles | WD |
| Junior Under 19 Singles | U19S |
| Junior Under 19 Doubles | U19D |
| Junior Under 16 Singles | U16S |
| Junior Under 16 Doubles | U16D |
| Junior Under 13 Singles | U13S |
| Junior Under 13 Doubles | U13D |
| Girls Under 19 Singles | G19S |
| Girls Under 19 Doubles | G19D |
| Senior Over 50 Singles | O50S |
| Senior Over 50 Doubles | O50D |
| Senior Over 63 Singles | O63S |
| Senior Over 63 Doubles | O63D |
| Women Over 50 Singles | W50S |
| Women Over 50 Doubles | W50D |
| Disabled Singles | DS |
| Disabled Doubles | DD |
| Open Mixed | OM |
| Junior Under 19 Mixed | U19M |
| Senior Over 50 Mixed | O50M |
Rules
| name | code |
|---|---|
| Official | O |
| Classic | C |
| Rollerball | R |
| 2 Legs F4-S | 2S |
| 2 Legs F4-M | 2M |
| 2 Legs F5 | 25 |
| Goalie War | GW |
| Forward Shootout | FS |