0
# Person and Organization Types
1
2
Schema.org types representing people and organizations with their properties, relationships, and roles within various contexts.
3
4
## Capabilities
5
6
### Person Type
7
8
Represents a person, including fictional characters and historical figures.
9
10
```typescript { .api }
11
/**
12
* A person, including fictional characters, deceased people, and living people
13
*/
14
type Person = PersonLeaf | Patient | string;
15
16
interface PersonBase extends ThingBase {
17
/** An additional name for a Person, can be used for a middle name */
18
additionalName?: SchemaValue<Text, "additionalName">;
19
/** A postal address for the person */
20
address?: SchemaValue<PostalAddress | Text, "address">;
21
/** An organization that this person is affiliated with */
22
affiliation?: SchemaValue<Organization, "affiliation">;
23
/** An alumni of an educational organization */
24
alumniOf?: SchemaValue<EducationalOrganization | Organization, "alumniOf">;
25
/** An award won by or for this item */
26
award?: SchemaValue<Text, "award">;
27
/** Date of birth */
28
birthDate?: SchemaValue<Date, "birthDate">;
29
/** The place where the person was born */
30
birthPlace?: SchemaValue<Place, "birthPlace">;
31
/** Date of death */
32
deathDate?: SchemaValue<Date, "deathDate">;
33
/** The place where the person died */
34
deathPlace?: SchemaValue<Place, "deathPlace">;
35
/** Email address */
36
email?: SchemaValue<Text, "email">;
37
/** Family name. In the U.S., the last name of a person */
38
familyName?: SchemaValue<Text, "familyName">;
39
/** Given name. In the U.S., the first name of a person */
40
givenName?: SchemaValue<Text, "givenName">;
41
/** A person's most significant accomplishment */
42
hasOccupation?: SchemaValue<Occupation, "hasOccupation">;
43
/** The person's job title */
44
jobTitle?: SchemaValue<DefinedTerm | Text, "jobTitle">;
45
/** Of a Person, and less typically of an Organization, to indicate a topic that is known about */
46
knowsAbout?: SchemaValue<Text | Thing | URL, "knowsAbout">;
47
/** The most generic uni-directional social relation */
48
knows?: SchemaValue<Person, "knows">;
49
/** A pointer to products or services offered by the organization or person */
50
makesOffer?: SchemaValue<Offer, "makesOffer">;
51
/** An Organization (or ProgramMembership) to which this Person or Organization belongs */
52
memberOf?: SchemaValue<Organization | ProgramMembership, "memberOf">;
53
/** Nationality of the person */
54
nationality?: SchemaValue<Country, "nationality">;
55
/** The telephone number */
56
telephone?: SchemaValue<Text, "telephone">;
57
/** Organizations that the person works for */
58
worksFor?: SchemaValue<Organization, "worksFor">;
59
}
60
```
61
62
**Usage Examples:**
63
64
```typescript
65
import type { Person } from "schema-dts";
66
67
// Basic person information
68
const author: Person = {
69
"@type": "Person",
70
name: "Jane Smith",
71
givenName: "Jane",
72
familyName: "Smith",
73
jobTitle: "Software Engineer",
74
email: "jane.smith@example.com",
75
telephone: "+1-555-0123"
76
};
77
78
// Detailed person with affiliations and background
79
const scientist: Person = {
80
"@type": "Person",
81
name: "Dr. Marie Curie",
82
givenName: "Marie",
83
familyName: "Curie",
84
additionalName: "Salomea",
85
birthDate: "1867-11-07",
86
deathDate: "1934-07-04",
87
birthPlace: {
88
"@type": "Place",
89
name: "Warsaw, Poland"
90
},
91
nationality: {
92
"@type": "Country",
93
name: "France"
94
},
95
hasOccupation: {
96
"@type": "Occupation",
97
name: "Physicist and Chemist"
98
},
99
knowsAbout: ["Physics", "Chemistry", "Radioactivity"],
100
award: [
101
"Nobel Prize in Physics (1903)",
102
"Nobel Prize in Chemistry (1911)"
103
],
104
affiliation: [
105
{
106
"@type": "Organization",
107
name: "University of Paris"
108
}
109
]
110
};
111
112
// Person with work relationships
113
const employee: Person = {
114
"@type": "Person",
115
name: "John Doe",
116
jobTitle: "Senior Developer",
117
worksFor: {
118
"@type": "Organization",
119
name: "Tech Innovations Inc.",
120
url: "https://techinnovations.com"
121
},
122
memberOf: [
123
{
124
"@type": "Organization",
125
name: "IEEE Computer Society"
126
},
127
{
128
"@type": "Organization",
129
name: "Association for Computing Machinery"
130
}
131
]
132
};
133
```
134
135
### Organization Type
136
137
Represents an organization such as a school, NGO, corporation, club, etc.
138
139
```typescript { .api }
140
/**
141
* An organization such as a school, NGO, corporation, club, etc.
142
*/
143
type Organization = OrganizationLeaf | Airline | Consortium | Cooperative |
144
Corporation | EducationalOrganization | FundingScheme | GovernmentOrganization |
145
LibrarySystem | LocalBusiness | MedicalOrganization | NewsMediaOrganization |
146
NGO | OnlineBusiness | PerformingGroup | PoliticalParty | Project |
147
ResearchOrganization | SearchRescueOrganization | SportsOrganization |
148
WorkersUnion | string;
149
150
interface OrganizationBase extends ThingBase {
151
/** A postal address for the organization */
152
address?: SchemaValue<PostalAddress | Text, "address">;
153
/** Alumni of an organization */
154
alumni?: SchemaValue<Person, "alumni">;
155
/** An award won by or for this item */
156
award?: SchemaValue<Text, "award">;
157
/** The brand(s) associated with a product or service */
158
brand?: SchemaValue<Brand | Organization, "brand">;
159
/** A contact point for a person or organization */
160
contactPoint?: SchemaValue<ContactPoint, "contactPoint">;
161
/** The date that this organization was dissolved */
162
dissolutionDate?: SchemaValue<Date, "dissolutionDate">;
163
/** Email address */
164
email?: SchemaValue<Text, "email">;
165
/** Someone working for this organization */
166
employee?: SchemaValue<Person, "employee">;
167
/** The date that this organization was founded */
168
foundingDate?: SchemaValue<Date, "foundingDate">;
169
/** The location where the organization was founded */
170
foundingLocation?: SchemaValue<Place, "foundingLocation">;
171
/** A person who founded this organization */
172
founder?: SchemaValue<Person, "founder">;
173
/** The official name of the organization */
174
legalName?: SchemaValue<Text, "legalName">;
175
/** The location of, for example, where an event is happening */
176
location?: SchemaValue<Place | PostalAddress | Text | VirtualLocation, "location">;
177
/** An organization identifier as defined in ISO 6523 */
178
leiCode?: SchemaValue<Text, "leiCode">;
179
/** A logo associated with an organization */
180
logo?: SchemaValue<ImageObject | URL, "logo">;
181
/** A pointer to products or services offered by the organization or person */
182
makesOffer?: SchemaValue<Offer, "makesOffer">;
183
/** A member of an Organization or a ProgramMembership */
184
member?: SchemaValue<Organization | Person, "member">;
185
/** An Organization (or ProgramMembership) to which this Person or Organization belongs */
186
memberOf?: SchemaValue<Organization | ProgramMembership, "memberOf">;
187
/** The number of employees in an organization, including part-time employees */
188
numberOfEmployees?: SchemaValue<QuantitativeValue, "numberOfEmployees">;
189
/** A relationship between an organization and a department of that organization */
190
parentOrganization?: SchemaValue<Organization, "parentOrganization">;
191
/** A relationship between two organizations where the first includes the second */
192
subOrganization?: SchemaValue<Organization, "subOrganization">;
193
/** The Tax / Fiscal ID of the organization */
194
taxID?: SchemaValue<Text, "taxID">;
195
/** The telephone number */
196
telephone?: SchemaValue<Text, "telephone">;
197
/** The Value-added Tax ID of the organization */
198
vatID?: SchemaValue<Text, "vatID">;
199
}
200
```
201
202
**Usage Examples:**
203
204
```typescript
205
import type { Organization, EducationalOrganization, Corporation } from "schema-dts";
206
207
// Basic organization
208
const company: Organization = {
209
"@type": "Organization",
210
name: "Acme Corporation",
211
legalName: "Acme Corporation Ltd.",
212
url: "https://acme.com",
213
logo: "https://acme.com/logo.png",
214
address: {
215
"@type": "PostalAddress",
216
streetAddress: "123 Business Ave",
217
addressLocality: "New York",
218
addressRegion: "NY",
219
postalCode: "10001",
220
addressCountry: "US"
221
},
222
telephone: "+1-555-0100",
223
email: "info@acme.com"
224
};
225
226
// Educational organization
227
const university: EducationalOrganization = {
228
"@type": "CollegeOrUniversity",
229
name: "Massachusetts Institute of Technology",
230
alternateName: "MIT",
231
foundingDate: "1861-04-10",
232
address: {
233
"@type": "PostalAddress",
234
streetAddress: "77 Massachusetts Avenue",
235
addressLocality: "Cambridge",
236
addressRegion: "MA",
237
postalCode: "02139",
238
addressCountry: "US"
239
},
240
url: "https://mit.edu",
241
alumni: [
242
{
243
"@type": "Person",
244
name: "Tim Berners-Lee"
245
}
246
]
247
};
248
249
// Corporation with detailed information
250
const techCorp: Corporation = {
251
"@type": "Corporation",
252
name: "Tech Solutions Inc.",
253
foundingDate: "2010-03-15",
254
founder: [
255
{
256
"@type": "Person",
257
name: "Alice Johnson",
258
jobTitle: "CEO"
259
},
260
{
261
"@type": "Person",
262
name: "Bob Wilson",
263
jobTitle: "CTO"
264
}
265
],
266
employee: [
267
{
268
"@type": "Person",
269
name: "Carol Smith",
270
jobTitle: "Senior Developer"
271
}
272
],
273
numberOfEmployees: {
274
"@type": "QuantitativeValue",
275
value: 150
276
},
277
subOrganization: [
278
{
279
"@type": "Organization",
280
name: "R&D Department"
281
},
282
{
283
"@type": "Organization",
284
name: "Sales Department"
285
}
286
]
287
};
288
```
289
290
### Local Business Type
291
292
A particular physical business or branch of an organization.
293
294
```typescript { .api }
295
/**
296
* A particular physical business or branch of an organization
297
*/
298
type LocalBusiness = LocalBusinessLeaf | AnimalShelter | ArchiveOrganization |
299
AutomotiveBusiness | ChildCare | Dentist | DryCleaningOrLaundry |
300
EmergencyService | EmploymentAgency | EntertainmentBusiness |
301
FinancialService | FoodEstablishment | GovernmentOffice |
302
HealthAndBeautyBusiness | HomeAndConstructionBusiness | InternetCafe |
303
LegalService | Library | LodgingBusiness | MedicalBusiness |
304
ProfessionalService | RadioStation | RealEstateAgent | RecyclingCenter |
305
SelfStorage | ShoppingCenter | SportsActivityLocation | Store |
306
TelevisionStation | TouristInformationCenter | TravelAgency | string;
307
308
interface LocalBusinessBase extends OrganizationBase, PlaceBase {
309
/** The currency accepted */
310
currenciesAccepted?: SchemaValue<Text, "currenciesAccepted">;
311
/** The opening hours of a certain place */
312
openingHours?: SchemaValue<Text, "openingHours">;
313
/** Cash, Credit Card, Cryptocurrency, Local Exchange Tradings System, etc. */
314
paymentAccepted?: SchemaValue<Text, "paymentAccepted">;
315
/** The price range of the business */
316
priceRange?: SchemaValue<Text, "priceRange">;
317
}
318
```
319
320
**Usage Examples:**
321
322
```typescript
323
import type { LocalBusiness, Restaurant, Store } from "schema-dts";
324
325
// Local restaurant
326
const restaurant: Restaurant = {
327
"@type": "Restaurant",
328
name: "Mario's Italian Kitchen",
329
address: {
330
"@type": "PostalAddress",
331
streetAddress: "456 Main Street",
332
addressLocality: "Springfield",
333
addressRegion: "IL",
334
postalCode: "62701",
335
addressCountry: "US"
336
},
337
telephone: "+1-555-0200",
338
openingHours: [
339
"Mo-Th 11:00-22:00",
340
"Fr-Sa 11:00-23:00",
341
"Su 12:00-21:00"
342
],
343
priceRange: "$$",
344
paymentAccepted: "Cash, Credit Card",
345
currenciesAccepted: "USD",
346
servesCuisine: "Italian"
347
};
348
349
// Retail store
350
const bookstore: Store = {
351
"@type": "BookStore",
352
name: "Pages & More Bookstore",
353
address: {
354
"@type": "PostalAddress",
355
streetAddress: "789 Literary Lane",
356
addressLocality: "Boston",
357
addressRegion: "MA",
358
postalCode: "02101",
359
addressCountry: "US"
360
},
361
openingHours: [
362
"Mo-Sa 09:00-21:00",
363
"Su 10:00-18:00"
364
],
365
paymentAccepted: "Cash, Credit Card, Digital Wallet",
366
telephone: "+1-555-0300"
367
};
368
```
369
370
### Organization Role Types
371
372
Specialized role types for describing relationships within organizations.
373
374
```typescript { .api }
375
/**
376
* A subclass of Role used to describe roles within organizations
377
*/
378
type OrganizationRole<TContent = never, TProperty extends string = never> =
379
OrganizationRoleLeaf<TContent, TProperty> | EmployeeRole<TContent, TProperty>;
380
381
interface OrganizationRoleBase extends RoleBase {
382
/** A number associated with a role in an organization */
383
numberedPosition?: SchemaValue<Number, "numberedPosition">;
384
}
385
386
/**
387
* A subclass of OrganizationRole used to describe employee relationships
388
*/
389
type EmployeeRole<TContent = never, TProperty extends string = never> =
390
EmployeeRoleLeaf<TContent, TProperty>;
391
392
interface EmployeeRoleBase extends OrganizationRoleBase {
393
/** The base salary of the job or of an employee in an EmployeeRole */
394
baseSalary?: SchemaValue<MonetaryAmount | Number | PriceSpecification, "baseSalary">;
395
/** The currency used for the main salary information */
396
salaryCurrency?: SchemaValue<Text, "salaryCurrency">;
397
}
398
```
399
400
**Usage Examples:**
401
402
```typescript
403
// Employee with role details
404
const employeeRole: Person = {
405
"@type": "Person",
406
name: "Sarah Connor",
407
worksFor: {
408
"@type": "Role",
409
"@id": "employee-role-123",
410
worksFor: {
411
"@type": "Organization",
412
name: "Cyberdyne Systems"
413
},
414
roleName: "Senior Software Engineer",
415
startDate: "2020-01-15",
416
baseSalary: {
417
"@type": "MonetaryAmount",
418
currency: "USD",
419
value: 120000
420
},
421
numberedPosition: 001
422
}
423
};
424
```