Email Notifications & Status Transitions
Email Notifications
Approval Email
Trigger: Admin clicks "Approve" Recipient: Customer's email (from Customer table) Template: `customer-submission-approved.hbs` Content:
- Confirmation message
- Live listing URL: `/listings/[slug]`
- Next steps: Manage listing in customer portal
- Support contact
Rejection Email
Trigger: Admin clicks "Reject" Recipient: Customer's email Template: `customer-submission-rejected.hbs` Content:
- Rejection reason (from dropdown)
- Custom message (admin-provided)
- Resubmit link: `/customer/listings/[id]/edit`
- Support contact
Email Service Configuration
Technology: Nodemailer (SMTP) Environment Variables: ```bash SMTP_HOST=smtp.example.com SMTP_PORT=587 SMTP_USER=notifications@deployment.com SMTP_PASS=<secure-password> FROM_EMAIL=noreply@deployment.com ```
Status Transitions
Submission Flow
``` Customer Submits ↓ pending_review (initial status) ↓ Admin Review ↓ [Approve] [Reject] ↓ ↓ published pending_review (awaiting resubmit) ```
Database Status Values
Listing.status enum:
- `draft`: Customer saved but not submitted
- `pending_review`: Awaiting admin approval
- `published`: Approved and live
- `expired`: Past expiration date
- `archived`: Manually deactivated