# Notification Inventory
This document provides a comprehensive inventory of all notifications in the ZapaziMe system, including recipients, trigger conditions, and channels used.
## Summary
- **Total Notifications**: 57
- **Channels Used**: Mail, Database, GatewayAPI (SMS), Push
- **Recipient Types**: User/Customer, Business Owner, Administrator
---
## Customer/User Notifications
| Notification Name | Recipient | Trigger Condition | Channels |
|------------------|-----------|-------------------|----------|
| **WelcomeNotification** | New User | After user registration | mail, database, gatewayapi, push |
| **EmailVerificationNotification** | User | During 2FA login or email verification | mail, database, gatewayapi |
| **PasswordResetNotification** | User | When password reset is requested | mail, database, gatewayapi, push |
| **AccountDeleteNotification** | User | When account deletion is processed | mail, database, gatewayapi, push |
| **AccountUpdatedNotification** | User | When account details are updated | mail, database, gatewayapi, push |
| **AccountUpdateNotification** | User | When account information changes | mail, database, gatewayapi, push |
| **BookingConfirmedNotification** | User | When booking is confirmed | mail, database, gatewayapi, push |
| **BookingPendingNotification** | User | When booking is pending confirmation | mail, database, gatewayapi, push |
| **BookingCheckInNotification** | User | When customer checks in | mail, database, gatewayapi, push |
| **BookingCheckOutNotification** | User | When customer checks out | mail, database, gatewayapi, push |
| **BookingCancelledNotification** | User | When booking is cancelled | mail, database, gatewayapi, push |
| **BookingCancellationNotification** | User | When booking cancellation is processed | mail, database, gatewayapi, push |
| **BookingReminderNotification** | User | Before booking date/time | mail, database, gatewayapi, push |
| **BookingUpdateNotification** | User | When booking is updated | mail, database, gatewayapi, push |
| **BookingUpdatedNotification** | User | When booking details change | mail, database, gatewayapi, push |
| **BookingStatusChanged** | User | When booking status changes | mail, database, gatewayapi, push |
| **PaymentConfirmationNotification** | User | After successful payment | mail, database, gatewayapi, push |
| **PaymentSuccessNotification** | User | After payment is successful | mail, database, gatewayapi, push |
| **PaymentFailedNotification** | User | When payment fails | mail, database, gatewayapi, push |
| **PaymentRequestNotification** | User | When payment is requested | mail, database, gatewayapi, push |
| **RefundProcessedUserNotification** | User | When refund is processed | mail, database, gatewayapi, push |
| **BonusPointsEarnedNotification** | User | When bonus points are earned | mail, database, gatewayapi, push |
| **ReviewRequestUserNotification** | User | After booking completion (review request) | mail, database, gatewayapi, push |
| **SupportTicketUpdateUserNotification** | User | When support ticket is updated | mail, database, gatewayapi, push |
---
## Business Owner Notifications
| Notification Name | Recipient | Trigger Condition | Channels |
|------------------|-----------|-------------------|----------|
| **BusinessMonthlyDigestNotification** | Business Owner | Monthly digest of business performance | mail, database, gatewayapi, push |
| **BusinessPaymentOverdueNotification** | Business Owner | When business payment is overdue | mail, database, gatewayapi, push |
| **BusinessReactivatedNotification** | Business Owner | When business account is reactivated | mail, database, gatewayapi, push |
| **BusinessSuspendedNotification** | Business Owner | When business account is suspended | mail, database, gatewayapi, push |
| **NewReservationForOwnerNotification** | Business Owner | When new reservation is made | mail, database, gatewayapi, push |
| **NewReservationNoticeToAdminNotification** | Business Owner | Notice of new reservation to admin | mail, database, gatewayapi, push |
| **NewReviewReceivedBusinessNotification** | Business Owner | When new review is received | mail, database, gatewayapi, push |
| **RefundProcessedBusinessNotification** | Business Owner | When refund is processed | mail, database, gatewayapi, push |
| **SupportTicketUpdateBusinessNotification** | Business Owner | When support ticket is updated | mail, database, gatewayapi, push |
| **DisputeChargebackBusinessNotification** | Business Owner | When dispute/chargeback is opened | mail, database, gatewayapi, push |
| **LowAvailabilityWarningNotification** | Business Owner | When availability is low | mail, database, gatewayapi, push |
| **RevenueReportNotification** | Business Owner | Revenue report (daily/weekly/monthly) | mail, database, gatewayapi, push |
| **NoShowDetectedBusinessNotification** | Business Owner | When customer no-show is detected | mail, database, gatewayapi |
| **VenueListingExpiresNotification** | Business Owner | When venue listing is expiring | mail, database, gatewayapi, push |
| **VenueVerificationStatusChanged** | Business Owner | When venue verification status changes | mail, database, gatewayapi, push |
| **MonthlyCommissionStatementNotification** | Business Owner | Monthly commission statement | mail, database, gatewayapi, push |
---
## Administrator Notifications
| Notification Name | Recipient | Trigger Condition | Channels |
|------------------|-----------|-------------------|----------|
| **NewReservationAdminNotification** | Admin | When new reservation is created | mail, database, gatewayapi, push |
| **DisputeChargebackAdminNotification** | Admin | When dispute/chargeback is opened | mail, database, gatewayapi, push |
| **NoShowDetectedAdminNotification** | Admin | When customer no-show is detected | mail, database, gatewayapi, push |
| **SystemAlertNotification** | Admin | System alerts and errors | mail, database, gatewayapi, push |
| **DataChangeNotification** | Admin | When data changes are detected | mail, database, gatewayapi, push |
| **DocumentExpiringNotification** | Admin | When verification documents expire | mail, database, gatewayapi, push |
---
## Marketing & Promotional Notifications
| Notification Name | Recipient | Trigger Condition | Channels |
|------------------|-----------|-------------------|----------|
| **PromotionalOfferNotification** | User | When promotional offers are available | mail, database, gatewayapi, push |
| **SeasonalCampaignNotification** | User | During seasonal marketing campaigns | mail, database, gatewayapi, push |
| **NewVenueAnnouncementNotification** | User | When new venues are listed | mail, database, gatewayapi, push |
| **NewVenueListedNotification** | User | When a new venue is added | mail, database, gatewayapi, push |
---
## Urgent Notifications
| Notification Name | Recipient | Trigger Condition | Channels |
|------------------|-----------|-------------------|----------|
| **UrgentBookingNotification** | User/Business | Urgent booking alerts (weather, closure, etc.) | mail, database, gatewayapi, push |
| **PlatformFeeChangeNotification** | Business | When platform fee structure changes | mail, database, gatewayapi, push |
| **GdprDataExportReadyNotification** | User | When GDPR data export is ready | mail, database, gatewayapi, push |
| **InvoiceOverdueNotification** | Business | When invoice is overdue | mail, database, gatewayapi, push |
---
## Legacy/Deprecated Notifications
| Notification Name | Recipient | Trigger Condition | Channels | Notes |
|------------------|-----------|-------------------|----------|-------|
| **ReservationConfirmedNotification** | User | Legacy reservation confirmation | mail, database, gatewayapi | Use BookingConfirmedNotification instead |
| **ReservationCanceledNotification** | User | Legacy reservation cancellation | mail, database, gatewayapi | Use BookingCancelledNotification instead |
| **ReservationPaymentNotification** | User | Legacy payment notification | mail, database, gatewayapi | Use PaymentConfirmationNotification instead |
| **ReservationPaymentRequestNotification** | User | Legacy payment request | mail, database, gatewayapi | Use PaymentRequestNotification instead |
| **TestNotification** | Developer | Testing notification system | mail, database, gatewayapi, push | For testing purposes only |
| **TemplateNotification** | User | Generic template notification | mail, database, gatewayapi, push | Custom template-based |
---
## Notification Channels
All notifications support the following channels (configured via `NotificationSettingsHelper`):
- **Mail**: Email notifications
- **Database**: Stored in database for in-app display
- **GatewayAPI**: SMS notifications via GatewayAPI
- **Push**: Push notifications for mobile/web apps
---
## Channel Configuration
Notifications use `NotificationSettingsHelper::getAvailableChannels($notifiable, ['mail', 'database', 'gatewayapi', 'push'])` to dynamically determine which channels to use based on:
- Global notification settings
- User notification preferences
- Notification type-specific settings
- Channel availability
---
## Localization
All notifications support:
- Bulgarian (bg)
- English (en)
- Additional languages available in `resources/lang/`
---
## Trigger Conditions Summary
### Booking Lifecycle
1. **Created**: BookingConfirmedNotification, BookingPendingNotification, NewReservationAdminNotification, NewReservationForOwnerNotification
2. **Updated**: BookingUpdateNotification, BookingUpdatedNotification, BookingStatusChanged
3. **Payment**: PaymentRequestNotification, PaymentConfirmationNotification, PaymentSuccessNotification, PaymentFailedNotification
4. **Check-in**: BookingCheckInNotification
5. **Check-out**: BookingCheckOutNotification
6. **Cancellation**: BookingCancelledNotification, BookingCancellationNotification
7. **No-show**: NoShowDetectedBusinessNotification, NoShowDetectedAdminNotification
8. **Reminder**: BookingReminderNotification
9. **Review Request**: ReviewRequestUserNotification (after completion)
### Account Management
- **Registration**: WelcomeNotification
- **Verification**: EmailVerificationNotification
- **Password Reset**: PasswordResetNotification
- **Account Changes**: AccountDeleteNotification, AccountUpdatedNotification, AccountUpdateNotification
### Business Operations
- **Monthly Digest**: BusinessMonthlyDigestNotification
- **Payments**: BusinessPaymentOverdueNotification, MonthlyCommissionStatementNotification, InvoiceOverdueNotification
- **Account Status**: BusinessReactivatedNotification, BusinessSuspendedNotification
- **Reviews**: NewReviewReceivedBusinessNotification
- **Refunds**: RefundProcessedBusinessNotification
- **Support**: SupportTicketUpdateBusinessNotification
- **Disputes**: DisputeChargebackBusinessNotification
### Administrative
- **New Reservations**: NewReservationAdminNotification, NewReservationNoticeToAdminNotification
- **Disputes**: DisputeChargebackAdminNotification
- **No-shows**: NoShowDetectedAdminNotification
- **System**: SystemAlertNotification, DataChangeNotification, DocumentExpiringNotification
### Marketing
- **Promotions**: PromotionalOfferNotification, SeasonalCampaignNotification
- **New Venues**: NewVenueAnnouncementNotification, NewVenueListedNotification
### Urgent
- **Booking Alerts**: UrgentBookingNotification
- **Platform Changes**: PlatformFeeChangeNotification
- **GDPR**: GdprDataExportReadyNotification
- **Low Availability**: LowAvailabilityWarningNotification
---
## File Locations
All notification classes are located in: `app/Notifications/`
Email templates are located in: `resources/views/emails/`
Localization files are located in: `resources/lang/`
---
## Last Updated
August 11, 2026