# Variable: event

```ts
const event: object & Typed<{
  allDay?: boolean;
  category?: string;
  description?: string;
  end?: string;
  place?: {
     address?: {
        country?: string;
        locality?: string;
        postcode?: string;
        region?: string;
        street?: string;
     };
     cells?: readonly string[];
     lat?: number;
     lon?: number;
     name?: string;
  };
  rrule?: string;
  start: string;
  status?: "confirmed" | "tentative" | "cancelled";
  title: string;
  tz?: string;
  url?: string;
}>;
```

Defined in: [packages/core/src/schemas/library/planning.ts:43](https://github.com/leifriksheim/minca/blob/main/core/src/schemas/library/planning.ts#L43)

Something happening at a time, after JSCalendar (RFC 8984). `start` and
`end` are RFC 3339 with `tz` saying where the times are meant, or whole days
(`YYYY-MM-DD`) with `allDay`. `rrule` repeats it (RFC 5545).

## Type Declaration

### description

```ts
readonly description: "Something happening at a time and place." = 'Something happening at a time and place.';
```

### links

```ts
readonly links: object;
```

#### links.in

```ts
readonly in: LinkDeclaration;
```

### name

```ts
readonly name: "std.event" = 'std.event';
```

### schema

```ts
readonly schema: object;
```

#### schema.properties

```ts
readonly properties: object;
```

#### schema.properties.allDay

```ts
readonly allDay: object;
```

#### schema.properties.allDay.type

```ts
readonly type: "boolean" = 'boolean';
```

#### schema.properties.category

```ts
readonly category: object;
```

#### schema.properties.category.maxLength

```ts
maxLength: number = max;
```

#### schema.properties.category.minLength?

```ts
minLength?: number = min;
```

#### schema.properties.category.type

```ts
type: "string";
```

#### schema.properties.description

```ts
readonly description: object;
```

#### schema.properties.description.maxLength

```ts
maxLength: number = max;
```

#### schema.properties.description.minLength?

```ts
minLength?: number = min;
```

#### schema.properties.description.type

```ts
type: "string";
```

#### schema.properties.end

```ts
readonly end: object & object;
```

##### Type Declaration

###### maxLength

```ts
maxLength: number = max;
```

###### minLength?

```ts
minLength?: number = min;
```

###### type

```ts
type: "string";
```

###### x-kind

```ts
readonly "x-kind": "when";
```

#### schema.properties.place

```ts
readonly place: object;
```

#### schema.properties.place.properties

```ts
properties: object;
```

#### schema.properties.place.properties.address

```ts
address: object;
```

#### schema.properties.place.properties.address.properties

```ts
properties: object;
```

#### schema.properties.place.properties.address.properties.country

```ts
country: object;
```

#### schema.properties.place.properties.address.properties.country.maxLength

```ts
maxLength: number = max;
```

#### schema.properties.place.properties.address.properties.country.minLength?

```ts
minLength?: number = min;
```

#### schema.properties.place.properties.address.properties.country.type

```ts
type: "string";
```

#### schema.properties.place.properties.address.properties.locality

```ts
locality: object;
```

#### schema.properties.place.properties.address.properties.locality.maxLength

```ts
maxLength: number = max;
```

#### schema.properties.place.properties.address.properties.locality.minLength?

```ts
minLength?: number = min;
```

#### schema.properties.place.properties.address.properties.locality.type

```ts
type: "string";
```

#### schema.properties.place.properties.address.properties.postcode

```ts
postcode: object;
```

#### schema.properties.place.properties.address.properties.postcode.maxLength

```ts
maxLength: number = max;
```

#### schema.properties.place.properties.address.properties.postcode.minLength?

```ts
minLength?: number = min;
```

#### schema.properties.place.properties.address.properties.postcode.type

```ts
type: "string";
```

#### schema.properties.place.properties.address.properties.region

```ts
region: object;
```

#### schema.properties.place.properties.address.properties.region.maxLength

```ts
maxLength: number = max;
```

#### schema.properties.place.properties.address.properties.region.minLength?

```ts
minLength?: number = min;
```

#### schema.properties.place.properties.address.properties.region.type

```ts
type: "string";
```

#### schema.properties.place.properties.address.properties.street

```ts
street: object;
```

#### schema.properties.place.properties.address.properties.street.maxLength

```ts
maxLength: number = max;
```

#### schema.properties.place.properties.address.properties.street.minLength?

```ts
minLength?: number = min;
```

#### schema.properties.place.properties.address.properties.street.type

```ts
type: "string";
```

#### schema.properties.place.properties.address.type

```ts
type: "object";
```

#### schema.properties.place.properties.cells

```ts
cells: object;
```

#### schema.properties.place.properties.cells.description

```ts
description: string = 'The geohash cells lat and lon are in, coarsest first: precisions 3, 4, 5 and 6';
```

#### schema.properties.place.properties.cells.items

```ts
items: object;
```

#### schema.properties.place.properties.cells.items.maxLength

```ts
maxLength: number = max;
```

#### schema.properties.place.properties.cells.items.minLength?

```ts
minLength?: number = min;
```

#### schema.properties.place.properties.cells.items.type

```ts
type: "string";
```

#### schema.properties.place.properties.cells.maxItems

```ts
maxItems: number = 8;
```

#### schema.properties.place.properties.cells.type

```ts
type: "array";
```

#### schema.properties.place.properties.lat

```ts
lat: object;
```

#### schema.properties.place.properties.lat.maximum

```ts
maximum: number = 90;
```

#### schema.properties.place.properties.lat.minimum

```ts
minimum: number = -90;
```

#### schema.properties.place.properties.lat.type

```ts
type: "number";
```

#### schema.properties.place.properties.lon

```ts
lon: object;
```

#### schema.properties.place.properties.lon.maximum

```ts
maximum: number = 180;
```

#### schema.properties.place.properties.lon.minimum

```ts
minimum: number = -180;
```

#### schema.properties.place.properties.lon.type

```ts
type: "number";
```

#### schema.properties.place.properties.name

```ts
name: object;
```

#### schema.properties.place.properties.name.maxLength

```ts
maxLength: number = max;
```

#### schema.properties.place.properties.name.minLength?

```ts
minLength?: number = min;
```

#### schema.properties.place.properties.name.type

```ts
type: "string";
```

#### schema.properties.place.type

```ts
type: "object";
```

#### schema.properties.rrule

```ts
readonly rrule: object;
```

#### schema.properties.rrule.maxLength

```ts
maxLength: number = max;
```

#### schema.properties.rrule.minLength?

```ts
minLength?: number = min;
```

#### schema.properties.rrule.type

```ts
type: "string";
```

#### schema.properties.start

```ts
readonly start: object & object;
```

##### Type Declaration

###### maxLength

```ts
maxLength: number = max;
```

###### minLength?

```ts
minLength?: number = min;
```

###### type

```ts
type: "string";
```

###### x-kind

```ts
readonly "x-kind": "when";
```

#### schema.properties.status

```ts
readonly status: object;
```

#### schema.properties.status.enum

```ts
enum: ("confirmed" | "tentative" | "cancelled")[];
```

#### schema.properties.title

```ts
readonly title: object;
```

#### schema.properties.title.maxLength

```ts
maxLength: number = max;
```

#### schema.properties.title.minLength?

```ts
minLength?: number = min;
```

#### schema.properties.title.type

```ts
type: "string";
```

#### schema.properties.tz

```ts
readonly tz: object;
```

#### schema.properties.tz.maxLength

```ts
maxLength: number = max;
```

#### schema.properties.tz.minLength?

```ts
minLength?: number = min;
```

#### schema.properties.tz.type

```ts
type: "string";
```

#### schema.properties.url

```ts
readonly url: object & object;
```

##### Type Declaration

###### maxLength

```ts
maxLength: number = max;
```

###### minLength?

```ts
minLength?: number = min;
```

###### type

```ts
type: "string";
```

###### x-kind

```ts
readonly "x-kind": "url";
```

#### schema.required

```ts
readonly required: readonly ["title", "start"];
```

#### schema.type

```ts
readonly type: "object" = 'object';
```

### title

```ts
readonly title: "Event" = 'Event';
```

### topics

```ts
readonly topics: readonly ["place.cells"];
```
