Employee
Represents the employment relationship between a Person and an Organization. Employee is not the person themselves - it is the formal employment record that links an individual to their employer, capturing essential job details, organizational placement, and reporting structure. This entity serves as the universal model for workforce management across all industries - from corporate enterprises (software engineers, accountants, executives) to healthcare facilities (nurses, physicians, administrators), government agencies (civil servants, officials), logistics operations (drivers, dispatchers, warehouse staff), retail businesses (associates, managers), and educational institutions (teachers, administrators). The Employee entity references Person for biographical data, Organization for employer identity, Department for organizational assignment, and Location for work site. It tracks core employment attributes including unique employee identifiers, job titles and classifications, employment type (full-time, part-time, contract, temporary), employment status (active, on-leave, terminated), hire and departure dates, supervisor relationships, and work location assignments. This separation between Person and Employee enables individuals to have multiple employment relationships (past and present) with different organizations while maintaining a single authoritative person record. The entity supports organizational reporting hierarchies, departmental assignments, location-based workforce analytics, and comprehensive employee lifecycle management from onboarding through offboarding across any industry or employment context.
Properties
| Property | Type | Mode | Description | Required |
|---|---|---|---|---|
| person | Person | stored | Reference to the Person entity representing the individual employed | Required |
| organization | Organization | stored | Reference to the Organization that employs this person | Required |
| employeeNumber | string | stored | Unique identifier or badge number assigned by the organization to this employee Example: | Optional |
| position | JobPosition | stored | Reference to the JobPosition this employee holds | Required |
| employmentType | string | stored | Type or classification of employment arrangement Values: Example: | Required |
| status | string | stored | Current employment status indicating the active state of this employment relationship Values: Example: | Required |
| department | Department | stored | Reference to the Department where this employee is assigned or works | Required |
| workLocation | Location | stored | Reference to the primary Location where this employee works (office, facility, warehouse, remote, etc.) | Optional |
| supervisor | Employee | stored | Reference to the Employee who supervises or manages this employee in the organizational hierarchy | Optional |
| hireDate | Date | stored | Date when the employee started working for the organization Example: | Required |
| endDate | Date | stored | Date when the employment relationship ended (for terminated, retired, or completed contract employees) Example: | Optional |
| workEmail | string | stored | Official work email address assigned by the organization Example: | Optional |
| workPhone | string | stored | Work telephone number or extension Example: | Optional |
| workSchedule | string | stored | Standard work schedule or hours for this employee Example: | Optional |
| notes | string | stored | Additional notes or remarks about the employment relationship | Optional |
| metadata | json | stored | Additional employment-specific metadata for extensibility - use for compensation, benefits, certifications, performance data, or other domain-specific employment details | Optional |
| isActive | boolean | calculated | Whether the employee is currently active (status is active) | Optional |
| isFullTime | boolean | calculated | Whether this is a full-time employment arrangement | Optional |
| hasEnded | boolean | calculated | Whether the employment has ended (endDate is set and in the past) | Optional |
| hasSupervisor | boolean | calculated | Whether a supervisor has been assigned to this employee | Optional |
| tenureYears | number | calculated | Number of years the employee has been with the organization (from hireDate to endDate or current date) | Optional |
| tenureDays | number | calculated | Number of days the employee has been with the organization | Optional |
| fullName | string | calculated | Full name computed from the referenced Person entity (combining prefix, givenName, middleName, familyName, suffix) | Optional |
| displayName | string | calculated | Display name for organizational directory - typically preferredName or givenName + familyName from Person entity | Optional |
| directReports | Employee[] | calculated | All employees who report directly to this employee (inverse of supervisor) | Optional |
Examples
Example 1
{
"@type": "Employee",
"person": {
"@type": "Person",
"givenName": "Sarah",
"middleName": "Jane",
"familyName": "Martinez",
"preferredName": "Sarah",
"status": "active",
"birthDate": "1988-06-15",
"telecoms": [
{
"@type": "ContactPoint",
"system": "email",
"value": "sarah.martinez@personal.com",
"use": "home"
},
{
"@type": "ContactPoint",
"system": "phone",
"value": "+1-555-9876",
"use": "mobile"
}
],
"address": [
{
"@type": "PostalAddress",
"use": "home",
"streetAddress": "789 Oak Avenue",
"addressLocality": "San Francisco",
"addressRegion": "CA",
"postalCode": "94110",
"addressCountry": "US"
}
]
},
"organization": {
"@type": "Organization",
"name": "TechCorp Solutions",
"legalName": "TechCorp Solutions Inc."
},
"employeeNumber": "EMP-2024-001234",
"position": {
"@type": "JobPosition",
"title": "Senior Software Engineer",
"code": "ENG-SSE-001",
"level": "senior"
},
"employmentType": "full-time",
"status": "active",
"department": {
"@type": "Department",
"name": "Engineering",
"code": "ENG-001"
},
"workLocation": {
"@type": "Location",
"name": "Headquarters - Building 2",
"type": "physical",
"address": {
"@type": "PostalAddress",
"streetAddress": "100 Tech Drive",
"addressLocality": "San Francisco",
"addressRegion": "CA",
"postalCode": "94105",
"addressCountry": "US"
}
},
"supervisor": {
"@type": "Employee",
"employeeNumber": "EMP-2020-000512",
"position": {
"@type": "JobPosition",
"title": "Engineering Manager"
}
},
"hireDate": "2024-01-15",
"workEmail": "sarah.martinez@techcorp.com",
"workPhone": "+1-555-0100 ext. 2234",
"workSchedule": "Monday-Friday, 9:00 AM - 5:00 PM",
"metadata": {
"team": "Backend Platform",
"securityClearance": "Level 2",
"buildingAccessBadge": "BADGE-12345"
}
}Example 2
{
"@type": "Employee",
"person": {
"@type": "Person",
"prefix": "Dr.",
"givenName": "Michael",
"familyName": "Chen",
"suffix": "MD",
"status": "active",
"birthDate": "1980-03-20"
},
"organization": {
"@type": "Organization",
"name": "City General Hospital",
"legalName": "City General Hospital LLC"
},
"employeeNumber": "MED-2015-000789",
"position": {
"@type": "JobPosition",
"title": "Emergency Medicine Physician",
"code": "MED-EMP-001",
"level": "professional"
},
"employmentType": "full-time",
"status": "active",
"department": {
"@type": "Department",
"name": "Emergency Department",
"code": "MED-ED-001"
},
"workLocation": {
"@type": "Location",
"name": "Emergency Department - Ground Floor",
"type": "physical",
"address": {
"@type": "PostalAddress",
"streetAddress": "456 Health Avenue",
"addressLocality": "Boston",
"addressRegion": "MA",
"postalCode": "02115",
"addressCountry": "US"
}
},
"supervisor": {
"@type": "Employee",
"employeeNumber": "MED-2010-000234",
"position": {
"@type": "JobPosition",
"title": "ED Medical Director"
}
},
"hireDate": "2015-07-01",
"workEmail": "michael.chen@cityhospital.org",
"workPhone": "+1-555-0200 ext. 4500",
"workSchedule": "Rotating shifts: 7am-7pm / 7pm-7am, 3 days per week",
"notes": "Board certified in Emergency Medicine",
"metadata": {
"medicalLicense": "MA-MD-123456",
"certifications": [
"ACLS",
"PALS",
"ATLS"
],
"specialties": [
"Emergency Medicine",
"Trauma Care"
],
"npiNumber": "1234567890"
}
}Example 3
{
"@type": "Employee",
"person": {
"@type": "Person",
"givenName": "James",
"familyName": "Rodriguez",
"status": "active",
"birthDate": "1992-11-08"
},
"organization": {
"@type": "Organization",
"name": "Express Logistics Inc.",
"legalName": "Express Logistics Incorporated"
},
"employeeNumber": "DRV-2023-005678",
"position": {
"@type": "JobPosition",
"title": "Delivery Driver",
"code": "OPS-DRV-001",
"level": "entry"
},
"employmentType": "full-time",
"status": "active",
"department": {
"@type": "Department",
"name": "Fleet Operations",
"code": "OPS-FLEET-001"
},
"workLocation": {
"@type": "Location",
"name": "Distribution Center North",
"type": "physical",
"address": {
"@type": "PostalAddress",
"streetAddress": "2500 Warehouse Boulevard",
"addressLocality": "Chicago",
"addressRegion": "IL",
"postalCode": "60601",
"addressCountry": "US"
}
},
"supervisor": {
"@type": "Employee",
"employeeNumber": "OPS-2019-001100",
"position": {
"@type": "JobPosition",
"title": "Fleet Operations Supervisor"
}
},
"hireDate": "2023-03-20",
"workEmail": "james.rodriguez@expresslogistics.com",
"workPhone": "+1-555-0300 ext. 8900",
"workSchedule": "Monday-Friday, 6:00 AM - 3:00 PM",
"notes": "Assigned to Route 45 - North Suburbs",
"metadata": {
"driversLicense": "IL-DL-R123456789",
"licenseClass": "Class C",
"licenseExpiry": "2027-11-08",
"assignedVehicle": "VAN-2023-045",
"route": "Route 45",
"dotPhysicalExpiry": "2025-11-08"
}
}Example 4
{
"@type": "Employee",
"person": {
"@type": "Person",
"givenName": "Amanda",
"familyName": "Thompson",
"status": "active",
"birthDate": "1995-02-14"
},
"organization": {
"@type": "Organization",
"name": "RetailMart",
"legalName": "RetailMart Corporation"
},
"employeeNumber": "RET-2024-003456",
"position": {
"@type": "JobPosition",
"title": "Store Associate",
"code": "RET-SA-001",
"level": "entry"
},
"employmentType": "part-time",
"status": "active",
"department": {
"@type": "Department",
"name": "Store Operations - Downtown",
"code": "STORE-DT-001"
},
"workLocation": {
"@type": "Location",
"name": "Downtown Store",
"type": "physical",
"address": {
"@type": "PostalAddress",
"streetAddress": "500 Main Street",
"addressLocality": "Seattle",
"addressRegion": "WA",
"postalCode": "98101",
"addressCountry": "US"
}
},
"supervisor": {
"@type": "Employee",
"employeeNumber": "RET-2022-001234",
"position": {
"@type": "JobPosition",
"title": "Store Manager"
}
},
"hireDate": "2024-06-01",
"workEmail": "amanda.thompson@retailmart.com",
"workPhone": "+1-555-0400",
"workSchedule": "Tuesday, Thursday, Saturday: 10:00 AM - 6:00 PM; Sunday: 12:00 PM - 5:00 PM",
"metadata": {
"cashierCertified": true,
"departments": [
"Electronics",
"Customer Service"
],
"shiftPreference": "evenings-weekends"
}
}Example 5
{
"@type": "Employee",
"person": {
"@type": "Person",
"givenName": "David",
"familyName": "Kim",
"status": "active",
"birthDate": "1985-09-30"
},
"organization": {
"@type": "Organization",
"name": "Global Manufacturing Corp",
"legalName": "Global Manufacturing Corporation"
},
"employeeNumber": "MFG-2018-002345",
"position": {
"@type": "JobPosition",
"title": "Production Line Supervisor",
"code": "MFG-SUP-001",
"level": "supervisor"
},
"employmentType": "full-time",
"status": "on-leave",
"department": {
"@type": "Department",
"name": "Manufacturing - Assembly",
"code": "MFG-ASM-001"
},
"workLocation": {
"@type": "Location",
"name": "Plant 3 - Assembly Floor",
"type": "physical",
"address": {
"@type": "PostalAddress",
"streetAddress": "1000 Industrial Parkway",
"addressLocality": "Detroit",
"addressRegion": "MI",
"postalCode": "48201",
"addressCountry": "US"
}
},
"supervisor": {
"@type": "Employee",
"employeeNumber": "MFG-2015-000890",
"position": {
"@type": "JobPosition",
"title": "Plant Manager"
}
},
"hireDate": "2018-04-15",
"workEmail": "david.kim@globalmfg.com",
"workPhone": "+1-555-0500 ext. 3300",
"workSchedule": "Monday-Friday, 7:00 AM - 3:30 PM",
"notes": "Currently on FMLA leave, expected return date 2025-01-15",
"metadata": {
"leaveType": "FMLA",
"leaveStartDate": "2024-11-01",
"expectedReturnDate": "2025-01-15",
"safetyTrainingCurrent": true,
"forkliftCertified": true,
"shiftCode": "A"
}
}