99 lines
2.0 KiB
JSON
99 lines
2.0 KiB
JSON
{
|
|
"name": "WorkerReputationProfile",
|
|
"type": "object",
|
|
"properties": {
|
|
"worker_id": {
|
|
"type": "string",
|
|
"description": "Linked workforce member ID"
|
|
},
|
|
"worker_name": {
|
|
"type": "string",
|
|
"description": "Full name"
|
|
},
|
|
"total_shifts": {
|
|
"type": "number",
|
|
"default": 0,
|
|
"description": "Total verified completed shifts across all agencies"
|
|
},
|
|
"no_shows": {
|
|
"type": "number",
|
|
"default": 0
|
|
},
|
|
"late_arrivals": {
|
|
"type": "number",
|
|
"default": 0
|
|
},
|
|
"last_minute_cancels": {
|
|
"type": "number",
|
|
"default": 0
|
|
},
|
|
"attendance_rate": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 100,
|
|
"description": "Attendance percentage (0-100)"
|
|
},
|
|
"avg_client_rating": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 5
|
|
},
|
|
"avg_supervisor_rating": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 5
|
|
},
|
|
"verified_skills": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "Verified skill/role tags"
|
|
},
|
|
"verified_certifications": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"contributing_agencies": {
|
|
"type": "number",
|
|
"default": 0,
|
|
"description": "Number of agencies that have contributed data"
|
|
},
|
|
"trust_score": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 100,
|
|
"description": "Computed KROW trust score (0-100)"
|
|
},
|
|
"trust_tier": {
|
|
"type": "string",
|
|
"enum": [
|
|
"Bronze",
|
|
"Silver",
|
|
"Gold",
|
|
"Platinum"
|
|
],
|
|
"default": "Bronze"
|
|
},
|
|
"opted_in": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"description": "Worker has opted into the reputation network"
|
|
},
|
|
"profile_visibility": {
|
|
"type": "string",
|
|
"enum": [
|
|
"public",
|
|
"network_only",
|
|
"private"
|
|
],
|
|
"default": "network_only"
|
|
}
|
|
},
|
|
"required": [
|
|
"worker_id",
|
|
"worker_name"
|
|
]
|
|
} |