Import Tournaments
The procedure of importing tournaments from the past is as follows:
- 1) Club or federation exports all of their tournaments in a
json
format 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",
"category": "Masters",
"organization": "ITSF",
"start_date": "2000-01-01",
"end_date": "2000-01-01",
"season": ["2000-01-01", "2000-12-31"],
"address": "Paris, France",
"timezone": "Europe/Paris",
"table": "BONZINI",
"competitions": [
{
"id": 1234,
"name": "Open Doubles",
"category": "OD",
"rule": "Official",
"type": "individual",
"ranking": true,
"dyp": false,
"standings": [
{
"players": ["64200120", "24200120"],
"rank": 1,
}
],
"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",
"category": "Masters",
"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.
Competition
- All fields are mandatory except
id
- If
phases
is an empty array, it will create a default phase - For a list of
category
check team categories in Coral - you can use either the short notation or full name - For a list of
rules
check sport playing rules in Coral - you can use either the short notation or full name (Official
,Classic
etc.)
Note
team
competitions are not supported.
{
"name": "Open Doubles",
"category": "OD",
"rule": "Official",
"type": "individual",
"ranking": true,
"dyp": false,
"table": "BONZINI"
}
Phase
- All fields are mandatory except
rounds
- For
system
you can use:swiss
,round_robin
,half_robin
,sko
,dko
- For
match format
you can use any names already created in Coral - For phase standings use a list of players
stage
1 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:
round
is always requiredsko
- order of matches is important to ensure the matches are linked properly- matches with
byes
must also be provided
- matches with
dko
- order of matches is important to ensure the matches are linked properly- matches with
byes
must 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
players
field is required- if
rank
is not provided, the import will use the first item as rank #1 etc. seed
is 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
If none of above options are available, you can create a virtual
license number at the national level which can be imported into Coral prior to importing tournaments.
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 |