# Al Hammadi Hospital Email Templates

Professional, responsive email templates designed with the hospital's brand identity.

## 🎨 Brand Colors

All email templates use a **single, consistent navy color scheme** for simplicity and brand consistency:

| Color | Hex Code | Usage |
|-------|----------|-------|
| **Primary Navy** | `#005696` | Headers, borders, buttons, all elements |
| **Accent Blue** | `#007bbd` | Gradients, secondary elements |
| **Light Background** | `#eef6fb` | All info boxes and highlights |
| **Slate Gray** | `#64748b` | Secondary text |
| **Dark Gray** | `#1e293b` | Primary text |

**❌ No contextual colors** - All boxes, alerts, and status indicators use navy theme only.

## 📧 Available Templates

### 1. Base Template (`base_email_template.html`)
The foundation template with all common email components:
- Responsive header with logo
- Hero/title section
- Main content area
- Call-to-action button
- Information boxes
- Footer with contact info

**Usage:** Extend this template for all custom emails.

---

### Patient-Facing Templates

### 2. Survey Invitation (`survey_invitation.html`)
Patient survey invitation email with:
- Personalized greeting
- Survey benefits section
- Call-to-action button
- Survey information box

**Context Variables:**
```python
{
    'patient_name': 'John Doe',
    'visit_date': 'March 10, 2026',
    'survey_duration': '3-5 minutes',
    'survey_link': 'https://...',
    'deadline': 'March 17, 2026'
}
```

### 3. Appointment Confirmation (`appointment_confirmation.html`)
Appointment confirmation email with:
- Appointment details card
- Important reminders
- Reschedule/cancel CTA
- Contact information

**Context Variables:**
```python
{
    'patient_name': 'John Doe',
    'appointment_id': 'APT-2026-001',
    'appointment_date': 'March 15, 2026',
    'appointment_time': '10:00 AM',
    'department': 'Cardiology',
    'doctor_name': 'Dr. Ahmed Smith',
    'location': 'Al Hammadi Hospital - Main Branch',
    'reschedule_link': 'https://...'
}
```

### 4. Survey Results Notification (`survey_results_notification.html`)
Department survey results notification with:
- Summary statistics cards
- Key highlights
- Action items
- Full report access

**Context Variables:**
```python
{
    'recipient_name': 'Dr. Sarah Ahmed',
    'department_name': 'Emergency Department',
    'overall_score': '4.5/5',
    'total_responses': '156',
    'response_rate': '78%',
    'survey_period': 'February 2026',
    'results_link': 'https://...',
    'deadline': 'March 31, 2026'
}
```

---

### Staff/Admin Templates

### 5. Explanation Request (`emails/explanation_request.html`)
Complaint explanation request to staff with:
- Complaint details card
- Custom message from PX team
- SLA deadline information
- Submit explanation CTA

**Context Variables:**
```python
{
    'staff_name': 'Dr. Ahmed Mohammed',
    'complaint_id': 'CMP-2026-00123',
    'complaint_title': 'Long wait time in OPD',
    'patient_name': 'Mohammed Ali',
    'hospital_name': 'Al Hammadi Hospital',
    'department_name': 'OPD - Internal Medicine',
    'category': 'Wait Time',
    'status': 'Under Review',
    'created_date': 'March 10, 2026',
    'description': 'Patient waited for 3 hours...',
    'custom_message': 'Please provide detailed explanation',
    'explanation_url': 'https://...'
}
```

### 6. New Complaint Admin Notification (`emails/new_complaint_admin_notification.html`)
Admin notification for new complaints with:
- Priority/severity badges with color coding
- Complaint details grid
- Patient information section
- Hospital/department information
- Description preview
- Action required notice
- View complaint CTA

**Context Variables:**
```python
{
    'admin_name': 'Dr. Sarah Ahmed',
    'priority_badge': '🚨 URGENT',
    'is_high_priority': True,
    'reference_number': 'CMP-2026-00123',
    'complaint_title': 'Long wait time in OPD',
    'priority': 'high',  # low, medium, high, critical
    'severity': 'high',  # low, medium, high, critical
    'status': 'New',
    'patient_name': 'Mohammed Ali',
    'mrn': 'MRN123456',
    'contact_phone': '+966501234567',
    'contact_email': 'patient@email.com',
    'hospital_name': 'Al Hammadi Hospital',
    'department_name': 'OPD - Internal Medicine',
    'description': 'Patient waited for 3 hours...',
    'complaint_url': 'https://...',
    'notification_type': 'Working Hours',
    'current_time': '2026-03-12 10:30:00'
}
```

**Integration:**
- **File:** `apps/complaints/tasks.py`
- **Function:** `notify_admins_new_complaint()`
- **Line:** 2436

### 7. User Invitation (`accounts/onboarding/invitation_email.html`)
New user onboarding invitation with:
- Welcome message
- Onboarding process overview
- Account setup CTA
- Expiry notice

**Context Variables:**
```python
{
    'user': user_instance,
    'activation_url': 'https://...',
    'expires_at': datetime_object
}
```

### 7. Invitation Reminder (`accounts/onboarding/reminder_email.html`)
Onboarding reminder for pending users with:
- Friendly reminder message
- Benefits highlights
- Setup CTA
- Urgency notice

**Context Variables:**
```python
{
    'user': user_instance,
    'activation_url': 'https://...',
    'expires_at': datetime_object
}
```

### 8. Onboarding Completion (`accounts/onboarding/completion_email.html`)
Admin notification for completed onboarding with:
- User information card
- Completion timestamp
- View details CTA

**Context Variables:**
```python
{
    'user': user_instance,
    'user_detail_url': 'https://...'
}
```

### 9. Password Reset (`accounts/email/password_reset_email.html`)
Password reset request with:
- Secure reset link
- Expiry warning
- Support contact info

**Context Variables:**
```python
{
    'user': user_instance,
    'protocol': 'https',
    'domain': 'px360.alhammadihospital.com',
    'uid': uidb64,
    'token': token
}
```

## 📱 Features

### Responsive Design
- Mobile-optimized layout
- Adapts to all screen sizes (320px - 1920px)
- Touch-friendly buttons and links

### Email Client Compatibility
- ✅ Gmail (web, iOS, Android)
- ✅ Outlook (2016+, Office 365)
- ✅ Apple Mail
- ✅ Yahoo Mail
- ✅ AOL Mail

### Accessibility
- Semantic HTML structure
- Alt text for images
- High contrast colors
- Readable font sizes (minimum 14px)

### Dark Mode Support
- Automatic adaptation to dark mode preferences
- Maintains brand integrity in dark mode

## 🛠️ Usage

### Django Template Rendering

```python
from django.core.mail import EmailMultiAlternatives
from django.template.loader import render_to_string

def send_survey_invitation(patient_email, context):
    # Render HTML template
    html_content = render_to_string('emails/survey_invitation.html', context)
    
    # Create plain text alternative
    text_content = f"""
    Dear {context['patient_name']},
    
    We value your feedback! Please take {context['survey_duration']} to complete our survey.
    
    Survey Link: {context['survey_link']}
    
    Thank you,
    Al Hammadi Hospital
    """
    
    # Send email
    msg = EmailMultiAlternatives(
        subject='Patient Survey Invitation - Al Hammadi Hospital',
        body=text_content,
        from_email='noreply@alhammadihospital.com',
        to=[patient_email],
    )
    msg.attach_alternative(html_content, 'text/html')
    msg.send()
```

### Customizing Templates

1. **Extend the base template:**
```django
{% extends 'emails/base_email_template.html' %}

{% block title %}Your Custom Title{% endblock %}
{% block hero_title %}Your Hero Title{% endblock %}
{% block content %}
    <!-- Your custom content -->
{% endblock %}
```

2. **Override specific blocks:**
```django
{% block cta_text %}Custom Button Text{% endblock %}
{% block cta_url %}https://your-link.com{% endblock %}
{% block info_title %}Custom Info Title{% endblock %}
```

3. **Add custom styles:**
```django
{% block extra_styles %}
<style>
    .custom-class { color: #005696; }
</style>
{% endblock %}
```

## 📋 Best Practices

### Content Guidelines
- Keep subject lines under 50 characters
- Use preheader text effectively (35-50 characters)
- Include clear, single call-to-action
- Keep email width under 600px

### Image Guidelines
- Use PNG for logos (transparent background)
- Optimize images for web (under 100KB)
- Always include alt text
- Host images on reliable CDN

### Testing
Before sending:
1. Test on multiple email clients
2. Check mobile responsiveness
3. Verify all links work
4. Test with dark mode enabled
5. Check spam score

### Recommended Tools
- **Testing:** Litmus, Email on Acid
- **Images:** TinyPNG, Squoosh
- **Spam Check:** Mail-Tester, GlockApps

## 📁 File Structure

```
templates/emails/
├── base_email_template.html              # Base template
├── survey_invitation.html                # Survey invitation
├── appointment_confirmation.html         # Appointment confirmation
├── survey_results_notification.html      # Results notification
├── explanation_request.html              # Complaint explanation request
├── new_complaint_admin_notification.html # Admin complaint notification ⭐ NEW
├── email_templates_preview.html          # Visual preview page
└── README_EMAIL_TEMPLATES.md            # This file

templates/accounts/
├── onboarding/
│   ├── invitation_email.html        # User invitation
│   ├── reminder_email.html          # Invitation reminder
│   └── completion_email.html        # Completion notification
└── email/
    └── password_reset_email.html     # Password reset
```

## 🔧 Logo Setup

Update the logo URL in your Django settings or pass it in context:

```python
# settings.py
EMAIL_LOGO_URL = 'https://your-cdn.com/images/HH_P_H_Logo(hospital)_.png'

# Or in view context
context = {
    'logo_url': request.build_absolute_uri(
        static('images/HH_P_H_Logo(hospital)_.png')
    )
}
```

## 📞 Support

For questions or custom template requests, contact:
- **Email:** px-team@alhammadihospital.com
- **Department:** Patient Experience Management

---

**Version:** 1.0  
**Last Updated:** March 12, 2026  
**Maintained by:** PX360 Development Team
