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
```