Skip to main content
Condo provides a two-layer communication system: News Items for manager-authored announcements pushed to residents, and a Notification/Message infrastructure for all system-generated alerts (ticket updates, billing receipts, etc.).

News Items

Property managers publish common or emergency announcements to residents of specific buildings or units.

Notification Channels

Push, SMS, email, and Telegram — messages are dispatched across all channels the resident has enabled.

Templates

Reusable templates speed up publishing routine news such as scheduled outages.

Resident Preferences

Residents and organizations can opt out of specific notification types.

News Items

A NewsItem is an announcement created by an organization and delivered to residents via push notification. Key fields:
FieldDescription
titleHeadline of the announcement
bodyFull text of the announcement
typecommon or emergency
sendAtScheduled send time (must be in the future)
validBeforeExpiry date — residents cannot see the item after this date
organizationPublishing organization
Once a news item has been sent, its title, body, and scopes are locked — editing is denied with EDIT_DENIED_ALREADY_SENT. Plan your content before scheduling.

News Types

TypeConstantPush Notification Type
CommonNEWS_TYPE_COMMONNEWS_ITEM_COMMON_MESSAGE_TYPE
EmergencyNEWS_TYPE_EMERGENCYNEWS_ITEM_EMERGENCY_MESSAGE_TYPE
Emergency items are displayed with elevated urgency in the resident app.

News Categories

News items can be tagged with a category to help residents filter their notification feed. Available categories: WATER, HEATING, ELECTRICITY, GAS, ELEVATORS, ELECTRICITY_AND_ELEVATORS, UTILITIES, TELEPHONE, METERS, CLEANING, INTERCOM, SNOW, FIRE_PROTECTION, OTHER

Targeting with Scopes

Every published news item must have at least one NewsItemScope. Scopes define who receives the announcement.
Scope TypeTargets
organizationAll residents across all properties in the organization
propertyAll residents of a specific building
property_unitTypeAll residents of a given unit type within a building
property_unitType_unitNameA single specific unit in a building
The type field on the scope is calculated automatically from the combination of property, unitType, and unitName values provided.
Publishing a news item without any scopes raises a NO_NEWS_ITEM_SCOPES error. At least one scope is required.

Recipient Count Preview

Before publishing, managers can call GetNewsItemsRecipientsCountersService to preview how many residents will receive the announcement, broken down by scope.

News Templates

NewsItemTemplate records provide reusable starting points for common announcements. Each template has:
  • name — Template display name (e.g., “Heating outage due to repairs”)
  • typecommon or emergency
  • category — Suggested category (e.g., HEATING)
  • title — Pre-filled headline
  • body — Pre-filled body text
  • organizationnull for system-wide templates, or scoped to an organization
Managers pick a template from the news creation form; all fields are pre-populated but editable before publishing.

Publishing a News Item

1

Draft the announcement

Fill in title, body, type, and optionally category. The system checks for profanity in both fields and rejects content that fails validation.
2

Set scopes

Add one or more NewsItemScope records to define the target audience (organization, property, or specific units).
3

Schedule or send immediately

Set sendAt to a future date/time, or leave it to send within the default delay window (SENDING_DELAY_SEC). Validity can be capped with validBefore.
4

News item delivered

An async background task dispatches push notifications to all matching residents. Delivery is tracked per resident via NewsItemUserRead.

News Sharing

For multi-organization deployments, NewsItemSharing allows a news item from one organization to be shared to others. GetNewsSharingRecipientsCountersService and GetNewsSharingRecipientsService help identify the audience before sharing.

System Notifications

Beyond news, Condo sends dozens of automated Message records for system events. All messages go through the same transport pipeline.

Notification Transports

TransportConstantNotes
PushPUSH_TRANSPORTFirebase (Android), APNs (iOS), RedStore
SMSSMS_TRANSPORTVia configured SMS adapters
EmailEMAIL_TRANSPORTHTML templated emails
TelegramTELEGRAM_TRANSPORTVia TelegramUserChat bot integration

Message Statuses

StatusMeaning
sendingQueued for delivery
processingBeing processed by transport
sentAccepted by transport provider
deliveredConfirmed delivered to device
readOpened by recipient
errorDelivery failed
blacklistedRecipient opted out
canceledSuppressed before sending
throttledRate-limited
disabledByUserDisabled via user preferences

Push Notification Types

Push notifications support two modes:
  • default — Visible notification with title and body
  • silent_data — Background data payload without visible alert
Device platforms: android, ios, web.

Resident Notification Preferences

Residents can manage their notification subscriptions through:
  • NotificationUserSetting — Per-message-type opt-in/out for a specific user
  • NotificationAnonymousSetting — Preferences for users identified only by phone (before app registration)
  • MessageUserBlackList — Hard block for a specific user and message type
  • MessageOrganizationBlackList — Organization-level suppression of a message type for a user

Batch Messaging

For bulk campaigns, MessageBatch allows sending a single message type to a large list of recipients in one operation. Batch statuses: createdprocessingdone / failed Batch types include CUSTOM_CONTENT_MESSAGE (custom push/email/SMS content) and MOBILE_APP_UPDATE_AVAILABLE_MESSAGE_PUSH.

Remote Clients

Push notifications require a registered RemoteClient — a device token stored for each resident’s device. Tokens are registered via SyncRemoteClientService when the resident app starts, and revoked via DisconnectUserFromRemoteClientService on logout.

Build docs developers (and LLMs) love