# Email templates

49 templates, from `pelty_notifications::template::TEMPLATES`. Defaults (subject and body) come from the locale files (`email.<name>.subject`, `email.<name>.body`); admins override them per locale in Admin → System & settings → Email templates, and deleting an override restores the default. Variables are written `{{name}}` in subject and body.

| Template | Name | Default subject (en) | Variables |
|---|---|---|---|
| `admin_account_locked` | Admin account locked | Account locked: {{email}} | `email` `ip` `attempts` `minutes` `company` |
| `admin_login_alert` | Admin sign-in from a new IP | New sign-in to your admin account | `email` `ip` `user_agent` `time` `company` |
| `password_reset` | Password reset | Reset your {{company}} password | `name` `link` `expires_minutes` `company` |
| `contact_invite` | Contact invitation | You've been invited to {{company}} | `name` `inviter` `link` `expires_days` `company` |
| `email_verify` | Email verification | Confirm your email for {{company}} | `name` `link` `company` |
| `cart_abandoned` | Abandoned cart | You left something in your cart at {{company}} | `items` `link` `company` |
| `invoice_created` | New invoice | Invoice {{invoice_number}} from {{company}} | `name` `invoice_number` `total` `due_date` `link` `company` |
| `invoice_reminder` | Overdue reminder | Reminder: invoice {{invoice_number}} is overdue | `name` `invoice_number` `total` `due_date` `days_overdue` `link` `company` |
| `payment_failed` | Failed payment (dunning) | Payment failed for invoice {{invoice_number}} | `name` `invoice_number` `total` `reason` `next_retry` `link` `company` |
| `invoice_due_soon` | Payment due soon | Invoice {{invoice_number}} is due in {{days_left}} day(s) | `name` `invoice_number` `total` `due_date` `days_left` `link` `company` |
| `service_suspended` | Service suspended | Service suspended: {{service}} | `name` `service` `reason` `link` `company` |
| `registrant_verify` | Registrant e-mail verification (ICANN) | Please verify your contact e-mail for {{domain}} | `name` `domain` `email` `deadline` `link` `company` |
| `domain_expiry` | Domain renewal notice | Your domain {{domain}} expires on {{expires_on}} | `name` `domain` `expires_on` `days` `link` `company` |
| `ticket_reply` | Ticket reply | [{{ticket_number}}] {{subject}} | `name` `ticket_number` `subject` `link` `company` |
| `ticket_auto_closed` | Ticket auto-closed (inactive) | [{{ticket_number}}] Ticket closed due to inactivity | `name` `ticket_number` `subject` `link` `company` |
| `ticket_autoreply` | Ticket auto-reply | [{{ticket_number}}] We received your request: {{subject}} | `name` `ticket_number` `subject` `department` `message` `link` `company` |
| `ticket_staff_notify` | Ticket activity (staff) | [{{ticket_number}}] {{customer}}: {{subject}} | `name` `ticket_number` `subject` `customer` `department` `message` `link` `company` |
| `quote_sent` | Quote delivery | Quote {{quote_number}}: {{subject}} | `name` `quote_number` `subject` `total` `valid_until` `link` `company` |
| `affiliate_payout_requested` | Affiliate payout requested | Affiliate payout requested: {{amount}} | `affiliate` `amount` `link` `company` |
| `client_signup` | Client signup (welcome) | Welcome to {{company}} | `name` `email` `link` `company` |
| `password_changed` | Password changed | Your password was changed | `name` `ip` `link` `company` |
| `order_confirmation` | Order confirmation | Order confirmation #{{order_number}} | `name` `order_number` `total` `link` `company` |
| `quote_accepted` | Quote accepted | Quote {{quote_number}} accepted | `name` `quote_number` `total` `link` `company` |
| `credit_card_expiring` | Credit card expiring | Your card is about to expire | `name` `card` `expires` `link` `company` |
| `new_service_info` | New product/service information | Your {{service}} is ready | `name` `service` `username` `server` `link` `company` |
| `service_unsuspended` | Service unsuspended | Service reactivated: {{service}} | `name` `service` `link` `company` |
| `service_terminated` | Service terminated | Service terminated: {{service}} | `name` `service` `link` `company` |
| `cancellation_confirmation` | Cancellation request confirmation | Cancellation request received | `name` `service` `cancel_date` `link` `company` |
| `upgrade_order_confirmation` | Upgrade order confirmation | Upgrade order for {{service}} | `name` `service` `new_plan` `total` `link` `company` |
| `domain_registration_confirmation` | Domain registration confirmation | Domain registered: {{domain}} | `name` `domain` `expires_on` `link` `company` |
| `domain_renewal_confirmation` | Domain renewal confirmation | Domain renewed: {{domain}} | `name` `domain` `expires_on` `link` `company` |
| `domain_transfer_initiated` | Domain transfer initiated | Transfer started: {{domain}} | `name` `domain` `link` `company` |
| `domain_transfer_completed` | Domain transfer completed | Transfer completed: {{domain}} | `name` `domain` `expires_on` `link` `company` |
| `domain_transfer_failed` | Domain transfer failed | Transfer failed: {{domain}} | `name` `domain` `reason` `link` `company` |
| `domain_expired` | Domain expired | Domain expired: {{domain}} | `name` `domain` `expires_on` `link` `company` |
| `invoice_payment_confirmation` | Invoice payment confirmation | Payment received for {{invoice_number}} | `name` `invoice_number` `total` `link` `company` |
| `invoice_second_overdue` | Second overdue notice | Second notice: invoice {{invoice_number}} is overdue | `name` `invoice_number` `total` `due_date` `days_overdue` `link` `company` |
| `invoice_third_overdue` | Third overdue notice | Final notice: invoice {{invoice_number}} is overdue | `name` `invoice_number` `total` `due_date` `days_overdue` `link` `company` |
| `invoice_refund_confirmation` | Invoice refund confirmation | Refund for invoice {{invoice_number}} | `name` `invoice_number` `total` `link` `company` |
| `credit_added` | Credit added | Credit added to your account | `name` `amount` `balance` `link` `company` |
| `ticket_opened` | Support ticket opened | Ticket #{{ticket_number}} opened: {{subject}} | `name` `ticket_number` `subject` `link` `company` |
| `ticket_auto_close` | Ticket auto-close | Ticket #{{ticket_number}} closed | `name` `ticket_number` `subject` `link` `company` |
| `ticket_feedback_request` | Ticket feedback request | How did we do on ticket #{{ticket_number}}? | `name` `ticket_number` `subject` `link` `company` |
| `affiliate_commission_earned` | Affiliate commission earned | You earned a commission | `affiliate` `amount` `balance` `link` `company` |
| `affiliate_monthly_referrals` | Affiliate monthly report | Your monthly affiliate report | `affiliate` `signups` `conversions` `balance` `link` `company` |
| `admin_new_order` | New order (admin) | New order #{{order_number}} | `order_number` `customer` `total` `link` `company` |
| `admin_password_reset` | Admin password reset | Admin password reset | `name` `link` `company` |
| `mass_mail` | Mass mail / mail merge | {{subject}} | `name` `first_name` `last_name` `email` `company_name` `subject` `message` `company` |
| `provisioning_failed` | Provisioning failed | Provisioning failed: {{action}} for service {{service}} | `service` `action` `error` `link` `company` |

