101 lines
2.3 KiB
JSON
101 lines
2.3 KiB
JSON
{
|
|
"name": "ShiftProposal",
|
|
"type": "object",
|
|
"properties": {
|
|
"event_id": {
|
|
"type": "string",
|
|
"description": "Event/shift being proposed"
|
|
},
|
|
"event_name": {
|
|
"type": "string",
|
|
"description": "Event name"
|
|
},
|
|
"staff_id": {
|
|
"type": "string",
|
|
"description": "Worker being proposed to"
|
|
},
|
|
"staff_name": {
|
|
"type": "string",
|
|
"description": "Worker name"
|
|
},
|
|
"vendor_id": {
|
|
"type": "string",
|
|
"description": "Vendor making the proposal"
|
|
},
|
|
"proposal_status": {
|
|
"type": "string",
|
|
"enum": [
|
|
"PENDING_WORKER_CONFIRMATION",
|
|
"ACCEPTED",
|
|
"DECLINED",
|
|
"EXPIRED",
|
|
"CANCELLED"
|
|
],
|
|
"default": "PENDING_WORKER_CONFIRMATION",
|
|
"description": "Status of the proposal"
|
|
},
|
|
"shift_date": {
|
|
"type": "string",
|
|
"format": "date",
|
|
"description": "Date of shift"
|
|
},
|
|
"start_time": {
|
|
"type": "string",
|
|
"description": "Shift start time"
|
|
},
|
|
"end_time": {
|
|
"type": "string",
|
|
"description": "Shift end time"
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"description": "Shift location"
|
|
},
|
|
"role": {
|
|
"type": "string",
|
|
"description": "Role/position"
|
|
},
|
|
"pay_rate": {
|
|
"type": "number",
|
|
"description": "Pay rate for shift"
|
|
},
|
|
"total_pay": {
|
|
"type": "number",
|
|
"description": "Total estimated pay"
|
|
},
|
|
"response_deadline": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"description": "Deadline for worker response"
|
|
},
|
|
"proposed_at": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"description": "When proposal was sent"
|
|
},
|
|
"responded_at": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"description": "When worker responded"
|
|
},
|
|
"decline_reason": {
|
|
"type": "string",
|
|
"description": "Reason for declining"
|
|
},
|
|
"was_marked_unavailable": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"description": "Was worker marked unavailable when proposed"
|
|
},
|
|
"notification_sent": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"description": "Whether notification was sent"
|
|
}
|
|
},
|
|
"required": [
|
|
"event_id",
|
|
"staff_id",
|
|
"shift_date"
|
|
]
|
|
} |