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

138 lines
3.0 KiB
JSON

{
"name": "Announcement",
"type": "object",
"properties": {
"team_id": {
"type": "string",
"description": "ID of the team that created this announcement"
},
"vendor_id": {
"type": "string",
"description": "Vendor/owner ID"
},
"title": {
"type": "string",
"description": "Announcement headline"
},
"body": {
"type": "string",
"description": "Full announcement content/message"
},
"flyer_url": {
"type": "string",
"description": "URL to uploaded flyer image"
},
"audience": {
"type": "array",
"description": "Who can see this announcement",
"items": {
"type": "string",
"enum": [
"all",
"vendor",
"client",
"workforce",
"procurement",
"operator",
"sector",
"admin"
]
}
},
"specific_recipients": {
"type": "array",
"description": "Specific individual staff members to send this announcement to",
"items": {
"type": "object",
"properties": {
"staff_id": {
"type": "string"
},
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"phone": {
"type": "string"
},
"position": {
"type": "string"
}
}
}
},
"status": {
"type": "string",
"enum": [
"draft",
"scheduled",
"active",
"paused",
"expired"
],
"default": "draft",
"description": "Current status of the announcement"
},
"priority": {
"type": "string",
"enum": [
"low",
"normal",
"high",
"urgent"
],
"default": "normal",
"description": "Announcement priority/urgency level"
},
"publish_date": {
"type": "string",
"format": "date-time",
"description": "Scheduled publish date and time"
},
"expire_date": {
"type": "string",
"format": "date-time",
"description": "When the announcement stops being visible"
},
"send_email": {
"type": "boolean",
"default": false,
"description": "Whether to also send this as an email to audience"
},
"send_push": {
"type": "boolean",
"default": false,
"description": "Whether to send push notification"
},
"pin_to_top": {
"type": "boolean",
"default": false,
"description": "Pin this announcement to top of feed"
},
"view_count": {
"type": "number",
"default": 0,
"description": "Number of views"
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tags for categorization"
},
"created_by_name": {
"type": "string",
"description": "Name of user who created the announcement"
}
},
"required": [
"team_id",
"title",
"body",
"audience",
"status"
]
}