# com.chadtmiller.calendar.event

> Published by [chadtmiller.com](https://lexicon.garden/identity/did:plc:bcgltzqazw5tb6k2g3ttenbj)

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:bcgltzqazw5tb6k2g3ttenbj/com.chadtmiller.calendar.event)
- [Documentation](https://lexicon.garden/lexicon/did:plc:bcgltzqazw5tb6k2g3ttenbj/com.chadtmiller.calendar.event/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:bcgltzqazw5tb6k2g3ttenbj/com.chadtmiller.calendar.event/examples)

## Definitions

### `com.chadtmiller.calendar.event`

**Type**: `record`

An entry on a personal schedule. The record is written into a permissioned space, so only that space's members read it.

**Key**: `tid`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `url` | `string` (uri) | No | A link for the entry, such as a meeting room or a ticket. |
| `notes` | `string` | No | Free text about the entry. |
| `title` | `string` | Yes | What the entry is called. |
| `allDay` | `boolean` | No | The entry fills whole days and has no time of day. |
| `endsAt` | `string` (datetime) | No | When the entry ends. An all-day entry ends at midnight UTC on its last day, and that day is part of the entry. |
| `status` | `string` | No | How firm the entry is. |
| `category` | `string` | No | The kind of entry. A reader that shows colours picks one from this. |
| `location` | `string` | No | Where the entry takes place, as text. |
| `startsAt` | `string` (datetime) | Yes | When the entry starts. An all-day entry starts at midnight UTC on its first day. |
| `timeZone` | `string` | No | The IANA time zone the entry was written in, such as America/New_York. |
| `createdAt` | `string` (datetime) | Yes | When the entry was written. |
| `recurrence` | `string` | No | An RFC 5545 recurrence rule with no RRULE: prefix, such as FREQ=WEEKLY;BYDAY=TU. The entry repeats on the days the rule names. |

## Raw Schema

```json
{
  "id": "com.chadtmiller.calendar.event",
  "defs": {
    "main": {
      "key": "tid",
      "type": "record",
      "record": {
        "type": "object",
        "required": [
          "title",
          "startsAt",
          "createdAt"
        ],
        "properties": {
          "url": {
            "type": "string",
            "format": "uri",
            "description": "A link for the entry, such as a meeting room or a ticket."
          },
          "notes": {
            "type": "string",
            "maxLength": 30000,
            "description": "Free text about the entry.",
            "maxGraphemes": 3000
          },
          "title": {
            "type": "string",
            "maxLength": 3000,
            "description": "What the entry is called.",
            "maxGraphemes": 300
          },
          "allDay": {
            "type": "boolean",
            "description": "The entry fills whole days and has no time of day."
          },
          "endsAt": {
            "type": "string",
            "format": "datetime",
            "description": "When the entry ends. An all-day entry ends at midnight UTC on its last day, and that day is part of the entry."
          },
          "status": {
            "type": "string",
            "default": "confirmed",
            "description": "How firm the entry is.",
            "knownValues": [
              "confirmed",
              "tentative",
              "cancelled"
            ]
          },
          "category": {
            "type": "string",
            "description": "The kind of entry. A reader that shows colours picks one from this.",
            "knownValues": [
              "work",
              "personal",
              "travel",
              "health",
              "social"
            ]
          },
          "location": {
            "type": "string",
            "maxLength": 2000,
            "description": "Where the entry takes place, as text."
          },
          "startsAt": {
            "type": "string",
            "format": "datetime",
            "description": "When the entry starts. An all-day entry starts at midnight UTC on its first day."
          },
          "timeZone": {
            "type": "string",
            "description": "The IANA time zone the entry was written in, such as America/New_York."
          },
          "createdAt": {
            "type": "string",
            "format": "datetime",
            "description": "When the entry was written."
          },
          "recurrence": {
            "type": "string",
            "maxLength": 1000,
            "description": "An RFC 5545 recurrence rule with no RRULE: prefix, such as FREQ=WEEKLY;BYDAY=TU. The entry repeats on the days the rule names."
          }
        }
      },
      "description": "An entry on a personal schedule. The record is written into a permissioned space, so only that space's members read it."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}
```
