ZapaziMe Notification System Inventory

📄 General
← Back to Documentation
# ZapaziMe Notification System Inventory ## Overview This document provides a comprehensive inventory of all notifications sent by the ZapaziMe system, categorized by type, channel, and trigger. ## Notification Categories ### 1. Booking Notifications | Notification Type | Trigger | Channels | Template | Subject | Content Summary | |-------------------|---------|----------|----------|---------|-----------------| | **Booking Confirmation** | New booking created | Email, SMS | `booking-confirmation.blade.php` | `Booking Confirmation #:number` | Full booking details, venue info, payment status | | **Booking Reminder** | 24h before booking | Email, SMS | `booking-reminder.blade.php` | `Booking Reminder: :venue tomorrow` | Reminder with time, location, check-in info | | **Booking Cancellation** | Booking cancelled | Email, SMS | `booking-cancellation.blade.php` | `Booking Cancelled: #:number` | Cancellation confirmation, refund info | | **Booking Update** | Booking modified | Email, SMS | `booking-update.blade.php` | `Booking Update: :type` | Details of changes made to booking | | **Urgent Booking** | Emergency/urgent issues | Email, SMS | Dynamic | `Urgent: Booking #:number` | Critical updates, venue closures, etc. | ### 2. Payment Notifications | Notification Type | Trigger | Channels | Template | Subject | Content Summary | |-------------------|---------|----------|----------|---------|-----------------| | **Payment Confirmation** | Payment successful | Email | `reservation-payment-confirmation.blade.php` | `Payment Completed Successfully` | Payment receipt, booking confirmation | | **Payment Request** | Payment pending | Email | `reservation-payment-request.blade.php` | `Payment Required for Booking` | Payment link, amount due, deadline | | **Payment Failed** | Payment declined | Email | Dynamic | `Payment Failed` | Failure reason, retry instructions | ### 3. Reservation Notifications | Notification Type | Trigger | Channels | Template | Subject | Content Summary | |-------------------|---------|----------|----------|---------|-----------------| | **Reservation Confirmed** | Reservation approved | Email | `reservation-confirmed.blade.php` | `Reservation Confirmed!` | Confirmation details, next steps | | **Reservation Cancelled** | Reservation cancelled | Email | `reservation-canceled.blade.php` | `Reservation Cancelled` | Cancellation reason, refund policy | ### 4. Account Notifications | Notification Type | Trigger | Channels | Template | Subject | Content Summary | |-------------------|---------|----------|----------|---------|-----------------| | **Welcome Email** | New user registration | Email | `welcome.blade.php` | `Welcome to ZapaziMe!` | Account setup, getting started guide | | **Account Update** | Profile changes | Email | Dynamic | `Account Updated` | Summary of changes made | | **Password Reset** | Password reset request | Email | Dynamic | `Reset Your Password` | Reset link, security instructions | | **Email Verification** | New registration | Email | Dynamic | `Verify Your Email` | Verification link, account activation | ### 5. Admin Notifications | Notification Type | Trigger | Channels | Template | Subject | Content Summary | |-------------------|---------|----------|----------|---------|-----------------| | **New Reservation** | New booking created | Email | `new-reservation-notice-to-admin.blade.php` | `New Reservation Received` | Booking details, customer info | | **System Alerts** | System issues | Email, SMS | Dynamic | `System Alert` | Error reports, maintenance notices | | **Revenue Reports** | Daily/weekly | Email | Dynamic | `Revenue Report` | Financial summaries, analytics | ### 6. Marketing Notifications | Notification Type | Trigger | Channels | Template | Subject | Content Summary | |-------------------|---------|----------|----------|---------|-----------------| | **Promotional Offers** | Marketing campaigns | Email, SMS | Dynamic | `Special Offer - :venue` | Discounts, special deals | | **New Venue Announcements** | New venue added | Email, SMS | Dynamic | `New Venue: :name` | Venue details, opening offers | | **Seasonal Campaigns** | Holiday periods | Email, SMS | Dynamic | `Summer Specials` | Seasonal promotions, packages | ## Notification Channels ### Email Notifications - **Provider**: Laravel Mail (SMTP) - **Templates**: Blade templates in `resources/views/emails/` - **Features**: HTML formatting, attachments, dynamic content - **Delivery**: Queue-based for reliability ### SMS Notifications - **Provider**: Configurable (Twilio, Nexmo, etc.) - **Features**: Text-only, character limits, international - **Current Status**: Mock implementation (logs only) ### Push Notifications - **Provider**: Configurable (FCM, OneSignal, etc.) - **Features**: Real-time, rich media, targeting - **Current Status**: Mock implementation (logs only) ## User Preferences ### Notification Types - **Bookings**: Confirmations, reminders, cancellations, updates - **Updates**: Account changes, system announcements - **Marketing**: Promotional content, new venue announcements - **Reminders**: Booking reminders, check-in notifications ### Channel Preferences - **Email**: All notification types supported - **SMS**: Bookings, urgent, reminders, marketing - **Push**: Bookings, updates, marketing ### Quiet Hours - **Configurable**: User-defined time ranges - **Exceptions**: Urgent notifications bypass quiet hours - **Timezone Aware**: Respects user's local timezone ## Notification Triggers ### Automated Triggers 1. **Booking Events**: Created, confirmed, cancelled, modified 2. **Payment Events**: Success, failure, pending 3. **Time-based**: Reminders (24h before), daily reports 4. **System Events**: Errors, maintenance, updates ### Manual Triggers 1. **Admin Actions**: Manual notifications to users 2. **Marketing Campaigns**: Bulk promotional messages 3. **Customer Support**: Personalized responses ## Template System ### Email Templates - **Location**: `resources/views/emails/` - **Format**: Blade templates with HTML/CSS - **Dynamic Data**: Booking info, user details, venue data - **Localization**: Multi-language support via `__()` function ### SMS Templates - **Format**: Plain text with character limits - **Dynamic Data**: Limited to essential information - **Localization**: Multi-language support ### Push Templates - **Format**: JSON payload with title, body, data - **Rich Media**: Images, actions, deep links - **Localization**: Multi-language support ## Delivery System ### Queue Management - **Driver**: Database/Redis queues - **Retry Logic**: Exponential backoff for failures - **Monitoring**: Failed job tracking and alerts ### Rate Limiting - **Per User**: Prevent notification spam - **Per Channel**: Respect provider limits - **Global**: System-wide throughput limits ### Analytics - **Delivery Status**: Sent, delivered, failed - **Open Rates**: Email opens, link clicks - **User Engagement**: Response rates, conversions ## Security & Compliance ### Data Protection - **Personal Data**: GDPR compliance - **Consent Management**: Explicit opt-in required - **Data Minimization**: Only necessary data included ### Privacy Controls - **Unsubscribe Options**: Easy opt-out mechanism - **Preference Management**: User-controlled settings - **Data Retention**: Automatic cleanup policies ## Configuration ### Environment Variables ```env MAIL_MAILER=smtp MAIL_HOST=smtp.gmail.com MAIL_PORT=587 MAIL_USERNAME=your-email@gmail.com MAIL_PASSWORD=your-app-password TWILIO_SID=your-twilio-sid TWILIO_TOKEN=your-twilio-token TWILIO_FROM=your-twilio-number FCM_SERVER_KEY=your-fcm-key FCM_SENDER_ID=your-sender-id ``` ### Service Configuration - **NotificationService**: Core notification logic - **BookingNotificationService**: Booking-specific notifications - **NotificationTestService**: Testing and debugging ## Future Enhancements ### Planned Features 1. **In-App Notifications**: Real-time web notifications 2. **WhatsApp Integration**: Business messaging API 3. **Advanced Analytics**: Detailed engagement metrics 4. **A/B Testing**: Template optimization 5. **Personalization**: AI-driven content customization ### Scalability Improvements 1. **Microservices**: Dedicated notification service 2. **Event Streaming**: Real-time processing 3. **Multi-Region**: Global delivery optimization 4. **Load Balancing**: High availability setup ## Troubleshooting ### Common Issues 1. **Email Delivery**: SPF/DKIM records, spam filters 2. **SMS Delivery**: Phone number formatting, carrier issues 3. **Push Delivery**: Token management, app permissions 4. **Queue Failures**: Memory limits, timeout issues ### Debugging Tools 1. **Log Analysis**: Detailed delivery logs 2. **Test Service**: NotificationTestService for debugging 3. **Monitoring**: Real-time status dashboards 4. **Analytics**: Performance metrics and reports --- **Last Updated**: January 2026 **Version**: 1.0 **Maintained By**: Development Team