{
  "$ref": "#/definitions/PollResult",
  "definitions": {
    "PollResult": {
      "type": "object",
      "properties": {
        "choice_id": {
          "type": "string",
          "minLength": 1,
          "description": "ID of the choice (party, coalition) or candidate. References Choice.id or Candidate.id."
        },
        "value_percent": {
          "type": "number",
          "minimum": 0,
          "maximum": 100,
          "description": "Stated voting intention as a percentage of valid responses (0–100). Raw reported figure — not adjusted or modelled by the aggregation pipeline."
        }
      },
      "required": [
        "choice_id",
        "value_percent"
      ],
      "additionalProperties": false,
      "description": "A single choice's result within one poll output.\n\nLayer: source / ingestion (raw agency-reported data)\n\nThese are values exactly as the polling agency published them. A missing entry means the choice was not reported (possibly suppressed by lower_cut_percent). Derived/normalised values produced by the compute layer are stored in DerivedResult instead."
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}