{ "$schema": "http://json-schema.org/draft-06/schema#", "$id": "http://schema.tanzsport.de/json/esv/v1/common.json", "title": "Gemeinsame Typen V1", "description": "Gemeinsame Typen der ESV-Schemas V1", "definitions": { "iso8601-date-time": { "description": "ISO8601 Datum/Zeit", "type": "string", "javaType": "java.time.ZonedDateTime", "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:Z|[\\+\\-]+\\d{2}(:\\d{2})?)$", "example": "2014-04-18T00:00:00+02:00" }, "iso8601-date-time-nullable": { "description": "ISO8601 Datum/Zeit (ggf. auch ohne Zeitzonenangabe)", "type": [ "null", "string" ], "javaType": "java.time.ZonedDateTime", "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:Z|[\\+\\-]+\\d{2}(:\\d{2})?)?$", "example": "2014-04-18T00:00:00+02:00" }, "turnierstaette": { "description": "Daten einer Turnierstätte", "type": "object", "javaType": "de.tanzsport.esv.api.v1.model.veranstaltung.Turnierstaette", "properties": { "ort": { "description": "Ort", "type": "string" }, "name": { "description": "Name", "type": "string" }, "anschrift": { "description": "Anschrift", "type": "string" }, "plz": { "description": "PLZ", "type": "string" } }, "required": [ "ort", "name", "anschrift", "plz" ], "additionalProperties": false, "example": { "ort": "Berlin", "name": "Sporthalle Muster", "anschrift": "Musterstr. 1", "plz": "12345" } }, "landesverband": { "description": "Daten eines Landesverbandes", "type": [ "null", "object" ], "javaType": "de.tanzsport.esv.api.v1.model.Landesverband", "properties": { "id": { "description": "ID des Landesverbandes", "type": "integer" }, "name": { "description": "Abkürzung des Landesverbandes (gem. Schlüsselverzeichnis)", "$ref": "#/definitions/ltv-schluessel" } }, "required": [ "id", "name" ], "additionalProperties": false, "example": { "id": 1, "name": "LTVBerlin" } }, "veranstalter-ausrichter": { "description": "Daten eines Veranstalters/Ausrichters", "type": [ "null", "object" ], "javaType": "de.tanzsport.esv.api.v1.model.veranstaltung.VeranstalterAusrichter", "properties": { "id": { "description": "ID des Veranstalters/Ausrichters", "type": "integer" }, "name": { "description": "Name des Veranstalters/Ausrichters", "type": "string" }, "ltv": { "description": "Landesverband des Veranstalters/Ausrichters (sofern vorhanden)", "$ref": "#/definitions/landesverband" }, "kontaktTelefon": { "type": [ "null", "string" ] }, "kontaktEmail": { "type": [ "null", "string" ] } }, "required": [ "id", "name" ], "additionalProperties": false, "example": { "id": 123, "name": "TC Ocker-Umbra Musterstadt", "ltv": { "id": 1, "name": "HTV" }, "kontaktTelefon": "069 - 12345", "kontaktEmail": "ocker-umbra@email.de" } }, "verein": { "description": "Daten eines Vereins", "type": [ "null", "object" ], "javaType": "de.tanzsport.esv.api.v1.model.Verein", "properties": { "id": { "description": "ID des Vereins, null bei ausländischen Vereinen", "type": [ "null", "integer" ] }, "name": { "description": "Name des Vereins", "type": "string" }, "ltv": { "$comment": "Landesverband des Vereins, null bei ausländischen Vereinen", "$ref": "#/definitions/landesverband" } }, "required": [ "id", "name", "ltv" ], "additionalProperties": false, "example": { "id": 123, "name": "TC Ocker-Umbra Musterstadt", "ltv": { "id": 1, "name": "HTV" } } }, "lizenztyp": { "description": "Lizenztyp", "enum": [ "TL", "TL-JMD", "WR-D", "WR-C", "WR-B-Std", "WR-B-Lat", "WR-A-Std", "WR-A-Lat", "WR-S-Std", "WR-S-Lat", "WR-S-RL-Std", "WR-S-RL-Lat", "WR-S-DM-Std", "WR-S-DM-Lat", "WR-F1", "WR-F2", "WR-F-BL", "WR-F-DM", "WR-J1", "WR-J2", "WR-J1-DM", "WR-J2-DM" ], "javaType": "de.tanzsport.esv.api.v1.model.LizenzTyp" }, "ioc-code": { "description": "dreibuchstabiger IOC-Code, repräsentiert das Land, für das ein Starter startet oder die Staatsangehörigkeit einer Person", "type": "string", "minLength": 3, "maxLength": 3 }, "lizenztraeger": { "description": "Daten eines Lizenzträgers", "type": "object", "javaType": "de.tanzsport.esv.api.v1.model.Lizenztraeger", "properties": { "id": { "description": "DTV-Nummer des Lizenzträgers", "type": "string" }, "wdsfMin": { "description": "WDSF-MIN sofern vorhanden", "$comment": "FIXME - ESV gibt aktuell String zurück", "type": [ "null", "integer", "string" ] }, "lizenzNr": { "description": "alte Lizenz-Nr. sofern vorhanden", "$comment": "FIXME - ESV gibt aktuell String zurück", "type": [ "null", "integer", "string" ] }, "titel": { "description": "Titel sofern vorhanden", "type": [ "null", "string" ] }, "vorname": { "description": "Vorname des Lizenzträgers", "type": "string" }, "nachname": { "description": "Nachname des Lizenzträgers", "type": "string" }, "club": { "description": "Verein des Lizenzträgers", "javaName": "verein", "$ref": "#/definitions/verein" }, "staat": { "description": "Land, für das der Lizenzträger aktiv ist (IOC-Code)", "$ref": "#/definitions/ioc-code" }, "lizenzen": { "description": "Lizenzen des Lizenzträgers", "type": "array", "items": { "$ref": "#/definitions/lizenztyp" } } }, "required": [ "id", "vorname", "nachname", "club", "staat", "lizenzen" ], "additionalProperties": false, "example": { "id": "DE10009", "wdsfMin": 123456, "lizenzNr": 998877, "titel": "Dr.", "vorname": "Max", "nachname": "Mustermann", "club": { "id": 1, "name": "TC Ocker-Umbra Musterstadt", "ltv": { "id": 1, "name": "HTV" } }, "staat": "GER", "lizenzen": [ "TL" ] } }, "flaeche": { "description": "Daten einer Turnierfläche", "type": "object", "javaType": "de.tanzsport.esv.api.v1.model.veranstaltung.Flaeche", "properties": { "id": { "description": "ID der Fläche zur Referenzierung; eindeutig innerhalb einer Veranstaltung", "type": "string" }, "typ": { "description": "Typ der Fläche (Parkett, PVC etc.)", "type": "string" }, "laenge": { "description": "Flächenlänge", "type": "number" }, "breite": { "description": "Flächenbreite", "type": "number" } }, "required": [ "id", "typ", "laenge", "breite" ], "additionalProperties": false, "example": { "id": "Fläche 1", "typ": "PVC", "laenge": 10.5, "breite": 7.5 } }, "wettbewerbsart": { "description": "Wettbewerbsart", "enum": [ "Einzel", "FormationStdLat", "Mannschaft", "Solo", "SoloMaennlich", "SoloWeiblich", "Duo", "SmallGroup", "FormationJMD" ], "javaType": "de.tanzsport.esv.api.v1.model.WettbewerbsartTyp" }, "wettbewerbsart-nullable": { "description": "Wettbewerbsart (inkl. null)", "enum": [ null, "Einzel", "FormationStdLat", "Mannschaft", "Solo", "SoloMaennlich", "SoloWeiblich", "Duo", "SmallGroup", "FormationJMD" ], "javaType": "de.tanzsport.esv.api.v1.model.WettbewerbsartTyp" }, "turnierform": { "description": "Turnierform", "enum": [ "DM", "DP", "DC", "RLT", "RS", "GM", "LM", "OT", "ET", "IET", "IM", "IT", "PDT", "LT", "IMK", "Mk", "RM", "AT", "RT" ], "javaType": "de.tanzsport.esv.api.v1.model.TurnierformTyp" }, "startgruppe": { "description": "Startgruppe", "enum": [ "KinI", "KinII", "Kin", "JunI", "JunII", "Jug", "Hgr", "HgrII", "SenI", "SenII", "SenIII", "SenIV", "U21", "MCI", "MCII", "G55", "Ls66" ], "javaType": "de.tanzsport.esv.api.v1.model.StartgruppeTyp" }, "startgruppe-nullable": { "description": "Startgruppe (inkl. null)", "enum": [ null, "KinI", "KinII", "Kin", "JunI", "JunII", "Jug", "Hgr", "HgrII", "SenI", "SenII", "SenIII", "SenIV", "U21", "MCI", "MCII", "G55", "Ls66" ], "javaType": "de.tanzsport.esv.api.v1.model.StartgruppeTyp" }, "startklasse": { "description": "Startklasse", "enum": [ "BSW", "D", "C", "B", "A", "S", "PD" ], "javaType": "de.tanzsport.esv.api.v1.model.StartklasseTyp" }, "startklasse-nullable": { "description": "Startklasse (inkl. null)", "enum": [ null, "BSW", "D", "C", "B", "A", "S", "PD" ], "javaType": "de.tanzsport.esv.api.v1.model.StartklasseTyp" }, "startliga-nullable": { "description": "Startliga (inkl. null)", "enum": [ null, "1BL", "2BL", "RL", "OL", "LL", "VL" ], "javaType": "de.tanzsport.esv.api.v1.model.StartligaTyp" }, "startklasse-liga-nullable": { "description": "Startklasse oder -liga (inkl. null)", "enum": [ null, "BSW", "D", "C", "B", "A", "S", "PD", "1BL", "2BL", "RL", "OL", "LL", "VL" ], "javaType": "de.tanzsport.esv.api.v1.model.StartklasseLigaTyp" }, "turnierart": { "description": "Turnierart", "enum": [ "Std", "Lat", "Kmb", "JMD", "SD-Std", "SD-Lat", "Jazz" ], "javaType": "de.tanzsport.esv.api.v1.model.TurnierartTyp" }, "zulassungsbereich": { "description": "Zulassungsbereich", "enum": [ "WDSF", "EU", "DTV", "HATV", "HTV", "LTVBerlin", "LTVBr", "LTVBremen", "LTVB", "LTVS", "LTVSA", "NTV", "SLT", "TBW", "TMV", "TNW", "TRP", "TSH", "TTSV" ], "javaType": "de.tanzsport.esv.api.v1.model.ZulassungsbereichTyp" }, "ranglisten-id": { "description": "Ranglisten-ID", "$comment": "FIXME: ESV gibt Leerstring, nicht null zurück", "javaType": "de.tanzsport.esv.api.v1.model.RanglistenId", "enum": [ null, "", "JunII-Std", "JunII-Lat", "Jug-Std", "Jug-Lat", "Hgr-Std", "Hgr-RS-Std", "Hgr-RS-Lat", "SenI-Std", "SenII-Std", "G55-Std", "LS66-Std", "Jug-SoloM-JMD", "Jug-SoloW-JMD", "Jug-Duo-JMD", "Jug-SG-JMD", "Hgr-SoloM-JMD", "Hgr-SoloW-JMD", "Hgr-Duo-JMD", "Hgr-SG-JMD" ] }, "turnier": { "description": "Daten eines Turniers", "type": "object", "javaType": "de.tanzsport.esv.api.v1.model.veranstaltung.Turnier", "properties": { "id": { "description": "ID des Turniers", "type": "integer" }, "datumVon": { "description": "Beginndatum des Turniers", "$ref": "#/definitions/iso8601-date-time" }, "datumBis": { "description": "Enddatum des Turniers", "$ref": "#/definitions/iso8601-date-time" }, "startzeitPlan": { "description": "Geplante Startzeit des Turniers (veröffentlicht im Tanzspiegel)", "type": "string" }, "startzeitPlanKorrigiert": { "description": "Ggf. vom Veranstalter/Ausrichter korrigierte Startzeit", "type": [ "null", "string" ] }, "titel": { "description": "Titel des Turniers", "type": [ "null", "string" ] }, "veranstalter": { "description": "Veranstalter des Turniers wenn abweichend von der Veranstaltung", "$ref": "#/definitions/veranstalter-ausrichter" }, "ausrichter": { "description": "Ausrichter des Turniers wenn abweichend von der Veranstaltung", "$ref": "#/definitions/veranstalter-ausrichter" }, "flaechenId": { "description": "ID der Fläche", "type": [ "null", "string" ] }, "wettbewerbsart": { "description": "Wettbewerbsart des Turniers", "$ref": "#/definitions/wettbewerbsart" }, "turnierform": { "description": "Turnierform des Turniers", "$ref": "#/definitions/turnierform" }, "startgruppe": { "description": "Startgruppe des Turniers", "$ref": "#/definitions/startgruppe" }, "startklasseLiga": { "description": "Startklasse oder -liga des Turniers", "$ref": "#/definitions/startklasse-liga-nullable" }, "turnierart": { "description": "Turnierart des Turniers", "$ref": "#/definitions/turnierart" }, "zulassung": { "description": "Zulassungsbereiche des Turniers", "type": "array", "items": { "$ref": "#/definitions/zulassungsbereich" } }, "wanderpokal": { "description:": "Flag Wanderpokal", "type": "boolean" }, "turnierrang": { "description": "Turnierrang (numerisch 1 oder 2)", "type": "integer", "minimum": 1, "maximum": 2 }, "aufstiegsturnier": { "description": "Flag für Vergabe von Aufstiegspunkten", "type": "boolean" }, "ranglistenId": { "description": "Ranglisten-ID für das Turnier (sofern vorhanden)", "$ref": "#/definitions/ranglisten-id" }, "wdsfTurnierId": { "description": "WDSF-ID des Turniers (sofern vorhanden)", "type": [ "null", "integer" ] }, "startgebuehr": { "description": "Startgebühr (sofern vorhanden); Zahl in EUR oder Freitext", "type": [ "null", "number", "string" ] }, "bemerkungen": { "description": "Bemerkungen zum Turnier (sofern vorhanden)", "type": [ "null", "string" ] }, "wertungsrichter": { "description": "DTV-Nummern der für dieses Turnier eingesetzten Wertungsrichter", "type": [ "null", "array" ], "items": { "type": "string" } }, "turnierleiter": { "description": "DTV-Nummer des für dieses Turnier eingesetzten Turnierleiters", "type": [ "null", "string" ] }, "beisitzer": { "description": "DTV-Nummer des für dieses Turnier eingesetzten Beisitzers", "type": [ "null", "string" ] }, "chairman": { "description": "DTV-Nummer der für dieses Turnier eingesetzten Chairperson", "type": [ "null", "string" ] } }, "required": [ "id", "datumVon", "datumBis", "startzeitPlan", "wettbewerbsart", "turnierform", "startgruppe", "startklasseLiga", "turnierart", "zulassung", "wanderpokal", "turnierrang", "aufstiegsturnier" ], "additionalProperties": false, "example": { "id": 1234, "datumVon": "2017-01-01T00:00:00+02:00", "datumBis": "2017-01-01T00:00:00+02:00", "startzeitPlan": "10:00", "startzeitPlanKorrigiert": "11:15", "titel": "Pokal des Bürgermeisters", "veranstalter": { "id": 1, "name": "TC Ocker Umbra Musterstadt", "ltv": { "id": 1, "name": "LTVBerlin" } }, "ausrichter": { "id": 1, "name": "TC Ocker Umbra Musterstadt", "ltv": { "id": 1, "name": "LTVBerlin" } }, "flaechenId": "Fläche 1", "wettbewerbsart": "Einzel", "turnierform": "OT", "startgruppe": "Hgr", "startklasseLiga": "S", "turnierart": "Lat", "zulassung": [ "DTV" ], "wanderpokal": false, "turnierrang": 1, "aufstiegsturnier": true, "ranglistenId": null, "wdsfTurnierId": null, "startgebuehr": "10 EUR/Paar", "bemerkungen": "Abendveranstaltung mit Ball", "wertungsrichter": [ "DE10017", "DE10025", "DE10033" ], "turnierleiter": "DE10041", "beisitzer": "DE10050", "chairman": "DE10068" } }, "team-l1": { "description": "Daten eines Teams in der Startliste (Level 1) [wurde nicht verwendet]", "type": [ "null", "object" ], "javaType": "de.tanzsport.esv.api.v1.model.startliste.TeamLevel1", "properties": { "name": { "description": "Name des Teams", "type": "string" }, "kapitaen": { "description": "Kapitän des Teams sofern angegeben", "type": [ "null", "string" ] } }, "required": [ "name", "kapitaen" ], "additionalProperties": false, "example": { "name": "a", "kapitaen": "Max Mustermann" } }, "team-l2": { "description": "Daten eines Teams in der Startliste (Level 2)", "type": [ "null", "object" ], "javaType": "de.tanzsport.esv.api.v1.model.startliste.TeamLevel2", "properties": { "name": { "description": "Name des Teams", "type": "string" }, "kapitaen": { "description": "Kapitän des Teams sofern angegeben", "type": [ "null", "string" ] }, "trainer": { "description": "Trainer des Teams sofern angegeben", "type": [ "null", "string" ] }, "musikTitel": { "description": "Titel der Choreographie/des Tanzes", "type": [ "null", "string" ] } }, "required": [ "name", "kapitaen", "trainer", "musikTitel" ], "additionalProperties": false, "example": { "name": "A", "kapitaen": "Max Mustermann", "trainer": "Sabine Musterfrau", "musikTitel": "Dance Unlimited" } }, "geschlecht": { "description": "Geschlecht einer Person (m = männlich, w = weiblich)", "enum": [ "m", "w" ] }, "person-l1": { "description": "Person in einer Startliste (Level 1)", "type": "object", "javaType": "de.tanzsport.esv.api.v1.model.startliste.PersonLevel1", "properties": { "id": { "description": "DTV-Nummer der Person", "type": "string" }, "titel": { "description": "Titel der Person (sofern vorhanden)", "type": [ "null", "string" ] }, "vorname": { "description": "Vorname der Person", "type": "string" }, "nachname": { "description": "Nachname der Person", "type": "string" }, "geschlecht": { "description": "Geschlecht der Person", "$ref": "#/definitions/geschlecht" }, "wdsfMin": { "description": "WDSF-MIN der Person sofern vorhanden", "$comment": "FIXME - ESV gibt String zurück", "type": [ "null", "integer", "string" ] }, "nationalitaet": { "description": "Staatsangehörigkeit der Person (IOC-Code)", "$ref": "#/definitions/ioc-code" } }, "required": [ "id", "titel", "vorname", "nachname", "geschlecht", "wdsfMin", "nationalitaet" ], "additionalProperties": false, "example": { "id": "DE10076", "titel": "Dr.", "vorname": "Max", "nachname": "Mustermann", "geschlecht": "m", "wdsfMin": 12345, "nationalitaet": "GER" } }, "person-l2": { "description": "Person in einer Startliste (Level 2)", "type": "object", "javaType": "de.tanzsport.esv.api.v1.model.startliste.PersonLevel2", "properties": { "id": { "description": "DTV-Nummer der Person", "type": "string" }, "titel": { "description": "Titel der Person", "type": [ "null", "string" ] }, "vorname": { "description": "Vorname der Person", "type": "string" }, "nachname": { "description": "Nachname der Person", "type": "string" }, "geschlecht": { "description": "Geschlecht der Person", "$ref": "#/definitions/geschlecht" }, "wdsfMin": { "description": "WDSF-MIN der Person sofern vorhanden", "type": [ "null", "integer", "string" ] }, "nationalitaet": { "description": "Staatsangehörigkeit der Person (IOC-Code)", "$ref": "#/definitions/ioc-code" }, "startaufstellung": { "description": "Aktiver in Startaufstellung, nur relevant bei Formations- und Gruppenwettbewerben (A=aktiv in der Startaufstellung)", "type": "boolean" } }, "required": [ "id", "titel", "vorname", "nachname", "geschlecht", "wdsfMin", "nationalitaet", "startaufstellung" ], "additionalProperties": false, "example": { "id": "DE10076", "titel": "Dr.", "vorname": "Max", "nachname": "Mustermann", "geschlecht": "m", "wdsfMin": 12345, "nationalitaet": "GER", "startaufstellung": true } }, "meldung": { "description": "Meldung in einer Startliste", "type": "object", "javaType": "de.tanzsport.esv.api.v1.model.startliste.Meldung", "properties": { "turnierId": { "description": "ID des Turniers", "type": "integer" }, "meldung": { "description": "Flag für Meldung (true = Meldung, false = Abmeldung)", "type": "boolean" }, "bestaetigt": { "description": "Zeitstempel der Meldebestätigung durch den Verein", "$ref": "#/definitions/iso8601-date-time" }, "startNr": { "description": "Von der ESV vergebene Start-Nr., relevant nur für Formationen und Gruppen", "type": [ "null", "integer" ] }, "startsperre": { "description": "Flag für Startsperre (true = gesperrt, false = nicht gesperrt)", "type": "boolean" } }, "required": [ "turnierId", "meldung", "startNr", "startsperre" ], "additionalProperties": false, "example": { "turnierId": 12345, "meldung": true, "bestaetigt": "2017-01-01T12:12+02:00", "startNr": 3, "startersperre": false } }, "punkte-platzierungen-ist-ziel": { "description": "Ist- und Zielpunkte bzw. -platzierungen", "type": [ "null", "object" ], "javaType": "de.tanzsport.esv.api.v1.model.startliste.IstZiel", "properties": { "ist": { "type": "integer" }, "ziel": { "type": "integer" } }, "required": [ "ist", "ziel" ], "additionalProperties": false, "example": { "ist": 23, "ziel": 100 } }, "aufstiegsregeln": { "description": "Aufstiegsregeln für Einzelwettbewerbe Std/Lat, später ggf. JMD", "type": [ "null", "object" ], "javaType": "de.tanzsport.esv.api.v1.model.startliste.Aufstiegsregel", "properties": { "minPunkte": { "type": [ "integer", "string" ] }, "platzierungBis": { "type": [ "integer", "string" ] } }, "required": [ "minPunkte", "platzierungBis" ], "additionalProperties": false, "example": { "minPunkte": 2, "platzierungBis": 6 } }, "startbuch-flags": { "description": "Flags für Startbücher", "type": "object", "javaType": "de.tanzsport.esv.api.v1.model.startliste.StartbuchFlags", "properties": { "laufzettel": { "description": "Laufzettel drucken", "type": [ "boolean", "integer" ] }, "verwarnungSchrittbegrenzung": { "description": "Verwarnung wg. Schrittbegrenzung liegt vor", "type": [ "boolean", "integer" ] } }, "required": [ "laufzettel", "verwarnungSchrittbegrenzung" ], "additionalProperties": false, "example": { "laufzettel": true, "verwarnungSchrittbegrenzung": false } }, "startbuch-l1": { "description": "Startbuch eines Starters in einer Startliste (Level 1)", "type": "object", "javaType": "de.tanzsport.esv.api.v1.model.startliste.StartbuchLevel1", "properties": { "turnierart": { "description": "Turnierart des Startbuchs", "$ref": "#/definitions/turnierart" }, "startgruppe": { "description": "Startgruppe des Startbuchs", "$ref": "#/definitions/startgruppe" }, "startliga": { "description": "Ist-Startliga des Starters (nur Formationen und Gruppen)", "$ref": "#/definitions/startliga-nullable" }, "startklasse": { "description": "Ist-Startklasse des Starters (nur Einzelwettbewerbe Std/Lat und JMD)", "$ref": "#/definitions/startklasse-nullable" }, "naechsteStartklasse": { "description": "Ziel-Startklasse für Einzelwettbewerbe", "$ref": "#/definitions/startklasse-nullable" }, "punkte": { "description": "Punktestand für Einzelwettbewerbe Std/Lat, später ggf. JMD", "$ref": "#/definitions/punkte-platzierungen-ist-ziel" }, "platzierungen": { "description": "Stand der Platzierungen für Einzelwettbewerbe Std/Lat, später ggf. JMD", "$ref": "#/definitions/punkte-platzierungen-ist-ziel" }, "regeln": { "description": "Aufstiegsregeln für Einzelwettbewerbe Std/Lat, später ggf. JMD", "$ref": "#/definitions/aufstiegsregeln" }, "flags": { "description": "Flags für Startbuch", "$ref": "#/definitions/startbuch-flags" } }, "required": [ "turnierart", "startgruppe", "startliga", "startklasse", "naechsteStartklasse", "punkte", "platzierungen", "regeln", "flags" ], "additionalProperties": false, "example": { "turnierart": "Lat", "startgruppe": "Hgr", "startliga": null, "startklasse": "A", "naechsteStartklasse": "S", "punkte": 100, "platzierungen": 7, "regeln": { "minPunkte": 2, "platzierungBis": 3 } } }, "starter-l1": { "description": "Starter in einer Startliste (Schema-Level 1)", "type": "object", "javaType": "de.tanzsport.esv.api.v1.model.startliste.StarterLevel1", "properties": { "id": { "description": "ID des Starters (Solist, Paar, Duo, Formation, Small Group)", "type": "integer", "example": 224488 }, "team": { "description": "Daten eines Teams bei Formations- und Gruppenwettbewerben", "$ref": "#/definitions/team-l1" }, "personen": { "description": "Zum Starter zugehörige Personen; enthält bei Formations- und Gruppenwettbewerben alle Tänzer inkl. Ersatztänzer, bei Paaren und Duos die beiden Partner und bei Solisten die jeweilige Person.", "type": "array", "items": { "$ref": "#/definitions/person-l1" } }, "club": { "description": "Verein bei deutschen und Grenzverkehrsstartern, sonst optional", "$ref": "#/definitions/verein" }, "staat": { "description": "Staat, für den der Starter starter (IOC-Code)", "$ref": "#/definitions/ioc-code" }, "meldungen": { "description": "Alle Meldungen dieses Starters in der Veranstaltung", "type": "array", "items": { "$ref": "#/definitions/meldung" } }, "startbuch": { "description": "Startbücher des Starters", "type": "array", "items": { "$ref": "#/definitions/startbuch-l1" } } }, "required": [ "id", "team", "personen", "club", "staat", "meldungen", "startbuch" ], "additionalProperties": false, "example": { "id": 12345, "team": { "name": "A", "kapitaen": "Max Mustermann" }, "personen": [ { "id": "DE10084", "titel": null, "vorname": "Max", "nachname": "Mustermann", "geschlecht": "m", "wdsfMin": 12345, "nationalitaet": "GER" }, { "id": "DE10092", "titel": null, "vorname": "Sabine", "nachname": "Musterfrau", "geschlecht": "w", "wdsfMin": 12346, "nationalitaet": "GER" } ], "club": { "id": 123, "name": "TC Ocker-Umbra Musterstadt", "ltv": { "id": 1, "name": "HTV" } }, "staat": "GER", "meldungen": [ { "turnierId": 12345, "meldung": true, "bestaetigt": "2017-01-01T12:12+02:00", "startNr": 3, "startersperre": false } ], "startbuch": [ { "turnierart": "Lat", "startgruppe": "Hgr", "startliga": null, "startklasse": "A", "naechsteStartklasse": "S", "punkte": 100, "platzierungen": 7, "regeln": { "minPunkte": 2, "platzierungBis": 3 } } ] } }, "aufstellung-l2": { "description": "Regeln für die Aufstellungen bei Formations- und Gruppenwettbewerben", "type": [ "null", "object" ], "javaType": "de.tanzsport.esv.api.v1.model.startliste.AufstellungLevel2", "properties": { "min": { "type": "integer" }, "max": { "type": "integer" }, "ausland": { "type": [ "null", "integer" ] } }, "required": [ "min", "max", "ausland" ], "additionalProperties": false, "example": { "min": 6, "max": 8, "ausland": 4 } }, "startbuch-l2": { "description": "Startbuch eines Starters in einer Startliste (Level 2)", "type": "object", "javaType": "de.tanzsport.esv.api.v1.model.startliste.StartbuchLevel2", "properties": { "wettbewerbsart": { "description": "Wettbewerbsart des Startbuchs", "$ref": "#/definitions/wettbewerbsart" }, "turnierart": { "description": "Turnierart des Startbuchs", "$ref": "#/definitions/turnierart" }, "startgruppe": { "description": "Startgruppe des Startbuchs", "$ref": "#/definitions/startgruppe" }, "startliga": { "description": "Ist-Startliga des Starters (nur Formationen und Gruppen)", "$ref": "#/definitions/startliga-nullable" }, "startklasse": { "description": "Ist-Startklasse des Starters (nur Einzelwettbewerbe Std/Lat und JMD)", "$ref": "#/definitions/startklasse-nullable" }, "naechsteStartklasse": { "description": "Ziel-Startklasse für Einzelwettbewerbe", "$ref": "#/definitions/startklasse-nullable" }, "punkte": { "description": "Punktestand für Einzelwettbewerbe Std/Lat, später ggf. JMD", "$ref": "#/definitions/punkte-platzierungen-ist-ziel" }, "platzierungen": { "description": "Stand der Platzierungen für Einzelwettbewerbe Std/Lat, später ggf. JMD", "$ref": "#/definitions/punkte-platzierungen-ist-ziel" }, "regeln": { "description": "Aufstiegsregeln für Einzelwettbewerbe Std/Lat, später ggf. JMD", "$ref": "#/definitions/aufstiegsregeln" }, "flags": { "description": "Flags für Startbuch", "$ref": "#/definitions/startbuch-flags" } }, "required": [ "wettbewerbsart", "turnierart", "startgruppe", "startliga", "startklasse", "naechsteStartklasse", "punkte", "platzierungen", "regeln", "flags" ], "additionalProperties": false, "example": { "wettbewerbsart": "Einzel", "turnierart": "Lat", "startgruppe": "Hgr", "startliga": null, "startklasse": "A", "naechsteStartklasse": "S", "punkte": 100, "platzierungen": 7, "regeln": { "minPunkte": 2, "platzierungBis": 3 } } }, "starter-l2": { "description": "Starter in einer Startliste (Level 2)", "type": "object", "javaType": "de.tanzsport.esv.api.v1.model.startliste.StarterLevel2", "properties": { "id": { "description": "ID des Starters (Solist, Paar, Duo, Formation, Small Group)", "type": "integer", "example": 224488 }, "team": { "description": "Daten eines Teams bei Formations- und Gruppenwettbewerben", "$ref": "#/definitions/team-l2" }, "personen": { "description": "Zum Starter zugehörige Personen; enthält bei Formations- und Gruppenwettbewerben alle Tänzer inkl. Ersatztänzer, bei Paaren und Duos die beiden Partner und bei Solisten die jeweilige Person.", "type": "array", "items": { "$ref": "#/definitions/person-l2" } }, "club": { "description": "Verein bei deutschen und Grenzverkehrsstartern, sonst optional", "$ref": "#/definitions/verein" }, "staat": { "description": "Staat, für den der Starter starter (IOC-Code)", "$ref": "#/definitions/ioc-code" }, "meldungen": { "description": "Alle Meldungen dieses Starters in der Veranstaltung", "type": "array", "items": { "$ref": "#/definitions/meldung" } }, "startbuch": { "description": "Startbücher des Starters", "type": "array", "items": { "$ref": "#/definitions/startbuch-l2" } }, "aufstellung": { "description": "Regeln für die Aufstellung bei Formations- und Gruppenwettbewerben", "$ref": "#/definitions/aufstellung-l2" } }, "required": [ "id", "team", "personen", "club", "staat", "meldungen", "startbuch", "aufstellung" ], "additionalProperties": false, "example": { "id": 12345, "team": { "name": "A", "kapitaen": "Max Mustermann" }, "personen": [ { "id": "DE10084", "titel": null, "vorname": "Max", "nachname": "Mustermann", "geschlecht": "m", "wdsfMin": 12345, "nationalitaet": "GER", "startaufstellung": true }, { "id": "DE10092", "titel": null, "vorname": "Sabine", "nachname": "Musterfrau", "geschlecht": "w", "wdsfMin": 12346, "nationalitaet": "GER", "startaufstellung": true } ], "club": { "id": 123, "name": "TC Ocker-Umbra Musterstadt", "ltv": { "id": 1, "name": "HTV" } }, "staat": "GER", "meldungen": [ { "turnierId": 12345, "meldung": true, "bestaetigt": "2017-01-01T12:12+02:00", "startNr": 3, "startersperre": false } ], "startbuch": [ { "turnierart": "Lat", "startgruppe": "Hgr", "startliga": null, "startklasse": "A", "naechsteStartklasse": "S", "punkte": 100, "platzierungen": 7, "regeln": { "minPunkte": 2, "platzierungBis": 3 } } ], "aufstellung": { "min": 6, "max": 8, "ausland": 4 } } }, "ranglisten-rang": { "description": "Rang eines Starters in der Rangliste", "type": "object", "javaType": "de.tanzsport.esv.api.v1.model.rangliste.RanglisteRang", "properties": { "rl": { "description": "Platz in der Rangliste", "type": "integer" }, "dm": { "description": "Platz der vorhergehenden DM (sofern vorhanden)", "type": [ "null", "integer" ] } }, "required": [ "rl", "dm" ], "additionalProperties": false, "example": { "rl": 10, "dm": 12 } }, "ranglisten-person": { "description": "Person in einem Ranglisten-Starter", "type": "object", "javaType": "de.tanzsport.esv.api.v1.model.rangliste.RanglistePerson", "properties": { "id": { "description": "DTV-Nummer der Person", "type": "string" }, "titel": { "description": "Titel der Person sofern vorhanden", "type": [ "null", "string" ] }, "nachname": { "description": "Nachname der Person", "type": "string" }, "vorname": { "description": "Vorname der Person", "type": "string" } }, "required": [ "id", "titel", "nachname", "vorname" ], "additionalProperties": false, "example": { "id": "DE10092", "titel": "Dr.", "nachname": "Mustermann", "vorname": "Max" } }, "ranglisten-starter": { "description": "Starter in einer Rangliste", "$comment": "FIXME - Daten eines Teams können nicht übergeben werden", "type": "object", "javaType": "de.tanzsport.esv.api.v1.model.rangliste.RanglisteStarter", "properties": { "id": { "description": "ID des Starters", "type": "integer" }, "rang": { "description": "Rang des Starters", "$ref": "#/definitions/ranglisten-rang" }, "personen": { "description": "Personen bei Einzelwettbewerben Standard/Latein/JMD, leer bei Formationen und Gruppen", "type": "array", "items": { "$ref": "#/definitions/ranglisten-person" } }, "club": { "description": "Club eines Ranglisten-Starters", "$ref": "#/definitions/verein" }, "punkte": { "description": "Ranglisten-Punkte", "type": "integer" }, "anzahlTurniere": { "description": "Anzahl der teilgenommenen Turniere in der Ranglistenwertung", "type": "integer" } }, "required": [ "id", "rang", "personen", "club", "punkte", "anzahlTurniere" ], "additionalProperties": false, "example": { "id": 1234, "rang": { "dm": 1, "rl": 1 }, "personen": [ { "id": "DE10092", "titel": "Dr.", "nachname": "Mustermann", "vorname": "Max" }, { "id": "DE10106", "titel": null, "nachname": "Musterfrau", "vorname": "Sabine" } ], "club": { "id": 1, "name": "TC Ocker Umbra Musterstadt", "ltv": { "id": 1, "name": "HTV" } }, "punkte": 270, "anzahlTurniere": 4 } }, "rangliste": { "description": "Rangliste", "type": "object", "javaType": "de.tanzsport.esv.api.v1.model.rangliste.Rangliste", "properties": { "id": { "description": "Ranglisten-ID", "$ref": "#/definitions/ranglisten-id" }, "stand": { "description": "Stand der Rangliste", "$ref": "#/definitions/iso8601-date-time" }, "starter": { "description": "Starter in der Rangliste", "type": "array", "items": { "$ref": "#/definitions/ranglisten-starter" } } }, "required": [ "id", "stand", "starter" ], "additionalProperties": false, "example": { "id": "Hgr-Std", "stand": "2017-01-01T00:00:00+02:00", "starter": [] } }, "aufstiegstabelle-kriterien": { "description": "Kriterien in einem Eintrag einer Aufstiegstabelle", "type": "object", "javaType": "de.tanzsport.esv.api.v1.model.aufstiegstabelle.AufstiegsTabelleKriterien", "properties": { "klasse": { "description": "Ist-Startklasse", "$ref": "#/definitions/startklasse" }, "zielklasse": { "description": "Ziel-Startklasse", "$ref": "#/definitions/startklasse-nullable" }, "punkte": { "description": "Erforderliche Punkte für Aufstieg", "$comment": "FIXME - ESV gibt aktuell String zurück", "type": [ "integer", "string" ] }, "plaetze": { "description": "Erforderliche Platzierungen für Aufstieg", "$comment": "FIXME - ESV gibt aktuell String zurück", "type": [ "integer", "string" ] }, "bisPlatz": { "description": "Platzierung bis Platz", "$comment": "FIXME - ESV gibt aktuell String zurück", "type": [ "integer", "string" ] }, "doppelstart": { "description": "Kennzeichnet Aufstiege in Startklasse, die nur im Doppelstart genutzt werden können", "type": "boolean" } }, "required": [ "klasse", "zielklasse", "punkte", "plaetze", "bisPlatz", "doppelstart" ], "additionalProperties": false, "example": { "klasse": "C", "zielklasse": "B", "punkte": 120, "plaetze": 7, "bisPlatz": 3, "doppelstart": false } }, "aufstiegstabelle-eintrag": { "description": "Eintrag in der Aufstiegstabelle", "type": "object", "javaType": "de.tanzsport.esv.api.v1.model.aufstiegstabelle.AufstiegstabelleEintrag", "properties": { "startgruppen": { "description": "Startgruppen für diesen Eintrag", "type": "array", "items": { "$ref": "#/definitions/startgruppe" } }, "turnierart": { "description": "Turnierart für diesen Eintrag", "$ref": "#/definitions/turnierart" }, "kriterien": { "description": "Aufstiegskriterien für diesen Eintrag", "type": "array", "items": { "$ref": "#/definitions/aufstiegstabelle-kriterien" } } }, "required": [ "startgruppen", "turnierart", "kriterien" ], "additionalProperties": false, "example": { "startgruppen": [ "Hgr", "HgrII" ], "turnierart": "Lat", "kriterien": { "klasse": "C", "zielklasse": "B", "punkte": 120, "plaetze": 7, "bisPlatz": 3, "doppelstart": false } } }, "ltv-schluessel": { "description": "Schlüssel für Landesverbände", "enum": [ "HATV", "HTV", "LTVBerlin", "LTVBr", "LTVBremen", "LTVB", "LTVS", "NTV", "SLT", "TBW", "TMV", "TNW", "TRP", "TSH", "TTSV", "LTVSA" ], "javaType": "de.tanzsport.esv.api.v1.model.LtvTyp" }, "ltv-schluessel-nullable": { "description": "Schlüssel für Landesverbände (mit null)", "enum": [ null, "HATV", "HTV", "LTVBerlin", "LTVBr", "LTVBremen", "LTVB", "LTVS", "NTV", "SLT", "TBW", "TMV", "TNW", "TRP", "TSH", "TTSV", "LTVSA" ], "javaType": "de.tanzsport.esv.api.v1.model.LtvTyp" }, "aufstiegstabelle": { "description": "Aufstiegstabelle", "type": "object", "javaType": "de.tanzsport.esv.api.v1.model.aufstiegstabelle.AufstiegsTabelle", "properties": { "ltv": { "description": "Landesverbände, für die Tabelle gilt", "type": "array", "items": { "$ref": "#/definitions/ltv-schluessel" } }, "minPunkte": { "description": "Mindestpunkte, die zum Erreichen einer Platzierung erforderlich sind", "$comment": "FIXME - ESV gibt aktuell String zurück", "type": [ "integer", "string" ] }, "tabellen": { "description": "Tabellen für Aufstiegspunkte und Platzierungen", "type": "array", "items": { "$ref": "#/definitions/aufstiegstabelle-eintrag" } } }, "required": [ "ltv", "minPunkte", "tabellen" ], "additionalProperties": false, "example": { "ltv": [ "LTVBerlin" ], "minPunkte": 2, "tabellen": [] } }, "startliste-l1": { "description": "Startliste Veranstaltung oder Wettbewerbsart (Level1)", "type": "object", "javaType": "de.tanzsport.esv.api.v1.model.startliste.StartlisteLevel1", "properties": { "status": { "description": "Meldestand der Veranstaltung", "type": "integer", "minimum": 0, "maximum": 2 }, "nachmeldungen": { "description": "IDs der Turniere mit Nachmeldeerlaubnis", "type": "array", "items": { "type": "integer" } }, "starter": { "description": "Starter der Veranstaltung", "type": "array", "items": { "$ref": "#/definitions/starter-l1" } } }, "required": [ "status", "nachmeldungen", "starter" ], "additionalProperties": false, "example": { "status": 1, "nachmeldungen": [], "starter": [] } }, "startliste-l2": { "description": "Startliste Veranstaltung oder Wettbewerbsart (Level2)", "type": "object", "javaType": "de.tanzsport.esv.api.v1.model.startliste.StartlisteLevel2", "properties": { "status": { "description": "Meldestand der Veranstaltung", "type": "integer", "minimum": 0, "maximum": 2 }, "nachmeldungen": { "description": "IDs der Turniere mit Nachmeldeerlaubnis", "type": "array", "items": { "type": "integer" } }, "starter": { "description": "Starter der Veranstaltung", "type": "array", "items": { "$ref": "#/definitions/starter-l2" } } }, "required": [ "status", "nachmeldungen", "starter" ], "additionalProperties": false, "example": { "status": 1, "nachmeldungen": [], "starter": [] } }, "veranstaltung": { "description": "JSON-Schema für die Response des Endpunktes /api/v1/turniere/:id", "type": "object", "javaType": "de.tanzsport.esv.api.v1.model.veranstaltung.Veranstaltung", "properties": { "id": { "description": "ID der Veranstaltung", "type": "integer" }, "datumVon": { "description": "Beginndatum der Veranstaltung", "$ref": "#/definitions/iso8601-date-time" }, "datumBis": { "description": "Enddatum der Veranstaltung", "$ref": "#/definitions/iso8601-date-time" }, "turnierstaette": { "$ref": "#/definitions/turnierstaette" }, "veranstalter": { "$ref": "#/definitions/veranstalter-ausrichter" }, "ausrichter": { "$ref": "#/definitions/veranstalter-ausrichter" }, "titel": { "type": [ "null", "string" ] }, "bemerkung": { "type": [ "null", "string" ] }, "wertungsrichter": { "type": "array", "items": { "$ref": "#/definitions/lizenztraeger" } }, "funktionaere": { "type": "array", "items": { "$ref": "#/definitions/lizenztraeger" } }, "flaechen": { "type": "array", "items": { "$ref": "#/definitions/flaeche" } }, "turniere": { "type": "array", "items": { "$ref": "#/definitions/turnier" } } }, "required": [ "id", "datumVon", "datumBis", "turnierstaette", "veranstalter", "ausrichter", "titel", "bemerkung", "wertungsrichter", "funktionaere", "flaechen", "turniere" ], "additionalProperties": false }, "veranstaltungsliste-eintrag": { "description": "Eintrag in der Veranstaltungsliste", "type": "object", "javaType": "de.tanzsport.esv.api.v1.model.veranstaltungsliste.Eintrag", "properties": { "id": { "description": "ID der Veranstaltung", "type": "integer", "example": 12345 }, "datumVon": { "description": "Enddatum der Veranstaltung", "$ref": "#/definitions/iso8601-date-time" }, "datumBis": { "description": "Beginndatum der Veranstaltung", "$ref": "#/definitions/iso8601-date-time" }, "ort": { "description": "Veranstaltungsort", "type": "string", "example": "Berlin" }, "titel": { "description": "Titel der Veranstaltung", "type": "string", "example": "25. Neujahrspokal" } }, "required": [ "id", "datumVon", "datumBis", "ort" ], "additionalProperties": false }, "tanz": { "description": "Tanz in einem Ergebnis", "type": "string", "javaType": "de.tanzsport.esv.api.v1.model.TanzTyp", "enum": [ "LW", "TG", "WW", "SF", "QU", "SB", "CC", "RB", "PD", "JV", "STD", "LAT", "JMD", "JAZZ", "DF", "SA" ] }, "ergebnis-funktionaer-verein": { "description": "Verein eines Funktionärs im Ergebnis", "javaType": "de.tanzsport.esv.api.v1.model.ergebnis.FunktionaerVerein", "properties": { "name": { "description": "Name des Vereins", "type": [ "null", "string" ] }, "ltv": { "description": "LTV des Vereins", "$ref": "#/definitions/ltv-schluessel-nullable" } }, "required": [ "name", "ltv" ], "additionalProperties": false }, "ergebnis-funktionaer-l1": { "description": "Funktionär in einem Ergebnis (Level 1)", "type": "object", "javaType": "de.tanzsport.esv.api.v1.model.ergebnis.FunktionaerLevel1", "properties": { "id": { "description": "DTV-Nummer des Funktionärs (sofern vorhanden)", "type": [ "null", "string" ] }, "vorname": { "description": "Vorname des Funktionärs", "type": "string" }, "nachname": { "description": "Nachname des Funktionärs", "type": "string" }, "club": { "description": "Verein des Funktionärs", "type": [ "null", "object" ], "$ref": "#/definitions/ergebnis-funktionaer-verein" }, "staat": { "description": "Staat des Funktionärs", "type": "string", "maxLength": 3 } }, "required": [ "id", "vorname", "nachname", "club", "staat" ], "additionalProperties": false }, "ergebnis-funktionaer-l2": { "description": "Funktionär in einem Ergebnis (Level 2)", "type": "object", "javaType": "de.tanzsport.esv.api.v1.model.ergebnis.FunktionaerLevel2", "properties": { "kuerzel": { "description": "Buchstaben-Kürzel des Funktionärs", "type": "string", "minLength": 1, "maxLength": 3 }, "id": { "description": "DTV-Nummer des Funktionärs (sofern vorhanden)", "type": [ "null", "string" ] }, "vorname": { "description": "Vorname des Funktionärs", "type": "string" }, "nachname": { "description": "Nachname des Funktionärs", "type": "string" }, "club": { "description": "Verein des Funktionärs", "type": [ "null", "object" ], "javaName": "verein", "$ref": "#/definitions/ergebnis-funktionaer-verein" }, "staat": { "description": "Staat des Funktionärs", "type": "string", "maxLength": 3 } }, "required": [ "kuerzel", "id", "vorname", "nachname", "club", "staat" ], "additionalProperties": false }, "rundentyp": { "description": "Rundentyp in einem Ergebnis", "javaType": "de.tanzsport.esv.api.v1.model.RundenTyp", "enum": [ 1, "1A", "1B", "R", 2, 3, 4, 5, 6, 7, 8, 9, "F", "FA", "FB", "PSR", "RSR" ], "javaEnumNames": [ "RD_1", "RD_1A", "RD_1B", "RD_R", "RD_2", "RD_3", "RD_4", "RD_5", "RD_6", "RD_7", "RD_8", "RD_9", "RD_F", "RD_FA", "RD_FB", "RD_PSR", "RD_RSR" ] }, "wertungstyp": { "description": "Wertungstyp in einer Runde", "javaType": "de.tanzsport.esv.api.v1.model.RundenWertungsTyp", "enum": [ "K", "M", "P", "FK", "FP", "JK", "JP", "JS" ] }, "ergebnis-rundenablauf-l1": { "description": "Eintrag im Rundenablauf eines Ergebnisses (Level 1)", "type": "object", "javaType": "de.tanzsport.esv.api.v1.model.ergebnis.RundenablaufLevel1", "properties": { "runde": { "description": "Runde", "$ref": "#/definitions/rundentyp" }, "typ": { "description": "Wertungstyp", "$ref": "#/definitions/wertungstyp" } }, "required": [ "runde", "typ" ], "additionalProperties": false }, "ergebnis-kreuzvorgabe-nullable": { "description": "Kreuzvorgabe in einem Ergebnis", "type": [ "null", "object" ], "javaType": "de.tanzsport.esv.api.v1.model.ergebnis.Kreuzvorgabe", "properties": { "von": { "description": "Minimal-Anzahl Kreuze", "type": "integer" }, "bis": { "description": "Maximal-Anzahl Kreuze", "type": "integer" } } }, "ergebnis-rundenablauf-l2": { "description": "Eintrag im Rundenablauf eines Ergebnisses (Level 2)", "type": "object", "javaType": "de.tanzsport.esv.api.v1.model.ergebnis.RundenablaufLevel2", "properties": { "runde": { "description": "Runde", "$ref": "#/definitions/rundentyp" }, "typ": { "description": "Wertungstyp", "$ref": "#/definitions/wertungstyp" }, "platz": { "description": "Platz für den eine Stichrunde durchgeführt wurde, ansonsten NULL", "type": [ "null", "integer" ] }, "startreihenfolge": { "description": "Startnummern der Starter in der Reihenfolge des Starts in der Runde", "type": [ "null", "array" ], "items": { "type": "integer" } }, "kreuzvorgabe": { "description": "Kreuzvorgabe dieser Runde bei Wertungstypen K, FK, JK", "$ref": "#/definitions/ergebnis-kreuzvorgabe-nullable" } }, "required": [ "runde", "typ", "platz", "startreihenfolge", "kreuzvorgabe" ], "additionalProperties": false }, "ergebnis-person": { "description": "Person in einem Ergebnis", "type": "object", "javaType": "de.tanzsport.esv.api.v1.model.ergebnis.ErgebnisPerson", "properties": { "id": { "description": "DTV-Nummer der Person sofern vorhanden", "type": [ "null", "string" ] }, "vorname": { "description": "Vorname der Person", "type": "string" }, "nachname": { "description": "Nachname der Person", "type": "string" }, "wdsfMin": { "description": "WDSF-MIN der Person", "$comment": "FIXME - keine Strings!", "type": [ "null", "string", "integer" ] } }, "required": [ "id", "vorname", "nachname", "wdsfMin" ], "additionalProperties": false }, "ergebnis-teilnahmetyp": { "description": "Teilnahme-Status eines Starters im Ergebnis", "enum": [ 1, 2, 3 ], "javaType": "de.tanzsport.esv.api.v1.model.ergebnis.TeilnahmeTyp", "javaEnumNames": [ "T", "FE", "FU" ] }, "ergebnis-meldungstyp": { "description": "Meldungstyp eines Starters im Ergebnis", "enum": [ 1, 2, 3, 4 ], "javaType": "de.tanzsport.esv.api.v1.model.ergebnis.MeldungsTyp", "javaEnumNames": [ "R", "NM", "NMS", "NMA" ] }, "ergebnis-aufstiegstyp": { "description": "Typ eines Aufstiegs im Ergebnis", "enum": [ 0, 1, 2 ], "javaType": "de.tanzsport.esv.api.v1.model.ergebnis.AufstiegsTyp", "javaEnumNames": [ "KEIN", "REGULAER", "BESCHLUSS" ] }, "ergebnis-verwarnung-disqualifikation": { "description": "Typ einer Verwarnung / Disqualifikation", "enum": [ 0, 1, 2, 3 ], "javaType": "de.tanzsport.esv.api.v1.model.ergebnis.VerwarnungDisqualifikationsTyp", "javaEnumNames": [ "OHNE", "VSB", "DSB", "DSQ" ] }, "starter-wertung-vr": { "title": "Vorrunden-Wertung eines Starters (Kreuz- oder Mannschaftswertung)", "description": "Array über alle Wertungsrichter in der Reihenfolge der Nennung im Ergebnis", "type": "array", "items": { "oneOf": [ { "type": "array", "titel": "Wertungen eines Wertungsrichters", "description": "Array über alle Tänze des Turniers in der Reihenfolge der Nennung im Ergebnis sowie ein Zusatzelement für die Summe über die Tänze; Tanzwertungen sind null, wenn keine Einzelkreuze übertragen werden", "items": { "type": [ "null", "number" ] } }, { "type": "number", "title": "Summe", "description": "Summe der Wertungen über alle Wertungsrichter; muss immer das letzte Element im Array sein; dies lässt sich über ein JSON-Schema nicht validieren" } ] } }, "starter-wertung-js": { "title": "JS-Wertung eines Starters", "description": "JS-Score (alle JS-Versionen inkl. AJS)", "type": "number" }, "starter-wertung-er": { "title": "End- oder Stichrundenwertung eines Starters (Platzwertung)", "description": "Array über alle Tänze in der Reihenfolge der Nennung im Ergebnis", "javaType": "de.tanzsport.esv.api.v1.model.ergebnis.PlatzWertungModel", "type": "array", "items": { "type": "array", "title": "Wertungen eines Tanzes und Ausrechnung", "description": "Wertungen der Wertungsrichter in der Reihenfolge der Nennung im Ergebnis sowie zwei Zusatzelemente: Platzziffer im Tanz, Platzziffer Summe", "items": { "type": "number" } } }, "starter-stichrundenwertung": { "title": "Stichrundenwertung eines Starters", "description": "Stichrundenwertung eines Starters (nur eine möglich), null falls nicht vorhanden", "type": [ "null", "object" ], "javaType": "de.tanzsport.esv.api.v1.model.ergebnis.StarterStichrundenWertung", "properties": { "stichrunde": { "title": "Index der Stichrunde aus dem Stichrundenablauf", "description": "0-basierter Index der Stichrunde aus dem Array [stichrunden] im Ergebnis", "type": "integer" }, "wertung": { "$ref": "#/definitions/starter-wertung-er" } }, "required": [ "stichrunde", "wertung" ], "additionalProperties": false }, "starter-ergebnis": { "description": "Ergebnis eines Starters", "type": [ "null", "object" ], "javaType": "de.tanzsport.esv.api.v1.model.ergebnis.StarterErgebnis", "properties": { "platzGesamtVon": { "description": "Platz Gesamtergebnis von", "type": "integer" }, "platzGesamtBis": { "description": "Platz Gesamtergebnis bis", "type": "integer" }, "platzTurnierVon": { "description": "Platz eigenes Turnier bis sofern benötigt", "type": [ "null", "integer" ] }, "platzTurnierBis": { "description": "Platz eigenes Turnier bis sofern benötigt", "type": [ "null", "integer" ] }, "punkte": { "description": "Punkte", "type": [ "null", "integer" ] }, "platzierungenGesamt": { "description": "Platzierungen Gesamt nach Ausscheiden", "type": [ "null", "integer" ] }, "punkteGesamt": { "description": "Punkte Gesamt nach Ausscheiden", "type": [ "null", "integer" ] }, "aufstieg": { "description": "Typ des Aufstiegs", "$ref": "#/definitions/ergebnis-aufstiegstyp" }, "laufzettel": { "description": "Flag Laufzettel", "type": "boolean" }, "vd": { "description": "Verwarnung oder Disqualifikation", "$ref": "#/definitions/ergebnis-verwarnung-disqualifikation" } }, "required": [ "platzGesamtVon", "platzGesamtBis", "platzTurnierVon", "punkte", "platzierungenGesamt", "punkteGesamt", "aufstieg", "laufzettel", "vd" ], "additionalProperties": false }, "ergebnis-starter-l1": { "description": "Starter in einem Ergebnis (Level 1)", "type": "object", "javaType": "de.tanzsport.esv.api.v1.model.ergebnis.ErgebnisStarterLevel1", "properties": { "id": { "description": "Starter-ID", "type": [ "null", "integer" ] }, "startNr": { "description": "Start-Nummer", "type": [ "null", "integer" ] }, "personen": { "description": "Personen dieses Starters", "type": "array", "items": { "$ref": "#/definitions/ergebnis-person" } }, "staat": { "description": "Staat für den der Starter startet (IOC-Code)", "$ref": "#/definitions/ioc-code" }, "status": { "description": "Teilnahmetyp", "$ref": "#/definitions/ergebnis-teilnahmetyp" }, "meldungsTyp": { "description": "Meldungstyp", "$ref": "#/definitions/ergebnis-meldungstyp" }, "sterne": { "description": "Anzahl Sterne", "type": [ "null", "integer" ] }, "ergebnis": { "description": "Ergebnis dieses Starters", "$ref": "#/definitions/starter-ergebnis" }, "wertung": { "description": "Wertungen des Starters", "type": [ "null", "array" ], "javaType": "java.util.List", "items": { "anyOf": [ { "type": "null" }, { "$ref": "#/definitions/starter-wertung-vr" }, { "$ref": "#/definitions/starter-wertung-js" }, { "$ref": "#/definitions/starter-wertung-er" } ] } } }, "required": [ "id", "startNr", "personen", "staat", "status", "meldungsTyp", "sterne", "ergebnis", "wertung" ], "additionalProperties": false }, "ergebnis-starter-l2": { "description": "Starter in einem Ergebnis (Level 2)", "type": "object", "javaType": "de.tanzsport.esv.api.v1.model.ergebnis.ErgebnisStarterLevel2", "properties": { "id": { "description": "Starter-ID", "type": [ "null", "integer" ] }, "startNr": { "description": "Start-Nummer", "type": [ "null", "integer" ] }, "personen": { "description": "Personen dieses Starters", "type": "array", "items": { "$ref": "#/definitions/ergebnis-person" } }, "staat": { "description": "Staat für den der Starter startet (IOC-Code)", "$ref": "#/definitions/ioc-code" }, "status": { "description": "Teilnahmetyp", "$ref": "#/definitions/ergebnis-teilnahmetyp" }, "meldungsTyp": { "description": "Meldungstyp", "$ref": "#/definitions/ergebnis-meldungstyp" }, "sterne": { "description": "Anzahl Sterne", "type": [ "null", "integer" ] }, "startgruppe": { "title": "Startgruppe des Starters", "description": "Ursprüngliche Startgruppe des Starters aus der Startliste", "$ref": "#/definitions/startgruppe-nullable" }, "startklasse": { "title": "Startklasse des Starters", "description": "Zum Zeitpunkt des Turniers gültige Startklasse des Starters", "$ref": "#/definitions/startklasse-nullable" }, "wettbewerbsart": { "title": "Wettbewerbsart des Starters", "description": "Ursprüngliche Wettbewerbsart des Starters aus der Startliste", "$ref": "#/definitions/wettbewerbsart-nullable" }, "ergebnis": { "description": "Ergebnis dieses Starters", "$ref": "#/definitions/starter-ergebnis" }, "wertung": { "description": "Wertungen des Starters", "type": [ "null", "array" ], "javaType": "java.util.List", "items": { "anyOf": [ { "type": "null" }, { "$ref": "#/definitions/starter-wertung-vr" }, { "$ref": "#/definitions/starter-wertung-js" }, { "$ref": "#/definitions/starter-wertung-er" } ] } }, "stichrundenwertung": { "description": "Stichrundenwertungen des Starters", "$ref": "#/definitions/starter-stichrundenwertung" } }, "required": [ "id", "startNr", "personen", "staat", "status", "meldungsTyp", "sterne", "startgruppe", "startklasse", "wettbewerbsart", "ergebnis", "wertung", "stichrundenwertung" ], "additionalProperties": false }, "tabelle-ausrechnung": { "title": "Ausrechnung in einer Endrunden oder Skating-Tabelle", "type": [ "null", "object" ], "properties": { "anzahl": { "type": "integer" }, "summe": { "type": [ "null", "integer" ] } }, "required": [ "anzahl", "summe" ], "additionalProperties": false }, "ergebnis-endrundentabelle": { "title": "Endrunden- oder Stichrundentabelle in einem Ergebnis", "description": "Array über alle Tänze der jeweiligen Runde in der Reihenfolge der Nennung im Ergebnis", "type": "array", "items": { "title": "Ausrechnungszeilen für einen Endrundentanz im Ergebnis", "description": "Array über alle Starter der Runde in der Reigenfolgt der Nennung im Ergebnis", "type": "array", "items": { "title": "Ausrechnungsspalten für einen Starter in einem Endrundentanzt", "description": "Array über alle Plätze", "type": "array", "items": { "$ref": "#/definitions/tabelle-ausrechnung" } } } }, "ergebnis-skatingtabelle-starter": { "title": "Starter in einer Skatingtabelle", "description": "Array über alle Starter in der Reihenfolge der Nennung im Ergebnis", "type": [ "array" ], "items": { "anyOf": [ { "title": "Ausrechnung je Platz", "description": "Tabellenzellen (wenn in der Ausrechnung benötigt)", "type": [ "null", "array" ], "items": { "anyOf": [ { "type": "null" }, { "$ref": "#/definitions/tabelle-ausrechnung" } ] } }, { "title": "Platz", "description": "Sofern in der jeweiligen Regel bestimmt; muss immer das letzte Element des Arrays sein (nicht validierbar über JSON-Schema)", "type": "number" } ] } }, "ergebnis-skatingtabelle": { "description": "Skatingtabelle in einem Ergebnis", "type": "object", "javaType": "de.tanzsport.esv.api.v1.model.ergebnis.SkatingTabelle", "properties": { "regel10": { "title": "Ausrechnung Regel 10", "description": "Array über alle Starter der Runde in der Reihenfolge der Nennung im Ergebnis", "type": [ "array" ], "items": { "$ref": "#/definitions/ergebnis-skatingtabelle-starter" } }, "regel11": { "title": "Ausrechnung Regel 11", "description": "Array über alle Starter der Runde in der Reihenfolge der Nennung im Ergebnis", "type": [ "null", "array" ], "items": { "$ref": "#/definitions/ergebnis-skatingtabelle-starter" } } }, "required": [ "regel10", "regel11" ], "additionalProperties": false }, "ergebnis-l1": { "description": "Ergebnis (Level 1)", "type": "object", "javaType": "de.tanzsport.esv.api.v1.model.ergebnis.ErgebnisLevel1", "properties": { "taenze": { "description": "Tänze des Turniers", "type": "array", "maxItems": 10, "items": { "$ref": "#/definitions/tanz" } }, "wr": { "description": "Wertungsrichter des Turniers", "type": "array", "minItems": 1, "items": { "$ref": "#/definitions/ergebnis-funktionaer-l1" } }, "tl": { "description": "Turnierleiter des Turniers", "type": "array", "minItems": 1, "items": { "$ref": "#/definitions/ergebnis-funktionaer-l1" } }, "bs": { "description": "Beisitzer des Turniers", "type": "array", "minItems": 1, "items": { "$ref": "#/definitions/ergebnis-funktionaer-l1" } }, "ch": { "description": "Chairpersonen des Turniers", "type": "array", "items": { "$ref": "#/definitions/ergebnis-funktionaer-l1" } }, "vorkommnisse": { "description": "Besondere Vorkommnisse", "type": [ "null", "string" ] }, "beginn": { "description": "Beginnzeit des Turniers", "$ref": "#/definitions/iso8601-date-time-nullable" }, "ende": { "description": "Endzeit des Turniers", "$ref": "#/definitions/iso8601-date-time-nullable" }, "ablauf": { "description": "Rundenablauf", "type": [ "null", "array" ], "items": { "$ref": "#/definitions/ergebnis-rundenablauf-l1" } }, "kombiniertMit": { "description": "ID des Turniers, mit dem das Turnier dieses Ergebnisses kombiniert wurde", "type": [ "null", "integer" ] }, "zuschauer": { "description": "Anzahl der Zuschauer", "type": [ "null", "integer" ] }, "starter": { "description": "Starter mit Ergebnis", "type": "array", "items": { "$ref": "#/definitions/ergebnis-starter-l1" } }, "endrundentabellen": { "description": "Endrundentabellen dieses Ergebnisses", "type": [ "null", "array" ], "items": { "$ref": "#/definitions/ergebnis-endrundentabelle" } }, "skatingtabellen": { "description": "Skatingtabellen dieses Ergebnisses", "type": [ "null", "array" ], "items": { "$ref": "#/definitions/ergebnis-skatingtabelle" } } }, "required": [ "taenze", "wr", "tl", "bs", "ch", "vorkommnisse", "beginn", "ende", "ablauf", "kombiniertMit", "zuschauer", "starter", "endrundentabellen", "skatingtabellen" ], "additionalProperties": false }, "ergebnis-l2": { "type": "object", "javaType": "de.tanzsport.esv.api.v1.model.ergebnis.ErgebnisLevel2", "properties": { "endergebnis": { "description": "Flag für Endergebnis", "type": "boolean" }, "taenze": { "description": "Tänze des Turniers", "type": "array", "maxItems": 10, "items": { "$ref": "#/definitions/tanz" } }, "wr": { "description": "Wertungsrichter des Turniers", "type": "array", "minItems": 1, "items": { "$ref": "#/definitions/ergebnis-funktionaer-l2" } }, "tl": { "description": "Turnierleiter des Turniers", "type": "array", "minItems": 1, "items": { "$ref": "#/definitions/ergebnis-funktionaer-l2" } }, "bs": { "description": "Beisitzer des Turniers", "type": "array", "minItems": 1, "items": { "$ref": "#/definitions/ergebnis-funktionaer-l2" } }, "ch": { "description": "Chairpersonen des Turniers", "type": "array", "items": { "$ref": "#/definitions/ergebnis-funktionaer-l2" } }, "moderatoren": { "description": "Moderatoren des Turniers", "type": "array", "items": { "$ref": "#/definitions/ergebnis-funktionaer-l2" } }, "protokoll": { "description": "Protokollführer des Turniers", "type": "array", "items": { "$ref": "#/definitions/ergebnis-funktionaer-l2" } }, "vorkommnisse": { "description": "Besondere Vorkommnisse", "type": [ "null", "string" ] }, "beginn": { "description": "Beginnzeit des Turniers", "$ref": "#/definitions/iso8601-date-time-nullable" }, "ende": { "description": "Endzeit des Turniers", "$ref": "#/definitions/iso8601-date-time-nullable" }, "ablauf": { "description": "Rundenablauf", "type": [ "null", "array" ], "items": { "$ref": "#/definitions/ergebnis-rundenablauf-l2" } }, "stichrunden": { "description": "Stichrundenablauf", "type": [ "null", "array" ], "items": { "$ref": "#/definitions/ergebnis-rundenablauf-l2" } }, "kombiniertMit": { "description": "ID des Turniers, mit dem das Turnier dieses Ergebnisses kombiniert wurde", "type": [ "null", "integer" ] }, "zuschauer": { "description": "Anzahl der Zuschauer", "type": [ "null", "integer" ] }, "starter": { "description": "Starter mit Ergebnis", "type": "array", "items": { "$ref": "#/definitions/ergebnis-starter-l2" } }, "endrundentabellen": { "description": "Endrundentabellen dieses Ergebnisses", "type": [ "null", "array" ], "items": { "$ref": "#/definitions/ergebnis-endrundentabelle" } }, "skatingtabellen": { "description": "Skatingtabellen dieses Ergebnisses", "type": [ "null", "array" ], "items": { "$ref": "#/definitions/ergebnis-skatingtabelle" } }, "stichrundentabellen": { "description": "Finaltabellen der Stichrunden dieses Ergebnisses", "type": [ "null", "array" ], "items": { "$ref": "#/definitions/ergebnis-endrundentabelle" } } }, "required": [ "endergebnis", "taenze", "wr", "tl", "bs", "ch", "moderatoren", "protokoll", "vorkommnisse", "beginn", "ende", "ablauf", "stichrunden", "kombiniertMit", "zuschauer", "starter", "endrundentabellen", "skatingtabellen", "stichrundentabellen" ], "additionalProperties": false } } }