or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

Files

docs

core-types.mdcreative-work.mdevents.mdindex.mdperson-organization.mdplace-location.mdproducts-commerce.mdroles-relationships.mdschema-generation.md

events.mddocs/

0

# Event Types

1

2

Schema.org types for events, performances, courses, conferences, and scheduled activities of all kinds.

3

4

## Capabilities

5

6

### Event Base Type

7

8

The root type for all events and scheduled activities.

9

10

```typescript { .api }

11

/**

12

* An event happening at a certain time and location, such as a concert, lecture, or festival

13

*/

14

type Event = EventLeaf | BusinessEvent | ChildrensEvent | ComedyEvent |

15

CourseInstance | DanceEvent | DeliveryEvent | EducationEvent | EventSeries |

16

ExhibitionEvent | Festival | FoodEvent | Hackathon | LiteraryEvent |

17

MusicEvent | PublicationEvent | SaleEvent | ScreeningEvent | SocialEvent |

18

SportsEvent | TheaterEvent | UserInteraction | VisualArtsEvent;

19

20

interface EventBase extends ThingBase {

21

/** A person or organization attending the event */

22

attendee?: SchemaValue<Organization | Person, "attendee">;

23

/** An intended audience, i.e. a group for whom something was created */

24

audience?: SchemaValue<Audience, "audience">;

25

/** The subject matter of the content */

26

about?: SchemaValue<Thing, "about">;

27

/** A person born in this place */

28

composer?: SchemaValue<Organization | Person, "composer">;

29

/** A secondary contributor to the CreativeWork or Event */

30

contributor?: SchemaValue<Organization | Person, "contributor">;

31

/** A director of e.g. TV, radio, movie, video gaming etc. content, or of an event */

32

director?: SchemaValue<Person, "director">;

33

/** The time admission will commence */

34

doorTime?: SchemaValue<DateTime | Time, "doorTime">;

35

/** The duration of the item */

36

duration?: SchemaValue<Duration, "duration">;

37

/** The end date and time of the item */

38

endDate?: SchemaValue<Date | DateTime, "endDate">;

39

/** An eventAttendanceMode of an event indicates whether it occurs online, offline, or a mix */

40

eventAttendanceMode?: SchemaValue<EventAttendanceModeEnumeration, "eventAttendanceMode">;

41

/** Associates an Event with a Schedule */

42

eventSchedule?: SchemaValue<Schedule, "eventSchedule">;

43

/** An eventStatus of an event represents its status; particularly useful when an event is cancelled or rescheduled */

44

eventStatus?: SchemaValue<EventStatusType, "eventStatus">;

45

/** A person or organization that supports (sponsors) something through some kind of financial contribution */

46

funder?: SchemaValue<Organization | Person, "funder">;

47

/** The language of the content or performance or used in an action */

48

inLanguage?: SchemaValue<Language | Text, "inLanguage">;

49

/** A flag to signal that the item, event, or place is accessible for free */

50

isAccessibleForFree?: SchemaValue<Boolean, "isAccessibleForFree">;

51

/** Keywords or tags used to describe some item */

52

keywords?: SchemaValue<DefinedTerm | Text | URL, "keywords">;

53

/** The location of, for example, where an event is happening, where an organization is located */

54

location?: SchemaValue<Place | PostalAddress | Text | VirtualLocation, "location">;

55

/** The total number of individuals that may attend an event or venue */

56

maximumAttendeeCapacity?: SchemaValue<Integer, "maximumAttendeeCapacity">;

57

/** The maximum physical attendee capacity of an Event whose eventAttendanceMode is OfflineEventAttendanceMode */

58

maximumPhysicalAttendeeCapacity?: SchemaValue<Integer, "maximumPhysicalAttendeeCapacity">;

59

/** The maximum virtual attendee capacity of an Event whose eventAttendanceMode is OnlineEventAttendanceMode */

60

maximumVirtualAttendeeCapacity?: SchemaValue<Integer, "maximumVirtualAttendeeCapacity">;

61

/** An offer to provide this item */

62

offers?: SchemaValue<Demand | Offer, "offers">;

63

/** An organizer of an Event */

64

organizer?: SchemaValue<Organization | Person, "organizer">;

65

/** A performer at the event */

66

performer?: SchemaValue<Organization | Person, "performer">;

67

/** Used in conjunction with eventStatus for rescheduled or cancelled events */

68

previousStartDate?: SchemaValue<Date, "previousStartDate">;

69

/** The CreativeWork that captured all or part of this Event */

70

recordedIn?: SchemaValue<CreativeWork, "recordedIn">;

71

/** The number of attendee places for an event that remain unallocated */

72

remainingAttendeeCapacity?: SchemaValue<Integer, "remainingAttendeeCapacity">;

73

/** A review of the item */

74

review?: SchemaValue<Review, "review">;

75

/** A person or organization that supports a thing through a pledge, promise, or financial contribution */

76

sponsor?: SchemaValue<Organization | Person, "sponsor">;

77

/** The start date and time of the item */

78

startDate?: SchemaValue<Date | DateTime, "startDate">;

79

/** An Event that is part of this event */

80

subEvent?: SchemaValue<Event, "subEvent">;

81

/** An event that this event is a part of */

82

superEvent?: SchemaValue<Event, "superEvent">;

83

/** Organization or person who adapts a creative work to different languages, regional differences and technical requirements of a target market */

84

translator?: SchemaValue<Organization | Person, "translator">;

85

/** The typical expected age range */

86

typicalAgeRange?: SchemaValue<Text, "typicalAgeRange">;

87

/** The work that this work has been translated from */

88

workFeatured?: SchemaValue<CreativeWork, "workFeatured">;

89

/** The work performed in this event */

90

workPerformed?: SchemaValue<CreativeWork, "workPerformed">;

91

}

92

```

93

94

### Event Status and Attendance Types

95

96

Enumerations for event states and attendance modes.

97

98

```typescript { .api }

99

/**

100

* EventStatusType is an enumeration of several kinds of Event status

101

*/

102

type EventStatusType = "https://schema.org/EventCancelled" | "EventCancelled" |

103

"https://schema.org/EventMovedOnline" | "EventMovedOnline" |

104

"https://schema.org/EventPostponed" | "EventPostponed" |

105

"https://schema.org/EventRescheduled" | "EventRescheduled" |

106

"https://schema.org/EventScheduled" | "EventScheduled" | EventStatusTypeLeaf;

107

108

/**

109

* An EventAttendanceModeEnumeration value is one of potentially several modes of organising an event

110

*/

111

type EventAttendanceModeEnumeration = "https://schema.org/MixedEventAttendanceMode" |

112

"MixedEventAttendanceMode" | "https://schema.org/OfflineEventAttendanceMode" |

113

"OfflineEventAttendanceMode" | "https://schema.org/OnlineEventAttendanceMode" |

114

"OnlineEventAttendanceMode" | EventAttendanceModeEnumerationLeaf;

115

```

116

117

**Usage Examples:**

118

119

```typescript

120

import type { Event, EventStatusType, EventAttendanceModeEnumeration } from "schema-dts";

121

122

// Basic conference event

123

const conference: Event = {

124

"@type": "Event",

125

name: "Tech Conference 2024",

126

description: "Annual technology conference featuring latest innovations",

127

startDate: "2024-06-15T09:00:00",

128

endDate: "2024-06-16T17:00:00",

129

location: {

130

"@type": "Place",

131

name: "Convention Center",

132

address: {

133

"@type": "PostalAddress",

134

streetAddress: "123 Convention Ave",

135

addressLocality: "San Francisco",

136

addressRegion: "CA",

137

postalCode: "94102",

138

addressCountry: "US"

139

}

140

},

141

organizer: {

142

"@type": "Organization",

143

name: "Tech Events Inc."

144

},

145

eventStatus: "EventScheduled",

146

eventAttendanceMode: "OfflineEventAttendanceMode",

147

maximumAttendeeCapacity: 500,

148

isAccessibleForFree: false

149

};

150

151

// Online webinar event

152

const webinar: Event = {

153

"@type": "Event",

154

name: "Introduction to AI",

155

description: "Learn the basics of artificial intelligence",

156

startDate: "2024-03-20T14:00:00",

157

endDate: "2024-03-20T15:30:00",

158

duration: "PT1H30M",

159

location: {

160

"@type": "VirtualLocation",

161

url: "https://zoom.us/j/123456789"

162

},

163

eventAttendanceMode: "OnlineEventAttendanceMode",

164

maximumVirtualAttendeeCapacity: 1000,

165

isAccessibleForFree: true,

166

inLanguage: "en"

167

};

168

169

// Hybrid event

170

const hybridEvent: Event = {

171

"@type": "Event",

172

name: "Annual Company Meeting",

173

startDate: "2024-04-10T10:00:00",

174

endDate: "2024-04-10T16:00:00",

175

eventAttendanceMode: "MixedEventAttendanceMode",

176

location: [

177

{

178

"@type": "Place",

179

name: "Company Headquarters"

180

},

181

{

182

"@type": "VirtualLocation",

183

url: "https://meet.company.com/annual-meeting"

184

}

185

],

186

maximumPhysicalAttendeeCapacity: 200,

187

maximumVirtualAttendeeCapacity: 800

188

};

189

```

190

191

### Business and Professional Events

192

193

Events related to business, education, and professional development.

194

195

```typescript { .api }

196

/**

197

* An event happening at a certain time and location, such as a concert, lecture, or festival

198

*/

199

type BusinessEvent = BusinessEventLeaf;

200

201

/**

202

* Event type: Education event

203

*/

204

type EducationEvent = EducationEventLeaf;

205

206

/**

207

* A course instance or offering of a course

208

*/

209

type CourseInstance = CourseInstanceLeaf;

210

211

interface CourseInstanceBase extends EventBase {

212

/** The medium or means of delivery of the course instance or the mode of study */

213

courseMode?: SchemaValue<Text | URL, "courseMode">;

214

/** The course that this course instance is associated with */

215

courseWorkload?: SchemaValue<Text, "courseWorkload">;

216

/** A person assigned to instruct or provide instructional assistance for the CourseInstance */

217

instructor?: SchemaValue<Person, "instructor">;

218

}

219

```

220

221

**Usage Examples:**

222

223

```typescript

224

import type { BusinessEvent, EducationEvent, CourseInstance } from "schema-dts";

225

226

// Business networking event

227

const networkingEvent: BusinessEvent = {

228

"@type": "BusinessEvent",

229

name: "Startup Networking Mixer",

230

description: "Connect with fellow entrepreneurs and investors",

231

startDate: "2024-05-15T18:00:00",

232

endDate: "2024-05-15T21:00:00",

233

location: {

234

"@type": "Place",

235

name: "Innovation Hub",

236

address: {

237

"@type": "PostalAddress",

238

streetAddress: "456 Startup St",

239

addressLocality: "Silicon Valley",

240

addressRegion: "CA",

241

addressCountry: "US"

242

}

243

},

244

organizer: {

245

"@type": "Organization",

246

name: "Entrepreneurs Association"

247

},

248

audience: {

249

"@type": "BusinessAudience",

250

name: "Entrepreneurs and Investors"

251

}

252

};

253

254

// Educational workshop

255

const workshop: EducationEvent = {

256

"@type": "EducationEvent",

257

name: "Python Programming Workshop",

258

description: "Hands-on workshop for beginners",

259

startDate: "2024-04-20T10:00:00",

260

endDate: "2024-04-20T16:00:00",

261

duration: "PT6H",

262

instructor: {

263

"@type": "Person",

264

name: "Dr. Python Teacher",

265

jobTitle: "Senior Software Engineer"

266

},

267

audience: {

268

"@type": "EducationalAudience",

269

educationalRole: "student"

270

},

271

typicalAgeRange: "18-65"

272

};

273

274

// University course instance

275

const courseSession: CourseInstance = {

276

"@type": "CourseInstance",

277

name: "Introduction to Computer Science - Fall 2024",

278

courseMode: "in-person",

279

startDate: "2024-09-01",

280

endDate: "2024-12-15",

281

instructor: [

282

{

283

"@type": "Person",

284

name: "Prof. Computer Science"

285

}

286

],

287

location: {

288

"@type": "Place",

289

name: "University Campus",

290

address: {

291

"@type": "PostalAddress",

292

addressLocality: "College Town",

293

addressRegion: "State",

294

addressCountry: "US"

295

}

296

},

297

courseWorkload: "15 hours per week"

298

};

299

```

300

301

### Cultural and Entertainment Events

302

303

Events for entertainment, arts, sports, and cultural activities.

304

305

```typescript { .api }

306

/**

307

* Event type: Music event

308

*/

309

type MusicEvent = MusicEventLeaf;

310

311

/**

312

* Event type: Sports event

313

*/

314

type SportsEvent = SportsEventLeaf;

315

316

/**

317

* Event type: Theater event

318

*/

319

type TheaterEvent = TheaterEventLeaf;

320

321

/**

322

* A social event

323

*/

324

type SocialEvent = SocialEventLeaf;

325

326

/**

327

* Event type: Comedy event

328

*/

329

type ComedyEvent = ComedyEventLeaf;

330

331

/**

332

* Event type: Dance event

333

*/

334

type DanceEvent = DanceEventLeaf;

335

336

/**

337

* Event type: Visual arts event

338

*/

339

type VisualArtsEvent = VisualArtsEventLeaf;

340

341

/**

342

* A festival or similar arts or cultural event

343

*/

344

type Festival = FestivalLeaf;

345

346

/**

347

* ExhibitionEvent is a subtype of Event representing an event where art works, installations, or other cultural or educational items are presented to the public

348

*/

349

type ExhibitionEvent = ExhibitionEventLeaf;

350

```

351

352

**Usage Examples:**

353

354

```typescript

355

import type { MusicEvent, SportsEvent, TheaterEvent, Festival } from "schema-dts";

356

357

// Concert event

358

const concert: MusicEvent = {

359

"@type": "MusicEvent",

360

name: "Jazz Night at Blue Note",

361

description: "Evening of contemporary jazz music",

362

startDate: "2024-07-20T20:00:00",

363

endDate: "2024-07-20T23:00:00",

364

performer: [

365

{

366

"@type": "Person",

367

name: "Miles Davis Tribute Band"

368

}

369

],

370

location: {

371

"@type": "MusicVenue",

372

name: "Blue Note Jazz Club",

373

address: {

374

"@type": "PostalAddress",

375

streetAddress: "131 W 3rd St",

376

addressLocality: "New York",

377

addressRegion: "NY",

378

addressCountry: "US"

379

}

380

},

381

offers: {

382

"@type": "Offer",

383

price: "25.00",

384

priceCurrency: "USD",

385

availability: "InStock"

386

}

387

};

388

389

// Sports event

390

const basketballGame: SportsEvent = {

391

"@type": "SportsEvent",

392

name: "Lakers vs Warriors",

393

description: "NBA Regular Season Game",

394

startDate: "2024-12-25T15:00:00",

395

location: {

396

"@type": "StadiumOrArena",

397

name: "Staples Center",

398

address: {

399

"@type": "PostalAddress",

400

addressLocality: "Los Angeles",

401

addressRegion: "CA",

402

addressCountry: "US"

403

}

404

},

405

competitor: [

406

{

407

"@type": "SportsTeam",

408

name: "Los Angeles Lakers"

409

},

410

{

411

"@type": "SportsTeam",

412

name: "Golden State Warriors"

413

}

414

],

415

sport: "Basketball"

416

};

417

418

// Theater performance

419

const play: TheaterEvent = {

420

"@type": "TheaterEvent",

421

name: "Hamlet",

422

description: "Shakespeare's classic tragedy",

423

startDate: "2024-08-15T19:30:00",

424

endDate: "2024-08-15T22:00:00",

425

location: {

426

"@type": "PerformingArtsTheater",

427

name: "Broadway Theater"

428

},

429

performer: [

430

{

431

"@type": "Person",

432

name: "Lead Actor"

433

}

434

],

435

workPerformed: {

436

"@type": "Play",

437

name: "Hamlet",

438

author: {

439

"@type": "Person",

440

name: "William Shakespeare"

441

}

442

}

443

};

444

445

// Arts festival

446

const artsFestival: Festival = {

447

"@type": "Festival",

448

name: "Summer Arts Festival",

449

description: "Annual celebration of local arts and culture",

450

startDate: "2024-06-01",

451

endDate: "2024-06-30",

452

location: {

453

"@type": "Park",

454

name: "Central Park"

455

},

456

subEvent: [

457

{

458

"@type": "MusicEvent",

459

name: "Opening Concert"

460

},

461

{

462

"@type": "ExhibitionEvent",

463

name: "Local Artists Exhibition"

464

}

465

]

466

};

467

```

468

469

### Specialized Event Types

470

471

Additional event types for specific contexts and activities.

472

473

```typescript { .api }

474

/**

475

* Event type: Children's event

476

*/

477

type ChildrensEvent = ChildrensEventLeaf;

478

479

/**

480

* A DeliveryEvent in which the package containing the goods is delivered to the recipient directly by a local business

481

*/

482

type DeliveryEvent = DeliveryEventLeaf;

483

484

/**

485

* A food-related event

486

*/

487

type FoodEvent = FoodEventLeaf;

488

489

/**

490

* A hackathon event

491

*/

492

type Hackathon = HackathonLeaf;

493

494

/**

495

* A literary event such as a reading, performance, or publication event

496

*/

497

type LiteraryEvent = LiteraryEventLeaf;

498

499

/**

500

* Event type: A movie showing

501

*/

502

type ScreeningEvent = ScreeningEventLeaf;

503

504

/**

505

* A sale event such as a sample sale or trunk show

506

*/

507

type SaleEvent = SaleEventLeaf;

508

```

509

510

**Usage Examples:**

511

512

```typescript

513

import type { ChildrensEvent, FoodEvent, Hackathon, SaleEvent } from "schema-dts";

514

515

// Children's birthday party

516

const kidsParty: ChildrensEvent = {

517

"@type": "ChildrensEvent",

518

name: "Emma's 8th Birthday Party",

519

description: "Birthday celebration with games and cake",

520

startDate: "2024-05-10T14:00:00",

521

endDate: "2024-05-10T17:00:00",

522

location: {

523

"@type": "Place",

524

name: "Community Center"

525

},

526

typicalAgeRange: "5-12",

527

attendee: [

528

{

529

"@type": "Person",

530

name: "Emma",

531

birthDate: "2016-05-10"

532

}

533

]

534

};

535

536

// Food festival

537

const foodFest: FoodEvent = {

538

"@type": "FoodEvent",

539

name: "International Food Festival",

540

description: "Taste cuisines from around the world",

541

startDate: "2024-09-15T11:00:00",

542

endDate: "2024-09-15T19:00:00",

543

location: {

544

"@type": "Park",

545

name: "City Park"

546

},

547

offers: {

548

"@type": "Offer",

549

price: "10.00",

550

priceCurrency: "USD",

551

description": "Entry fee"

552

}

553

};

554

555

// Hackathon

556

const codingEvent: Hackathon = {

557

"@type": "Hackathon",

558

name: "Climate Change Hackathon",

559

description: "48-hour coding event to solve climate challenges",

560

startDate: "2024-04-05T18:00:00",

561

endDate: "2024-04-07T18:00:00",

562

duration: "PT48H",

563

location: {

564

"@type": "Place",

565

name: "Tech Hub"

566

},

567

organizer: {

568

"@type": "Organization",

569

name: "Green Tech Initiative"

570

},

571

about: "Climate Change Solutions",

572

maximumAttendeeCapacity: 100

573

};

574

575

// Sale event

576

const sampleSale: SaleEvent = {

577

"@type": "SaleEvent",

578

name: "Designer Sample Sale",

579

description: "Up to 70% off designer clothing",

580

startDate: "2024-11-25T09:00:00",

581

endDate: "2024-11-27T20:00:00",

582

location: {

583

"@type": "Store",

584

name: "Fashion Outlet"

585

},

586

offers: {

587

"@type": "Offer",

588

description: "Designer clothing at discounted prices",

589

priceCurrency: "USD"

590

}

591

};

592

```