Notification Preferences & Quiet Hours

Notification Preferences & Quiet Hours

Each user can customise how and when they receive notifications. Preferences are stored in the NotificationPreference model with per-type settings for every notification category, and quiet hours allow you to pause non-urgent delivery during off-hours.

Accessing Preferences

Navigate to Configuration > Communication > Notifications tab. This page displays a table of all notification types with toggle switches for each delivery channel.

Five Delivery Channels

Channel Field Description
In-App in_app_enabled Real-time delivery via WebSocket to the Notification Centre dropdown and feed
Email email_enabled Email delivery with configurable frequency (instant, hourly, daily, weekly)
SMS sms_enabled Text message delivery via Twilio; restricted to high and urgent priority only for cost control
Push push_enabled Browser push notifications and PWA mobile push via the service worker
Desktop desktop_notifications_enabled Browser Notification API; requires the user to grant permission when first prompted

Email Frequency Options

The email_frequency field controls how email notifications are batched:

  • instant — Each notification triggers an immediate email
  • hourly — Notifications are batched and sent once per hour as a digest
  • daily — A single daily digest email summarising all notifications
  • weekly — A weekly summary email sent at the start of each week

Core Notification Types (10)

These types are always available regardless of which addons are enabled:

  1. project — Project assignments, status changes, deadline warnings, equipment shortages
  2. equipment — Maintenance due, damage reports, conflicts, checkout/check-in events
  3. invoice — Invoice creation, sending, payment received, overdue alerts
  4. quote — Quote sent, approved, rejected, expiring soon
  5. repair — Repair created, assigned, status changes, part ordered, warranty claims
  6. crew — Shift assignments, schedule changes, timesheet approvals, certification expiry
  7. warehouse — Low stock, transfer requests, packing ready, checkout/check-in
  8. message — New messages in threads, channels, and direct messages
  9. system — Platform maintenance, security alerts, account notifications
  10. warning — Critical system warnings requiring immediate attention

Addon-Conditional Notification Types (6)

These types appear in the preferences table only when the corresponding addon module is enabled for your tenant:

Type Required Addon Events
transport Transport & Logistics Delivery scheduled, pickup scheduled, route changed, delivered, vehicle maintenance due
phase_planning Phase Planning Phase plan approved, induction required
load_planning Transport & Logistics Load plan assignments and completion events
rams RAMS & CDM Risk assessment updates, method statement approvals, toolbox talk reminders
site_mapping Site Mapping Map updates, zone changes, site plan approvals
pat_testing PAT Testing Test due, test failed, certificate expiry

Quiet Hours Configuration

Quiet hours suppress non-urgent notifications during specified time windows. Configure the following fields:

  • quiet_hours_enabled — Master toggle to activate or deactivate quiet hours
  • quiet_hours_start — Start time in HH:MM format (e.g. 22:00)
  • quiet_hours_end — End time in HH:MM format (e.g. 08:00)
  • quiet_hours_timezone — User's timezone for accurate calculation; five common options: Europe/London (GMT), America/New_York (EST), America/Los_Angeles (PST), Europe/Berlin (CET), Australia/Sydney (AEST)
  • quiet_hours_allow_urgent — When enabled, urgent-priority notifications bypass quiet hours and are delivered immediately

How Quiet Hours Work

  1. The system evaluates the current time in the user's configured timezone.
  2. If quiet hours wrap around midnight (e.g. 22:00 to 08:00), the system checks whether the current time is after the start time or before the end time.
  3. Non-urgent notifications received during quiet hours are automatically snoozed using the snoozed_until field.
  4. A scheduled cron job processes snoozed notifications when quiet hours end, delivering them through the configured channels.
  5. If quiet_hours_allow_urgent is enabled, notifications with urgent priority bypass the snooze and are delivered immediately regardless of the time.

SMS Cost Control

SMS delivery is restricted to notifications with a priority of high or urgent. Normal-priority notifications are never sent via SMS, even if sms_enabled is toggled on. This prevents excessive Twilio costs while ensuring critical alerts reach users by text.

Push Notification Setup

Push notifications require two conditions to function:

  1. The user must grant browser notification permission when prompted (Notification.requestPermission).
  2. The PWA service worker must be registered and a push subscription endpoint stored via the /api/v1/notifications/push/subscribe endpoint.

Push notifications work both in the browser and on mobile devices when NexusRMS is installed as a Progressive Web App.

Was this article helpful?