# lol.letsmeet.poll.schedule

> Published by [ken.wzrdz.cool](https://lexicon.garden/identity/did:plc:s6bsxutpplnkmlllri6nif6d)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:s6bsxutpplnkmlllri6nif6d/lol.letsmeet.poll.schedule)
- [Documentation](https://lexicon.garden/lexicon/did:plc:s6bsxutpplnkmlllri6nif6d/lol.letsmeet.poll.schedule/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:s6bsxutpplnkmlllri6nif6d/lol.letsmeet.poll.schedule/examples)

## Definitions

### `lol.letsmeet.poll.schedule`

**Type**: `record`

An availability poll: date range, daily window, granularity.

**Key**: `tid`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `time` | `union` | Yes |  |
| `title` | `string` | Yes |  |
| `events` | `array` | No | The calendar event records filed in the host's repo for the chosen time(s), so a repick or reopen can remove them. |
| `status` | `string` | Yes |  |
| `closesAt` | `string` (datetime) | No |  |
| `createdAt` | `string` (datetime) | Yes |  |
| `finalized` | `ref` → `#interval` | No |  |
| `description` | `string` | No |  |

### `lol.letsmeet.poll.schedule#interval`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `end` | `string` (datetime) | Yes |  |
| `start` | `string` (datetime) | Yes |  |

### `lol.letsmeet.poll.schedule#dayWindow`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `end` | `string` | Yes |  |
| `start` | `string` | Yes |  |

### `lol.letsmeet.poll.schedule#specificDates`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `dates` | `array` | Yes |  |
| `window` | `ref` → `#dayWindow` | Yes |  |
| `timezone` | `string` | Yes |  |
| `slotMinutes` | `integer` | Yes |  |

## Raw Schema

```json
{
  "id": "lol.letsmeet.poll.schedule",
  "defs": {
    "main": {
      "key": "tid",
      "type": "record",
      "record": {
        "type": "object",
        "required": [
          "title",
          "time",
          "status",
          "createdAt"
        ],
        "properties": {
          "time": {
            "refs": [
              "#specificDates"
            ],
            "type": "union"
          },
          "title": {
            "type": "string",
            "maxLength": 800,
            "maxGraphemes": 200
          },
          "events": {
            "type": "array",
            "items": {
              "ref": "com.atproto.repo.strongRef",
              "type": "ref"
            },
            "maxLength": 8,
            "description": "The calendar event records filed in the host's repo for the chosen time(s), so a repick or reopen can remove them."
          },
          "status": {
            "enum": [
              "active",
              "closed",
              "finalized",
              "cancelled"
            ],
            "type": "string"
          },
          "closesAt": {
            "type": "string",
            "format": "datetime"
          },
          "createdAt": {
            "type": "string",
            "format": "datetime"
          },
          "finalized": {
            "ref": "#interval",
            "type": "ref"
          },
          "description": {
            "type": "string",
            "maxLength": 8000,
            "maxGraphemes": 2000
          }
        }
      },
      "description": "An availability poll: date range, daily window, granularity."
    },
    "interval": {
      "type": "object",
      "required": [
        "start",
        "end"
      ],
      "properties": {
        "end": {
          "type": "string",
          "format": "datetime"
        },
        "start": {
          "type": "string",
          "format": "datetime"
        }
      }
    },
    "dayWindow": {
      "type": "object",
      "required": [
        "start",
        "end"
      ],
      "properties": {
        "end": {
          "type": "string",
          "maxLength": 5
        },
        "start": {
          "type": "string",
          "maxLength": 5
        }
      }
    },
    "specificDates": {
      "type": "object",
      "required": [
        "dates",
        "window",
        "slotMinutes",
        "timezone"
      ],
      "properties": {
        "dates": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "maxLength": 31
        },
        "window": {
          "ref": "#dayWindow",
          "type": "ref"
        },
        "timezone": {
          "type": "string",
          "maxLength": 64
        },
        "slotMinutes": {
          "enum": [
            10,
            15,
            20,
            30,
            45,
            60,
            90,
            120
          ],
          "type": "integer"
        }
      }
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}
```
