Upload
In order to allow other applications to send data into TabT, and to ensure interoperability with applications based on TabT data, an upload format is provided.
This upload format is based on the use of simple text files that can easily be verified by humans.
General
An upload file is a text file composed of lines and columns.
Line separator : line end (ASCII 13) or carriage return (ASCII 10 + ASCII 13)
Column separator : semi column (;)
First column
The first column determines the type of information that will be sent to the server. It consists of one or two characters. Possible values are:
- Line “C” : Heading or comments
- Line “I” : Change in a result of a team match (aka interclub)
- Line “TR” : Change in a tournament configuration
- Line “T” : Change in a tournament result
- Line “N” : Change in the new ranking of a player
- Line “P” : Change in a player information
- Line “L” : Change in a team match schedule
- Line “F” : Change in fine types definition
- Line “FD” : Delete fine types
Line “C” : Heading or comments
This line defines a free comment and is ignored. The number and contents of the next columns are free.
Example
C;This is a free comment;With several columns;All ignored
Line “I” : Change in a result of a team match (aka interclub)
With this line type interclub results are uploaded. It needs the following columns :
- Season of the match ;
- Match identifier ;
- Home club ;
- Visiting club ;
- Home players list;
- Visiting players list;
Season
The identifier is a number which corresponds with a season:
- 5 = 2004-2005
- 6 = 2005-2006
- 7 = 2006-2007
- etc.
Match identifier
Unique identifier of the match for which the results will be uploaded.
This number is the same as the one given by the TabT application.
Examples
NH03/031
, PWVLD09/183
or PVLBH17/019
.
Home club
Home club index or “bye” if the visiting team does not play a match this week (but still has to send a team composition).
Visiting club
Same as home club but for the visiting club.
Home players list
The list of affiliation numbers of the home players who play the match. This list consists of maximum four numbers of 6 characters, separated by a comma (,).
If the player affiliation number is preceded by a dash (-), the player is W-O for all matches. If the player affiliation number is not know, it must be replaced by a question mark (?). The number of players has to be equal to the number of players determined for this match.
This column may be completely empty if a result type ‘U’ is used (see below).
If there are one or more double matches, the list will consist of one or more extra elements, containing the composition of the dubbel team(s). This composition consists of :
- The number of the first double player
- a dash (-)
- The number of the second double player
These numbers have to be inferior or equal to the number of players in the team.
Visiting players list
Same as for the visiting teams. The number of players and the number of double teams have to be equal in both teams.
Match results
There are three possibilities. The first letter of this column indicates the used method :
- S : Only the final match result (in sets) is provided.
- P : All match points are provided
- U : Only the final result is provided (without details)
Individual results in sets (“S”)
The column starts with ‘S’.
This letter is followed by a sequence of numbers between 0 and 9 or dashes (-). Every character represents the result of an individual match:
- 0 = Victory 0-3 (or 0-4) of the visiting player
- 1 = Victory 1-3 (or 1-4) of the visiting player
- 2 = Victory 2-3 (or 2-4) of the visiting player
- 3 = Victory 3-0 (or 4-0) of the home player
- 4 = Victory 3-1 (or 4-1) of the home player
- 5 = Victory 3-2 (or 4-2) of the home player
- 6 = Victory 3-4 of the visiting player
- 7 = Victory 4-3 of the home player
- 8 = W-O of the home player = victory of the visiting player
- 9 = W-O of the visiting player = victory of the home player
- dash (-) = W-O of both the home and the visiting player
The number of characters must correspond with the number of individual matches in the team match.
Examples
S0403502540950509
, S4143443441445345
or S9999999999999999
.
Individual results in points (“P”)
The column starts with ‘P’.
This letter is followed by a list of individual match results seperated by commas (,). The number of individual match results must be equal to the number of individual matches in the team match. In case of W-O the individual match result is :
- 8 = W-O of the home player
- 9 = W-O of the visiting player
- dash (-) = W-O of both the home and the visiting player
A match result consists of a list of match results separated by a a slash (/).
A set result is the number of points scored by the set looser. If the visiting player wins the set, this number is preceded by a dash (-).
Example
The individual match result is 11-7 / 4-11 / 11-8 / 11-5
This score will be represented by : 7/-4/8/5
Team match score (“U”)
The column starts with ‘U’.
This letter is followed by the team match score. This result consists of :
- The number of individual matches won by the home team
- A dash (-)
- The number of individual matches won by the visiting team
Examples
15-1
or 7-3
or 6-9
.
Responsibles
This column is optional.
The column consists of a list of 4 player indexes, separated by commas (,).
These players are :
- The captain of the home team
- The captain of the visiting team
- The team match referee
- The hall commissionary
The hall commissionary is optional.
Hours
This column is optional.
The column consists of two hour groups separated by commas (,). The format is HH:MM where HH is the number of hours and MM the number of minutes. These two hour groups correspond with :
- The team match starting hour
- The team match ending hour
Comments
This column is optional.
The column starts with a double quote (“) and ends with a double quote (“). The rest of the line is considered as comments. A carriage return is replaced by the sequence “backslash-character n” (\n). A backslash () is represented by a double backslash (\).
Examples
Team match Tienen A - Werchter A in first division, province of Flemish Brabant & Brussels of season 2005-2006:
C;Example format !TabT-Upload / match Tienen A - Werchter A
I;6;17/003;VLB330;VLB295;506080,505415,-506077,506077;505198,506082,505974,505973;S1824181008052811
Team match Herckenrode A - Pingouin Leuven A in regional series A (Ladies) of season 2005-2006:
C;Example format !TabT-Upload / match Herckenrode A - Pingouin Leuven A
I;6;L07/054;LK49;VLB5;506862,506778,506855,1-2;505256,505852,505855,1-3;S5232043505
Team match Kobelco Verdinamur A-Hoeselt A, in second national division, series A of season 2005-2006:
C;Example format !TabT-Upload / match Kobelco Verdinamur A-Hoeselt A
I;6;N07/044;N51;LK103;;;U13-3
Team match Hurricane H-TT VMS D, in fourth provincial division, series B, province of Flemish Brabant & Brussels of season 2005-2006:
C;Example format !TabT-Upload / match Hurricane H - TT VMS D
I;6;19/038;VLB225;VLB318;505393,505280,505282,509986;505460,506003,505996,506008;P-9/4/5/4,9/1/3,5/7/6,7/3/8,5/4/2,8/9/8,10/-9/-7/6/-6,12/4/-5/9,4/5/5,9/2/-9/9,9/-10/2/2,8/4/9,9/8/4,-5/9/5/9,8/3/1,11/10/6;505385,505460,505385;19:45,22:45
When a team withdraws a match, team composition is not known by the other party and player affiliation numbers must be replaced by question marks
C;Example format TabT-Upload / visited team withdraws
I;10;05/131;WVL72;WVL78;?,?,?,?;500352,501728,509376,513547;P8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8
Line “TR” : Change in a tournament configuration
TODO
Line “T” : Change in a tournament result
This line allows the registration of a tournament match result.
This line type needs the next additional columns:
Season
Identifier of the season during which the tournament takes place (see also the same field for Line “I” above).
Tournament identifier
Unique tournament identifier. This identifier is defined by the ‘‘Reference’’ field in the ‘‘Tournament’’ section of TabT.
If there is no defined tournament identifier, the tournament name can be used. Case, accents and spaces will be ignored.
Categorie
Age categorie of the match series. The categorie must correspond to the tournament definition in TabT.
Typical values are:
- POU = Poussins/Benjamins
- PRE = Preminimes
- MIN = Minimes
- CAD = Cadets
- JUN = Juniors
- J21 = Youth -21
- SEN = Seniors
- V40 = Veterans +40
- V50 = Veterans +50
- V60 = Veterans +60
- V70 = Veterans +70
- V80 = Veterans +80
- V85 = Veterans +85
Gender
- H : Gentlemen
- D : Ladies
The gender field must correspond to the tournament definition in TabT.
Series name
Match series name. The name must correspond to the tournament definition in TabT. Case, accents and spaces will be ignored.
Round number
For a later use. For the moment this field must be empty.
Match identifier
Unique match identifier within the series. The identifier must be a positive number.
Identifier player 1
Identifier for the first player. The identifier is a 6 digit number.
Identifier player 2
Identifier for the second player. The identifier is a 6 digit number.
Match result
The match result composed of the following elements:
- The number of sets won by the first player
- a dash (-)
- The number of sets won by the second player
One of the two players must have won more sets than the other and this number must correspond to the number of sets to win defined in the series or tour configuration. The other player must have a lower number of sets, that is however higher or equal to 0.
Example
Tournamnent results Criterium Senior Vlaams-Brabant 2005-2006 - Serie C Woman
C;Criterium Senior Vlaams-Brabant 2005-2006 - Serie C Woman
T;6;Seniorscriterium Vlaams Brabant;SEN;D;C;;1;505852;505855;3-1
T;6;Seniorscriterium Vlaams Brabant;SEN;D;C;;2;505256;501243;1-3
T;6;Seniorscriterium Vlaams Brabant;SEN;D;C;;3;505852;505256;3-0
T;6;Seniorscriterium Vlaams Brabant;SEN;D;C;;4;505855;505256;1-3
T;6;Seniorscriterium Vlaams Brabant;SEN;D;C;;5;501243;505852;1-3
T;6;Seniorscriterium Vlaams Brabant;SEN;D;C;;6;501243;505855;3-0
Line “N” : Change in the new ranking of a player
This line allows the modification of the new player’s ranking.
Only users who have ADMIN
and CLASS
can use this function.
This line type needs the following extra columns:
Season
Identifier of the season at the end of which the new ranking will be changed (see also the “I” line ‘‘season’’ field).
Important: This is not the season in which the new class will be valable (but the previous season).
Player identifier
Player identifier for whom the new ranking has to be changed. The identifier is a 6 digit number.
Category
The ranking category for which the new ranking has to be changed. Possible categories are :
- H = Gentlemen
- D = Ladies
New ranking
The player’s new ranking. Rankings depends on the configuration.
Typical rankings for Table Tennis federation are:
- Gentlemen = NC or NG, E6, E4, E2, E0, D6, D4, D2, D0, C6, C4, C2, C0, B6, B4, B2, B0, A## or As## (where ## is a number).
- Ladies = NC or NG, D6, D4, D2, D0, C6, C4, C2, C0, B6, B4, B2, B0, A## or As## (where ## is a number).
Line “P” : Change in a player information
TODO
Line “L” : Change in a team match schedule
Season
Identifier of the season when the match is played (see also the same field for Line “I” above).
Match identifier
Unique identifier of the match for which the date will be changed (see also the same field for Line “I” above).
Change type
The type of change to proceed:
- R: Reset to the official date of the match
- U: Update the schedule of the match
- I: Invert matches between first and second round
Important: if the change type is U, additional columns are required
Change date
If the change type is U, this parameter is considered; otherwise it will be ignored.
Indicates the new date of the match. If left empty, the official date of the match will be used.
Format must be YYYY-MM-DD
where:
YYYY
is the year on 4 digits,MM
is the month on 2 digits (including leading 0 if necessary),DD
is the day on 2 digits (including leading 0 if necessary).
Change time
If the change type is U, this parameter is considered; otherwise it will be ignored.
Indicates the new hour of the match. If left empty, the official hour of the match will be used.
Format must be HH-MM
where:
HH
is the hour on 2 digits (24 hours format, including leading 0 if necessary),DD
is the minute on 2 digits (including leading 0 if necessary).
Change venue
If the change type is U, this parameter is considered; otherwise it will be ignored.
Indicates the new venue of the match. If left empty, the official venue of the match will be used.
Format must be CLUB_ID,VENUE_ID
where:
CLUB_ID
is the unique identifier of the club (see field “Home club” for Line “I” above),VENUE_ID
is the unique identifier of the club venue (typically 1 when there is only one venue for the club).
Examples
Invert matches between Humbeek C and Hurricane C in division 3A province of Flemish Brabant & Brussels of season 2019-2020
L;20;PVLBH11/019;I
Change hour of match Saint-Piat G and Essor Luna Marquain E in division 5A province of Hainaut of season 2019-2020
L;20;PVLBH11/019;U;2019-09-28;15:00
Line “F” : Change in fine types definition
With this line type, one can add or change the definition of fine types. It needs the following columns:
- Season
- Level
- Identifier
- Language
- Description
- Value
The optional following columns can be given:
- Deviations list
- Maximum value
- Order
A fine type is a generic description of a fine that can be assigned to a club.
A fine type is uniquely identified by the combination of the season, the level and its identifier. If this combination does not exist in the system, a new fine type will be created. If this combination already exists, the found fine type will be overwritten.
Season
Identifier of the season for which the fine type must be considered (see also the same field for Line “I” above).
Level
Identifier of the level for which the fine must be considered. A level is representing a group of divisons that are managed the same way.
Examples
For the 2 main Belgian Table Tennis federations (VTTL & AFTT), the following levels have been defined:
- 6 = Super division
- 1 = National
- 15 = Regional VTTL
- 16 = Regional AFTT
- 4 = Province Hainaut
- 5 = Province Brussel & Vlaams-Brabant
- 7 = Province Oost-Vlaanderen
- 8 = Province Antwerpen
- 9 = Province West-Vlaanderen
- 10 = Province Limburg-Kempen
- 11 = Province Bruxelles & Brabant Wallon
- 12 = Province Namur
- 13 = Province Liège
- 14 = Province Luxembourg
Identifier
Identifier of the considered fine type. It is specific to the considered level so it means that several levels can use the same identifier for different fine types.
Language
The language of the description of the fine type (see next field).
Description
A description of fine type.
Value
The value of the fine to be paid by the club when the considered type of fine is assigned to the club. This is only a default value that can be overwritten when the fine is created.
Deviations list
The list of deviations that are associated with this fine type.
Maximum value
If not given:
- an existing fine type will keep its maximum value,
- a new fine type will have no maximum value.
Order
The display order of this fine type.
If not given:
- an existing fine type will keep its order,
- a new fine type will be given an order that is equal to the maximum order found plus 10.
Examples
F;21;9;C.18;nl;Opstellen niet gekwalificeerde speler;25;9|18;;1
Line “FD” : Delete fine types
With this line type, one can delete the definition of fine types. It needs the following columns:
- Season
- Level
- Identifier
A fine type is uniquely identified by the combination of the season, the level and its identifier. If this combination does not exist in the system, nothing will be done. If this combination exists, the found fine type will be deleted.
A fine type cannot be deleted if some fines of this fine type have been assigned to a club.
Examples
F;21;9;C.18