This is the field-level reference for the notification editor. For turning templates on or off, see [Review Email and SMS Notifications](https://help.remediahub.com/hc/help-center/articles/configure-notifications).

## How Variables Work

1. Open **Settings → Notifications** and select **Edit** on a template.
2. In **Edit Notification**, select **Variables** to show the variable bar, then click a variable. It is inserted at the cursor in **Body**.
3. Check **Rendered Email Preview**. The preview fills variables with sample values (for example, a sample customer named "Jeff Agent" and order number 12345), not your real records.
4. Select **Save Template**. **Send Test** sends the template to your own login email.

Rules and limits:

- Variables are written in double braces, for example `{{client_name}}`. Type them exactly. A misspelled variable is not replaced.
- Each template offers only the variables listed for it below. A variable copied from another template may be empty.
- When a value is missing, the variable is left blank. `{{client_name}}` and `{{team_member_name}}` fall back to "there", so "Hi {{client_name}}," still reads correctly.
- Dates and times are formatted for the recipient-facing email. Money values are formatted as currency.
- The subject line can use the same variables as the body.

## Variables by Template

### Appointment Scheduled

`{{client_name}}`, `{{appointment_at}}`, `{{secondary_appointment_at}}`, `{{twilight_appointment_at}}`, `{{listing_address}}`, `{{assigned_photographer_name}}`, `{{assigned_photographer_phone}}`, `{{order_number}}`

### Appointment Rescheduled

`{{client_name}}`, `{{appointment_at}}`, `{{previous_appointment_at}}`, `{{listing_address}}`, `{{order_number}}`, `{{assigned_photographer_name}}`, `{{assigned_photographer_phone}}`

### Appointment Updated

`{{client_name}}`, `{{appointment_at}}`, `{{listing_address}}`, `{{order_number}}`, `{{assigned_photographer_name}}`, `{{assigned_photographer_phone}}`

### Appointment Reminder

`{{client_name}}`, `{{appointment_at}}`, `{{listing_address}}`, `{{order_number}}`, `{{reminder_type}}`, `{{assigned_photographer_name}}`, `{{assigned_photographer_phone}}`

### Home Prep Guide

`{{client_name}}`, `{{appointment_at}}`, `{{listing_address}}`, `{{order_number}}`, `{{prep_guide_url}}`, `{{assigned_photographer_name}}`, `{{assigned_photographer_phone}}`

### Appointment Postponed

`{{client_name}}`, `{{previous_appointment_at}}`, `{{listing_address}}`, `{{order_number}}`

### Appointment Canceled

`{{client_name}}`, `{{client_email}}`, `{{previous_appointment_at}}`, `{{listing_address}}`, `{{order_number}}`, `{{order_total}}`, `{{manage_order_url}}`, `{{reschedule_url}}`

### Order Confirmation

`{{client_name}}`, `{{order_number}}`, `{{listing_address}}`, `{{order_total}}`

### Booking Request Received

`{{client_name}}`, `{{requested_appointment_date}}`, `{{booking_request_preferred_time}}`, `{{listing_address}}`, `{{order_number}}`, `{{order_total}}`, `{{manage_order_url}}`, `{{booking_request_note}}`

### Workspace Order Received

`{{recipient_name}}`, `{{client_name}}`, `{{client_email}}`, `{{client_phone}}`, `{{workspace_submission_type}}`, `{{workspace_submission_label}}`, `{{workspace_submission_label_lower}}`, `{{order_number}}`, `{{appointment_at}}`, `{{secondary_appointment_at}}`, `{{twilight_appointment_at}}`, `{{requested_appointment_date}}`, `{{booking_request_preferred_time}}`, `{{listing_address}}`, `{{order_total}}`, `{{admin_order_url}}`

### Payroll Run Reminder

`{{recipient_name}}`, `{{brand_name}}`, `{{payroll_schedule}}`, `{{payroll_due_date}}`, `{{payroll_due_date_label}}`, `{{last_run_covered_through}}`, `{{payroll_default_run_preset}}`, `{{payroll_default_run_preset_label}}`, `{{dashboard_url}}`

### Order Canceled

`{{client_name}}`, `{{order_number}}`, `{{listing_address}}`

### Order Payment Overdue

`{{client_name}}`, `{{order_number}}`, `{{outstanding_balance}}`, `{{listing_address}}`

### Payment Refunded

`{{client_name}}`, `{{order_number}}`, `{{refund_amount}}`, `{{refund_destination}}`, `{{refund_processed_at}}`, `{{listing_address}}`

### Customer Credit Added

`{{client_name}}`, `{{order_number}}`, `{{credit_amount}}`, `{{customer_credit_balance}}`, `{{credit_added_at}}`, `{{listing_address}}`

### Order Deposit Request

`{{client_name}}`, `{{order_number}}`, `{{deposit_due}}`, `{{deposit_percent}}`, `{{payment_url}}`, `{{listing_address}}`

### Abandoned Cart

`{{client_name}}`, `{{resume_url}}`, `{{checkout_url}}`, `{{listing_address}}`, `{{order_form_name}}`

### Listing Delivery

`{{client_name}}`, `{{listing_address}}`, `{{download_url}}`, `{{property_website_url}}`, `{{manage_listing_url}}`, `{{portal_url}}`, `{{delivered_at}}`

### New Media Uploaded

`{{client_name}}`, `{{listing_address}}`, `{{media_type_label}}`, `{{media_type_label_plural}}`, `{{media_update_label}}`, `{{media_asset_title}}`, `{{media_asset_count}}`, `{{uploaded_at}}`, `{{download_url}}`, `{{property_website_url}}`, `{{manage_listing_url}}`, `{{portal_url}}`

### AI Enhancement Payment Request

`{{client_name}}`, `{{listing_address}}`, `{{ai_enhancement_service}}`, `{{ai_enhancement_style}}`, `{{ai_enhancement_room}}`, `{{ai_enhancement_price}}`, `{{checkout_url}}`, `{{payment_url}}`

### AI Enhancement Completed

`{{client_name}}`, `{{listing_address}}`, `{{ai_enhancement_service}}`, `{{ai_enhancement_style}}`, `{{ai_enhancement_room}}`, `{{ai_enhancement_disclosure}}`, `{{download_url}}`, `{{ai_enhancement_completed_at}}`

### Feedback Request

`{{client_name}}`, `{{listing_address}}`, `{{downloaded_at}}`, `{{review_links}}`, `{{review_url}}`, `{{google_review_url}}`, `{{download_url}}`, `{{portal_url}}`

### Customer Team Invitation

`{{client_name}}`, `{{team_name}}`, `{{portal_url}}`

### Team Appointment Assigned

`{{team_member_name}}`, `{{client_name}}`, `{{client_phone}}`, `{{listing_address}}`, `{{appointment_at}}`, `{{order_number}}`

### Team Appointment Unassigned

`{{team_member_name}}`, `{{client_name}}`, `{{client_email}}`, `{{client_phone}}`, `{{listing_address}}`, `{{appointment_at}}`, `{{order_number}}`

### Team Appointment Updated

`{{team_member_name}}`, `{{client_name}}`, `{{client_email}}`, `{{client_phone}}`, `{{listing_address}}`, `{{appointment_at}}`, `{{previous_appointment_at}}`, `{{order_number}}`

### Team Appointment Postponed

`{{team_member_name}}`, `{{client_name}}`, `{{client_email}}`, `{{client_phone}}`, `{{listing_address}}`, `{{previous_appointment_at}}`, `{{postponed_at}}`, `{{order_number}}`

### Team Appointment Canceled

`{{team_member_name}}`, `{{client_name}}`, `{{client_email}}`, `{{client_phone}}`, `{{listing_address}}`, `{{previous_appointment_at}}`, `{{order_number}}`

### Property Website Contact Request

No variable bar is shown. The default message uses `{{recipient_name}}`, `{{lead_name}}`, `{{lead_email}}`, `{{lead_phone}}`, `{{lead_message}}`, `{{listing_address}}`, and `{{property_website_url}}`.


## What Each Variable Shows

**People**

| Variable | Shows |
| --- | --- |
| `{{client_name}}` | The customer's name. Falls back to "there". |
| `{{client_email}}`, `{{client_phone}}` | The customer's email and phone. Hidden when **Show customer email and phone** is off. |
| `{{recipient_name}}` | The person receiving an internal email, such as the admin. |
| `{{team_member_name}}` | The assigned team member. Falls back to "there". |
| `{{team_name}}` | The customer team name, or your brand name. |
| `{{assigned_photographer_name}}`, `{{assigned_photographer_phone}}` | The assigned photographer. Each is hidden when its display option is off. |
| `{{lead_name}}`, `{{lead_email}}`, `{{lead_phone}}`, `{{lead_message}}` | The visitor who submitted a property website contact form. |
| `{{brand_name}}` | Your company's brand name. |

**Appointments and Requests**

| Variable | Shows |
| --- | --- |
| `{{appointment_at}}` | The appointment date and time. |
| `{{secondary_appointment_at}}` | The second appointment (sunrise, sunset, or twilight) when the order has one. |
| `{{twilight_appointment_at}}` | The twilight appointment date and time. |
| `{{previous_appointment_at}}` | The date and time before a change, postponement, or cancellation. |
| `{{postponed_at}}` | When the appointment was postponed. |
| `{{reminder_type}}` | Which reminder is being sent, for example `24h`. |
| `{{requested_appointment_date}}` | The date a customer requested in a scheduling request. |
| `{{booking_request_preferred_time}}` | The requested time preference, such as "Morning". |
| `{{booking_request_note}}` | The customer's note on a scheduling request. |
| `{{workspace_submission_type}}`, `{{workspace_submission_label}}`, `{{workspace_submission_label_lower}}` | Whether a new submission is an order or a booking request: a type code, a capitalized label ("Order"), and a lowercase label ("order"). |

**Property and Order**

| Variable | Shows |
| --- | --- |
| `{{listing_address}}` | The property address. Hidden when **Show property address** is off. |
| `{{order_number}}` | The order or request number. Hidden when **Show order or request number** is off. |
| `{{order_total}}` | The order total. Hidden when **Show prices and totals** is off. |
| `{{outstanding_balance}}` | The unpaid balance. |
| `{{deposit_due}}`, `{{deposit_percent}}` | The deposit amount and its percentage. |
| `{{refund_amount}}`, `{{refund_destination}}`, `{{refund_processed_at}}` | The refund amount, where it went (for example "Original Payment Method"), and when it was processed. |
| `{{credit_amount}}`, `{{customer_credit_balance}}`, `{{credit_added_at}}` | The credit added, the customer's new credit balance, and when it was added. |
| `{{order_form_name}}` | The order form the customer started (Abandoned Cart). |

**Media and AI Enhance**

| Variable | Shows |
| --- | --- |
| `{{delivered_at}}`, `{{uploaded_at}}`, `{{downloaded_at}}` | When the listing was delivered, when new media was uploaded, and when the customer first downloaded. |
| `{{media_type_label}}`, `{{media_type_label_plural}}`, `{{media_update_label}}` | The kind of media uploaded, such as "Video" and "Videos". |
| `{{media_asset_title}}`, `{{media_asset_count}}` | The uploaded file's title and how many files were uploaded. |
| `{{ai_enhancement_service}}`, `{{ai_enhancement_style}}`, `{{ai_enhancement_room}}` | The AI Enhance service, style, and room, such as "Virtual Staging", "Modern", and "Living Room". |
| `{{ai_enhancement_price}}` | The AI Enhance price. Hidden when **Show prices and totals** is off. |
| `{{ai_enhancement_disclosure}}` | The disclosure label for the enhanced image, such as "Digitally enhanced image". |
| `{{ai_enhancement_completed_at}}` | When the enhancement finished. |

**Links**

| Variable | Opens |
| --- | --- |
| `{{download_url}}` | The listing download page. |
| `{{property_website_url}}` | The property website. |
| `{{manage_listing_url}}` | The listing in the workspace (for staff). |
| `{{portal_url}}` | The customer portal. |
| `{{manage_order_url}}`, `{{reschedule_url}}` | The order in the customer portal, where the customer can manage or reschedule it if your settings allow. |
| `{{admin_order_url}}` | The order in the workspace (internal emails). |
| `{{payment_url}}` | Where the customer pays a deposit or balance. |
| `{{checkout_url}}`, `{{resume_url}}` | A link that resumes an unfinished checkout. |
| `{{prep_guide_url}}` | Your Home Prep Guide link. Hidden when **Show prep guide link** is off. |
| `{{review_links}}`, `{{review_url}}`, `{{google_review_url}}` | The review links set in **Feedback Request Settings**: all links, the first link, and the Google link. |
| `{{dashboard_url}}` | The payroll page for admins (Payroll Run Reminder). |

**Payroll Run Reminder**

| Variable | Shows |
| --- | --- |
| `{{payroll_schedule}}` | The reminder schedule, such as "Weekly on Monday". |
| `{{payroll_due_date}}`, `{{payroll_due_date_label}}` | When the next payroll run is due. |
| `{{last_run_covered_through}}` | The last date covered by the previous run. |
| `{{payroll_default_run_preset}}`, `{{payroll_default_run_preset_label}}` | The default run range, such as "Since last payroll run". |

## Display Options

Some templates have a **Display Options** section in the editor. Each checkbox is on by default. Turning one off hides that detail in the email, including the matching variable.

| Option (as Shown) | Hides | Available On |
| --- | --- | --- |
| **Show photographer name** / **Show photographer phone** | The assigned photographer's name or phone. | Appointment Scheduled, Rescheduled, Updated, Reminder, and Home Prep Guide. |
| **Show order or request number** | The order or request number. | Most appointment, order, payment, delivery, and team templates. |
| **Show property address** | The property address. | Most templates that mention a property. |
| **Show appointment date and time** | Appointment dates and times. | Appointment, booking request, new order, and team appointment templates. |
| **Show services or products** | The list of services. | Appointment, order confirmation, booking request, new order, deposit, Abandoned Cart, and team appointment templates. |
| **Show prices and totals** | Totals, balances, refunds, credits, deposits, and AI Enhance prices. | Payment, refund, credit, deposit, order confirmation, booking request, new order, and AI Enhance payment templates. |
| **Show customer email and phone** | Customer contact details. | Workspace Order Received, Payroll Run Reminder, and team appointment templates. |
| **Show action buttons** | Buttons such as view, pay, or download. | Templates that include a call-to-action button. |
| **Show prep guide link** / **Attach prep guide PDF** | The prep guide link or the attached PDF. | Home Prep Guide. |

Example: if team members shouldn't see customer phone numbers, turn off **Show customer email and phone** on each Team Appointment template.

## SMS-Capable Templates

Text messages can be turned on only for Appointment Scheduled, Appointment Rescheduled, Appointment Canceled, Appointment Reminder, Home Prep Guide, Listing Delivery, and Order Deposit Request. **SMS Text Notifications** must be enabled first. See [SMS Text Notifications](https://help.remediahub.com/hc/help-center/articles/sms-text-notifications).

## Troubleshooting

- **A variable shows as blank.** The value doesn't exist for that order (for example, no second appointment), a display option hides it, or the variable isn't offered for that template.
- **A variable appears literally in the email**, such as `{{clientname}}`. Fix the spelling and save.
- **The preview shows sample names.** That's expected. Use **Send Test** to see the final layout in your inbox.

## Related Guides

- [Review Email and SMS Notifications](https://help.remediahub.com/hc/help-center/articles/configure-notifications)
- [Configure Appointment Settings](https://help.remediahub.com/hc/help-center/articles/configure-appointment-settings)