{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "One record per track. The record key is {award}-{eligibilityYear}-{category}, for example hugo-2026-novel. Array order is rank order: first earns 5 points, fifth earns 1.",
      "key": "any",
      "record": {
        "properties": {
          "award": {
            "knownValues": [
              "hugo",
              "nebula"
            ],
            "maxLength": 32,
            "type": "string"
          },
          "category": {
            "knownValues": [
              "novel"
            ],
            "maxLength": 32,
            "type": "string"
          },
          "eligibilityYear": {
            "description": "Publication year of the works on the ballot.",
            "maximum": 2100,
            "minimum": 1900,
            "type": "integer"
          },
          "rankedBooks": {
            "description": "AT-URIs of com.nerdballot.book records, best first. No duplicates.",
            "items": {
              "format": "at-uri",
              "type": "string"
            },
            "maxLength": 5,
            "type": "array"
          },
          "updatedAt": {
            "description": "Client time of the edit. Informational only; Nerd Ballot uses its own receipt time for deadlines.",
            "format": "datetime",
            "type": "string"
          },
          "version": {
            "description": "Schema version of this record. Currently 1.",
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "version",
          "award",
          "eligibilityYear",
          "category",
          "rankedBooks",
          "updatedAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "description": "A voter's ranked ballot for one Nerd Ballot track. Nerd Ballot is an unofficial community poll, not affiliated with WSFS, Worldcon or SFWA.",
  "id": "com.nerdballot.ballot",
  "lexicon": 1
}
