{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/sportstatsapi/json-schema/sportstatsapi-dto-golf-tournament-response-schema.json",
  "title": "dto.GolfTournamentResponse",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/sportstatsapi-golf-api-openapi.yml#/components/schemas/dto.GolfTournamentResponse",
  "properties": {
    "attribution": {
      "type": "string"
    },
    "country": {
      "type": "string"
    },
    "course": {
      "type": "string"
    },
    "current_round": {
      "type": "integer"
    },
    "earnings_complete": {
      "description": "EarningsComplete (finished only): every top-3 line has earnings and\nthey add up to 90 % of the purse; false: some are missing upstream.",
      "type": "boolean"
    },
    "end_date": {
      "type": "string"
    },
    "id": {
      "type": "integer"
    },
    "leaderboard": {
      "items": {
        "$ref": "#/$defs/dto.GolfLineResponse"
      },
      "type": "array"
    },
    "leaders": {
      "items": {
        "$ref": "#/$defs/dto.GolfPlayerRef"
      },
      "type": "array"
    },
    "location": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "par": {
      "type": "integer"
    },
    "par_source": {
      "description": "Sources of values not from the data provider: par_source wikipedia (the\nevent's course) or leaderboard (our totals minus to-par), purse_source\nwikipedia, result_source wikipedia (a playoff winner the data provider never\nposted, an LPGA leaderboard, earnings the data provider left empty);\nAttribution is set when one is wikipedia.",
      "type": "string"
    },
    "players": {
      "type": "integer"
    },
    "purse": {
      "type": "integer"
    },
    "purse_source": {
      "type": "string"
    },
    "result_source": {
      "type": "string"
    },
    "rounds": {
      "type": "integer"
    },
    "season": {
      "type": "integer"
    },
    "start_date": {
      "type": "string"
    },
    "status": {
      "type": "string"
    },
    "status_detail": {
      "description": "\"Round 3 - In Progress\"",
      "type": "string"
    },
    "tour": {
      "description": "pga, lpga",
      "type": "string"
    },
    "updated_at": {
      "type": "string"
    }
  },
  "type": "object",
  "$defs": {
    "dto.GolfLineResponse": {
      "properties": {
        "earnings": {
          "type": "integer"
        },
        "holes": {
          "items": {
            "type": "integer"
          },
          "type": "array"
        },
        "player": {
          "$ref": "#/$defs/dto.GolfPlayerRef"
        },
        "position": {
          "type": "integer"
        },
        "rounds": {
          "items": {
            "type": "integer"
          },
          "type": "array"
        },
        "stats": {
          "description": "birdies, eagles, pars, bogeys, double_bogeys, driving_distance, driving_accuracy_pct, gir_pct, putts_per_gir, saves_pct",
          "items": {
            "type": "integer"
          },
          "type": "array"
        },
        "status": {
          "description": "active, finished, cut, wd",
          "type": "string"
        },
        "thru": {
          "type": "string"
        },
        "tied": {
          "type": "boolean"
        },
        "to_par": {
          "type": "integer"
        },
        "today": {
          "type": "integer"
        },
        "total": {
          "type": "integer"
        },
        "tournament": {
          "$ref": "#/$defs/dto.GolfTournamentResponse"
        }
      },
      "type": "object"
    },
    "dto.GolfPlayerRef": {
      "properties": {
        "id": {
          "type": "integer"
        },
        "name": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "dto.GolfTournamentResponse": {
      "properties": {
        "attribution": {
          "type": "string"
        },
        "country": {
          "type": "string"
        },
        "course": {
          "type": "string"
        },
        "current_round": {
          "type": "integer"
        },
        "earnings_complete": {
          "description": "EarningsComplete (finished only): every top-3 line has earnings and\nthey add up to 90 % of the purse; false: some are missing upstream.",
          "type": "boolean"
        },
        "end_date": {
          "type": "string"
        },
        "id": {
          "type": "integer"
        },
        "leaderboard": {
          "items": {
            "$ref": "#/$defs/dto.GolfLineResponse"
          },
          "type": "array"
        },
        "leaders": {
          "items": {
            "$ref": "#/$defs/dto.GolfPlayerRef"
          },
          "type": "array"
        },
        "location": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "par": {
          "type": "integer"
        },
        "par_source": {
          "description": "Sources of values not from the data provider: par_source wikipedia (the\nevent's course) or leaderboard (our totals minus to-par), purse_source\nwikipedia, result_source wikipedia (a playoff winner the data provider never\nposted, an LPGA leaderboard, earnings the data provider left empty);\nAttribution is set when one is wikipedia.",
          "type": "string"
        },
        "players": {
          "type": "integer"
        },
        "purse": {
          "type": "integer"
        },
        "purse_source": {
          "type": "string"
        },
        "result_source": {
          "type": "string"
        },
        "rounds": {
          "type": "integer"
        },
        "season": {
          "type": "integer"
        },
        "start_date": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "status_detail": {
          "description": "\"Round 3 - In Progress\"",
          "type": "string"
        },
        "tour": {
          "description": "pga, lpga",
          "type": "string"
        },
        "updated_at": {
          "type": "string"
        }
      },
      "type": "object"
    }
  }
}