Files
krowworkforce_controltower/base44/entities/Conversation.jsonc
2026-08-17 19:45:29 +05:30

97 lines
2.1 KiB
JSON

{
"name": "Conversation",
"type": "object",
"properties": {
"participants": {
"type": "array",
"description": "Array of participant IDs/emails",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"role": {
"type": "string",
"enum": [
"client",
"vendor",
"staff",
"admin"
]
}
}
}
},
"conversation_type": {
"type": "string",
"enum": [
"client-vendor",
"staff-client",
"staff-admin",
"vendor-admin",
"client-admin",
"group-staff",
"group-event-staff"
],
"description": "Type of conversation"
},
"is_group": {
"type": "boolean",
"default": false,
"description": "Whether this is a group conversation"
},
"group_name": {
"type": "string",
"description": "Name of the group (e.g., 'All Active Staff', 'Event #123 Team')"
},
"related_to": {
"type": "string",
"description": "ID of related entity (event_id, order_id, etc.)"
},
"related_type": {
"type": "string",
"enum": [
"event",
"staff",
"business",
"general"
],
"description": "Type of related entity"
},
"subject": {
"type": "string",
"description": "Conversation subject/title"
},
"last_message": {
"type": "string",
"description": "Preview of last message"
},
"last_message_at": {
"type": "string",
"format": "date-time",
"description": "Timestamp of last message"
},
"unread_count": {
"type": "number",
"default": 0,
"description": "Number of unread messages"
},
"status": {
"type": "string",
"enum": [
"active",
"archived",
"closed"
],
"default": "active"
}
},
"required": [
"participants",
"conversation_type"
]
}