Broadcast¶
Broadcast is your facility-wide announcement channel: water-shutoff notices, lift maintenance schedules, AGM invitations, security alerts. One message, every resident.
What residents see¶
Residents have a Broadcasts view in their portal:
- Pinned — important notices that management has flagged to keep at the top.
- Recent — last 30 days of announcements.
- Archive — older posts, searchable.
- Acknowledged — for broadcasts management requested an acknowledgment on (e.g. "AGM minutes — please confirm you've read"), residents see their own ack status.
Broadcasts also push to whichever notification channels each resident has enabled — currently in-app (push) + email + Telegram are the three active customer channels. SMS is supported when the operator has provisioned it (cost-sensitive; not default).
What facility admins do¶
Send a broadcast¶
Broadcast → New Announcement:
- Title — short headline.
- Body — full message. Markdown is supported (bold, links, lists).
- Audience — choose:
- All residents
- Specific units (multi-select)
- Specific roles (e.g. only HOA committee members)
- Specific tags (if you've tagged residents — e.g. "Block A only")
- Channels — which channels to push to: in-app only, or also email / push / Telegram.
- Pin to top — yes/no.
- Require acknowledgment — recipients see a "Got it" button and you see who has/hasn't clicked it.
- Schedule — send now, or pick a future date/time.
- Attachments — up to 3 (PDF, photo).
Audience targeting¶
- All residents for global notices (water, security, AGM).
- By unit for narrower scope (only the residents in Block C, or only the units affected by a specific maintenance issue).
- By role for committee-only notices (HOA members, finance subcommittee).
- By tag for any custom segmentation you've set up — e.g. tag all short-stay residents with "transient" and target them with rules reminders.
Acknowledgment tracking¶
If you require acknowledgment (useful for legal-status notices, AGM minutes, important policy changes):
- The broadcast detail view shows a list: who has acknowledged, who hasn't.
- You can send a follow-up nudge to non-acks via email or Telegram.
- The audit trail records each acknowledgment with timestamp.
Scheduled broadcasts¶
For recurring announcements (monthly newsletter, holiday-hours reminder), draft once and schedule. The system sends at the configured time.
Daily caps + cost guardrails¶
To prevent runaway costs (a misconfigured cron, an angry mgmt user firing 10 broadcasts in 10 minutes), every facility has rate limits:
- Combined daily cap (
broadcast_daily_cap, default 1000) — the total number of recipient-channel impressions the facility can send per UTC day. Beyond this,POST /broadcast/sendreturns 429Daily broadcast cap reachedand the broadcast is queued for the next day. - Per-channel daily caps — additive to the combined cap. Set individual ceilings on the email / Telegram / SMS lanes (NULL = no per-channel ceiling, just the combined cap applies). Most facilities cap SMS specifically because it's the only paid channel; email and Telegram run uncapped per-channel.
Defaults are conservative and lift on operator request. Caps reset at 00:00 UTC daily.
Reports¶
Broadcast → Reports shows: - Open rate (% who viewed) - Acknowledgment rate (% who clicked Got It) - Channel reach (how many got it via each channel) - Top broadcasts by engagement
The /send response also returns a per-recipient delivery breakdown — for each recipient, the status on each channel they were targeted on (sent / delivered / opened / failed + failure reason). Useful for diagnosing why a specific resident missed the notice — the old opaque "first 10 errors" rollup was replaced with this detailed breakdown.
Broadcast vs Messaging vs Community¶
- Broadcast (this module) — one-way, management → residents, facility-wide or segmented.
- Messaging — two-way private conversation between admin and resident.
- Community — resident-to-resident discussion forums.
If a single resident emails you with a question, reply in Messaging. If you need to tell everyone the same thing, use Broadcast.
Tips¶
- Pin sparingly — if everything is pinned, nothing is. Reserve pinning for genuinely time-sensitive items.
- Push and Telegram are the fastest channels — residents read them within minutes. Reserve email-only for less-urgent or longer-form notices.
- Schedule outage notices ahead — residents appreciate a 24-48 hour heads-up on water/lift outages, not the morning-of.
- Acknowledgment requirements work for legal compliance — if your facility's bylaws require a 7-day notice period for AGMs, the ack list is your proof.
- Don't overuse — if every minor thing is broadcast, residents start ignoring them. Aim for 1-3 per week max.
Process flows¶
End-to-end procedures the mgmt team runs day-to-day. Steps are anchored to the actual UI labels.
Send an immediate announcement¶
- Broadcast → + New Announcement.
- Pick a category (Maintenance / Security / Event / Billing / General). Drives the colour-coded badge residents see and the default channels.
- Title + body. Markdown supported. Attach up to 3 images / PDFs (e.g. a maintenance-schedule diagram).
- Pick the audience (default: All residents). See Target a subset below for narrower scopes.
- Pick channels — Push (in-app) / Email / Telegram are the three default-on customer channels. SMS is available only when the operator has provisioned an SMS aggregator + the per-facility credentials. Each channel respects the resident's opt-out preferences AND the per-channel daily cap (see Daily caps + cost guardrails above).
- Send Now — announcement goes out + appears on the announcements feed. Delivery report opens.
Schedule a broadcast for later¶
Use for AGM notices (legal-notice windows), maintenance schedules pinned days in advance, festive announcements timed to a specific hour.
- Broadcast → + New Announcement → fill in as above.
- Tap Schedule instead of Send Now.
- Pick date + time. The system fires send-out at the chosen moment using the configured channels.
- Scheduled drafts live under Scheduled tab; you can edit or cancel up until the fire moment.
- After fire, the announcement moves to Sent with the standard delivery report.
Target a subset (units / role / module audience)¶
Sometimes the broadcast only matters to a slice — e.g. the lift in Block A is down should NOT alarm residents in Block B.
- In the new-announcement form, expand Audience.
- Choose a filter:
- Specific units — type or paste a list (Block A units, units 5-12, etc.).
- By role — Owners only, Tenants only, Staff only.
- By module subscription — residents who actively use a particular module (e.g. only those with active parking permits).
- The audience preview at the bottom shows the recipient count + delivery cost estimate (if SMS is on).
- Send / schedule as normal.
Track delivery + acknowledgments¶
Required when bylaws or policy require proof of receipt.
- Broadcast → Sent tab → pick the announcement.
- Delivery report shows per-channel breakdown (sent / delivered / failed / opened) per resident.
- For announcements with Require acknowledgment ticked at compose time, residents see an acknowledgment button + the report tracks who has confirmed.
- Resend to non-acknowledgers queues a follow-up message to only the residents who haven't yet acknowledged. Useful for AGM 7-day-notice compliance.