Notifications & CRM Specification
Status: Canonical Last Updated: 2026-05-11 Source: Schema tables,Doc Status: Excellent | ✓ All 6 checks passedpackages/backend/convex/domains/notifications.ts,packages/backend/convex/domains/crm.ts
Overview
Notifications are sent via Email, WhatsApp, and in-app alerts. Email and WhatsApp use external integrations (SMTP and WhatsApp API), while in-app notifications are stored in thenotifications table and displayed in the admin dashboard bell.
Related specs
- Tech Stack — External integrations (email, WhatsApp, Zoho)
- Data Model — notifications, notificationLogs, zohoSyncLogs tables
- Booking Flow — Confirmation triggers notification
- Payments — Payment success triggers notifications
- Admin Dashboard — Notification bell in admin dashboard
- Staff POS — ORDER_READY notifications for kitchen
- User Stories — US-S05 covers staff notifications
Notification Types
| Type | Channel | Trigger |
|---|---|---|
| EMAIL_CONFIRMATION | Payment success | |
| EMAIL_CANCELLATION | Reservation cancelled | |
| WHATSAPP_CONFIRMATION | Payment success | |
| EMAIL_ADMIN_NEW_BOOKING | New reservation created |
Notification Flow
- Event occurs (payment, booking, etc.)
- Create notification record in notifications table
- notificationLogs tracks delivery
- Email/WhatsApp sent via integrations
- Status updated: SUCCESS or FAILED
Email Integration
Configuration
Email Templates
- Confirmation: Booking details, QR code, add to calendar
- Cancellation: Refund info, cancellation confirmation
- Admin alert: New booking notification
Template Variables
{{customerName}}{{showTitle}}{{eventDate}}{{eventTime}}{{ticketType}}{{quantity}}{{totalAmount}}{{qrCodeUrl}}
WhatsApp Integration
Configuration
Message Templates
- Booking confirmation with date/time
- Reminder (24h before event)
- Cancellation confirmation
Zoho CRM Integration
Purpose
- Create contact on booking
- Create deal linked to contact
- Create invoice on payment
Configuration
Sync Log
All Zoho operations logged in zohoSyncLogs table:- CONTACT_UPSERT
- DEAL_CREATE
- INVOICE_CREATE
- INVOICE_MARK_PAID
Staff Notifications
In-App
Displayed in dashboard notification bell:- ORDER_READY: Kitchen order complete
- NEW_RESERVATION: New booking
- EXPERIENCE_REMINDER: Tomorrow’s event
- ALERT: Attention needed
Notification Card
- Type icon
- Title
- Message
- Timestamp
- Read/unread state
Admin Dashboard Notifications
Bell Icon
- Shows unread count
- Dropdown list of recent
- Click — mark as read
Types Displayed
- New reservations
- Order ready alerts
- System alerts
- Challenge submissions