# club.fellas.v0.poll.definition

> Published by [cam.fellas.club](https://lexicon.garden/identity/did:plc:ctpw7nnpcnuxey7ckqi66mxz)

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:ctpw7nnpcnuxey7ckqi66mxz/club.fellas.v0.poll.definition)
- [Documentation](https://lexicon.garden/lexicon/did:plc:ctpw7nnpcnuxey7ckqi66mxz/club.fellas.v0.poll.definition/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:ctpw7nnpcnuxey7ckqi66mxz/club.fellas.v0.poll.definition/examples)

## Definitions

### `club.fellas.v0.poll.definition`

**Type**: `record`

A poll posted within the fella space.

**Key**: `tid`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `createdAt` | `string` (datetime) | Yes |  |
| `optionType` | `string` | No | What kind of thing the ballot options are. |
| `options` | `array` | No | Required (>=2 entries) when optionsMode is 'author'; omitted when 'group' (participants contribute their own via club.fellas.v0.poll.option instead). The author-mode requirement is enforced by the application, not this schema. |
| `optionsMode` | `string` | Yes | author = only the poll author's own options (the inline array above) are valid. group = any listed participant may contribute their own option via club.fellas.v0.poll.option. |
| `question` | `string` | Yes |  |
| `status` | `string` | No | Defaults to open if omitted. Set to closed by the author (via putRecord) to stop accepting new votes and drop out of the default poll listing. |
| `tallyType` | `string` | Yes | single = pick exactly one option. ranked = order some or all options best-to-worst (IRV tallying). |
| `transparency` | `string` | Yes | open = votes (and, in group-mode, option authorship) attributed to voter, visible as cast. anonymous = identity links never shown by the client. sealed = nothing shown until every voter has published a poll.reveal record for this poll. |

## Raw Schema

```json
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "A poll posted within the fella space.",
      "key": "tid",
      "record": {
        "properties": {
          "createdAt": {
            "format": "datetime",
            "type": "string"
          },
          "optionType": {
            "default": "text",
            "description": "What kind of thing the ballot options are.",
            "knownValues": [
              "text",
              "movie",
              "book"
            ],
            "type": "string"
          },
          "options": {
            "description": "Required (>=2 entries) when optionsMode is 'author'; omitted when 'group' (participants contribute their own via club.fellas.v0.poll.option instead). The author-mode requirement is enforced by the application, not this schema.",
            "items": {
              "ref": "club.fellas.v0.poll.defs#option",
              "type": "ref"
            },
            "maxLength": 32,
            "minLength": 2,
            "type": "array"
          },
          "optionsMode": {
            "description": "author = only the poll author's own options (the inline array above) are valid. group = any listed participant may contribute their own option via club.fellas.v0.poll.option.",
            "knownValues": [
              "author",
              "group"
            ],
            "type": "string"
          },
          "question": {
            "maxLength": 1000,
            "type": "string"
          },
          "status": {
            "description": "Defaults to open if omitted. Set to closed by the author (via putRecord) to stop accepting new votes and drop out of the default poll listing.",
            "knownValues": [
              "open",
              "closed"
            ],
            "type": "string"
          },
          "tallyType": {
            "description": "single = pick exactly one option. ranked = order some or all options best-to-worst (IRV tallying).",
            "knownValues": [
              "single",
              "ranked"
            ],
            "type": "string"
          },
          "transparency": {
            "description": "open = votes (and, in group-mode, option authorship) attributed to voter, visible as cast. anonymous = identity links never shown by the client. sealed = nothing shown until every voter has published a poll.reveal record for this poll.",
            "knownValues": [
              "open",
              "anonymous",
              "sealed"
            ],
            "type": "string"
          }
        },
        "required": [
          "question",
          "tallyType",
          "transparency",
          "optionsMode",
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "id": "club.fellas.v0.poll.definition",
  "lexicon": 1
}
```
