{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "#/components/schemas/CallbackSchedule", "title": "CallbackSchedule", "type": "object", "properties": { "id": { "type": "string", "format": "uuid", "description": "Unique identifier for the scheduled callback.", "example": "123e4567-e89b-12d3-a456-426614174000" }, "customerName": { "type": "string", "description": "Name of the customer requesting the callback.", "example": "John Doe" }, "callbackNumber": { "type": "string", "description": "Phone number provided for the callback.", "example": "+1234567890" }, "timezone": { "type": "string", "description": "Timezone in which the callback is scheduled.", "example": "America/New_York" }, "scheduleDate": { "type": "string", "format": "date", "description": "Date for the callback in ISO format (YYYY-MM-DD).", "example": "2025-04-08" }, "startTime": { "type": "string", "format": "time", "description": "Scheduled start time in ISO 8601 format (HH:mm:ss), local to the specified timezone.", "example": "14:30:00" }, "endTime": { "type": "string", "format": "time", "description": "Scheduled end time in ISO 8601 format (HH:mm:ss), local to the specified timezone.", "example": "15:30:00" }, "queueId": { "type": "string", "description": "Identifier for the queue to route the callback request.", "example": "123e4567-e89b-12d3-a456-426614174000" }, "callbackReason": { "type": "string", "description": "Reason provided for the callback request.", "example": "Customer requested a follow-up." }, "sourceInteraction": { "type": "string", "format": "uuid", "description": "UUID of the source interaction.", "example": "123e4567-e89b-12d3-a456-426614174000" }, "callbackOrigin": { "type": "string", "description": "Origin of the callback request, such as 'livecall' or 'api'.", "example": "api" }, "createdTimestamp": { "type": "integer", "format": "int64", "description": "Unix timestamp in milliseconds when the callback was created.", "example": 1672531199000 }, "lastUpdatedTimestamp": { "type": "integer", "format": "int64", "description": "Unix timestamp in milliseconds when the callback was last updated.", "example": 1672531199000 }, "assigneeAgent": { "type": "string", "format": "uuid", "description": "The unique identifier of the agent assigned to handle the callback.", "example": "123e4567-e89b-12d3-a456-426614174000" }, "assignedTime": { "type": "integer", "format": "int64", "description": "Unix timestamp in milliseconds when the assigneeAgent was last updated.", "example": 1672531199000 }, "orgId": { "type": "string", "format": "uuid", "description": "Unique identifier for the organization.", "example": "123e4567-e89b-12d3-a456-426614174000" } }, "required": [ "id", "customerName", "callbackNumber", "timezone", "scheduleDate", "startTime", "endTime", "queueId", "callbackOrigin", "createdTimestamp", "lastUpdatedTimestamp", "orgId" ] }