Skip to main content

Emails

Use the Emails tab in Account Settings to configure the automated emails Vivin sends to tenants throughout the booking lifecycle. Every email can be customized with your own content and personalized using dynamic variables.

In the product, this tab lives under SettingsSystemEmails and opens at /settings/communications.

First-time workspace setup

Complete Getting Started — Recommended Setup Sequence step 11 (this tab — lifecycle emails and Communication Rules) after step 10 Tenant categories and before step 12 Integrations — full tab map: Recommended setup order. Finish steps 13–15 in Listings, Bookings, and Tenants, then Onboarding a New Property — Step 7. Guided steps 4–12: Onboarding a New Property. Lockout catch-up: Getting Started. Workflow pairing after go-live: Account Settings — Setup sequence after go-live.

Pair with other Account Settings tabs

Pair Communication Rules with Preferences account-wide alert masters (in-app payment alerts are distinct from tenant-facing rules) and ChatBot WhatsApp IF/THEN behaviour. Contrast scheduled tenant email/SMS with landlord AI Chat — internal landlord_chat spend is on AI usage API, not Communication Rules. General Information contact details appear in lifecycle templates. Section-to-doc pairing: Emails section cross-reference. Hub tab matrix: Account Settings — Tab cross-reference.

The page is split into two sub-tabs (same URL):

Sub-tabPurpose
Communication RulesRule-based automated emails and SMS (payment reminders, check-in nudges, debt thresholds, Send now, and more).
Booking lifecycle emailsAccount-wide defaults for Onboarding, Check-in, and Check-out (triggers + rich Email body text blocks).

New Rule opens the communication-rule editor drawer. Inside that drawer, use Variables (footer) to open the Email body variables catalogue (same tokens as in the table below).

Account Settings — Emails: Communication Rules sub-tab with Enabled / Disabled filters, rule list, and New Rule

Account Settings — Emails: Booking lifecycle emails sub-tab with onboarding, check-in, and check-out triggers and body text

Lifecycle Email Templates

Pair with other Emails sections

Lifecycle triggers pair with Bookings — Check-in & Check-out emails manual overrides and Listings — Access Lockers codes appended to check-in mail. Portal signing gates: Tenant Portal. Full pairing matrix: Emails section cross-reference.

These are the three main emails sent to tenants at specific points in their tenancy:

Onboarding Email

Sent when a booking is confirmed (trigger configurable). This is the tenant's welcome email — include information about your company, the property rules, and what to expect before move-in.

  • Subject: The email subject line
  • Email body text: Rich text appended to the system template for that lifecycle email (onboarding, check-in, or check-out). Use single-brace variables such as {TenantName} and {PropertyAddress} — see Dynamic variables. Click Variables above the editor to open the in-app catalogue for that surface.
  • Trigger (onboarding): Active — send based on delay (with Delay after booking, e.g. no delay, 15 minutes, 1 hour, 1 day) or No trigger — disabled.
  • Trigger (check-in): Options include No trigger, After paid, After contract signed, After paid & contract signed, X Days before check-in (with a day count), and combined options such as After paid & contract signed & 1 Week before. Optional Only for Nuki access limits the check-in email to bookings with Nuki smart-lock access.
  • Trigger (check-out): No trigger or X Days before checkout (with a day count).

Check-in Email

Sent according to the check-in trigger you choose on the Booking lifecycle emails sub-tab. Include access codes, check-in instructions, local tips, and emergency contacts. Access codes configured in a property's Access Lockers tab are automatically appended to this email.

When lifecycle check-in emails send automatically

Vivin evaluates the check-in trigger on the Booking lifecycle emails sub-tab whenever qualifying booking state changes, then sends at most one check-in email per booking (checkInEmailSentAt is set on success). Automatic evaluation happens in these cases:

Trigger (examples)When Vivin re-evaluatesSend conditions (summary)
After paidMove-in / confirmation payments are recordedAll move-in requirements paid; no prior check-in email
After contract signedTenant completes digital signature in the Tenant Portal (evaluation runs immediately after the signature is saved)signedContractPath present; no prior check-in email
After paid & contract signedPayment recorded or portal contract signedPaid and signed; no prior check-in email
After paid & contract signed & 1 Week beforePayment, portal signing, or daily cronPaid and signed and check-in date is within 7 days (today through seven days ahead); no prior check-in email
X Days before check-inDaily cron on the matching calendar dateBooking still Upcoming on that date; no prior check-in email

15-day cutoff — No automatic lifecycle check-in email is sent when the booking’s check-in date is more than 15 days in the past (canceled bookings are skipped entirely). The daily cron for After paid & contract signed & 1 Week before scans check-ins from 15 days ago through 7 days ahead so late contract signatures or payments still catch up inside that window.

Operator upload vs portal signing — Uploading a signed PDF on Contract Info marks the booking contract-signed for reporting, but it does not run the lifecycle trigger evaluation. Only a portal digital signature sets signedContractPath for After contract signed triggers — see Tenant Portal — Digital contract signing. If the tenant signs on paper, use Send Check-in email / Resend Check-in email on Contract Info → Check-in & Check-out after upload when move-in requirements are met — illustrated controls: bookings-detail-contract-check-in-out-emails.png; see FAQ — Automatic check-in email and Bookings — Check-in & Check-out emails. When tenants cannot complete portal signing (no PDF, mandatory-field gates, category locks), start with FAQ — Tenant contract signing blocked and Processing a New Booking — Step 4.

Nuki-only toggle — When Only for Nuki access is on, sendCheckInEmail still requires at least one Nuki access point on the property or unit before the message goes out (access codes must be generatable).

Manual overrideSend Check-in email / Resend Check-in email on Contract Info → Check-in & Check-out always queues the template regardless of trigger state (subject to Nuki toggle and access-code generation). Hover Resend for Last sent when checkInEmailSentAt is set. When automatic send did not fire, start with FAQ — automatic check-in email (bookings-detail-contract-check-in-out-emails.png).

Check-out Email

Sent before the tenant's departure according to the check-out trigger (typically X Days before checkout). Include check-out instructions, key return, inspection, and deposit refund timelines.

note

Individual properties can add custom content that is appended to these default templates. See Email Customization Tab for property-level email customization.

Dynamic variables for emails

Pair with other Emails sections

Single-brace tokens match Contract templates — contract-only tokens like {%TenantSignature%} do not apply here. Open the in-app Variables catalogue from a Communication Rule drawer or from Booking lifecycle emails (and from property-level Email Customization). Full pairing matrix: Emails section cross-reference.

Use the same single-brace placeholder style as Contract templates: wrap the token name in { and }, for example {TenantName} and {CheckInDate}. Vivin replaces them with booking data when the message is sent.

SurfaceHow to open the catalogue
Communication RulesNew Rule or Edit on a row → Variables in the drawer footer
Booking lifecycle emailsAbove each Email body text editor (onboarding, check-in, check-out) → Variables
Property email customizationSame Variables control beside the property-level body editor on Listings — Email Customization

The Email body variables modal lists every token that surface supports. The modal intro copy differs by surface (#1208):

SurfaceModal teaches
Communication RulesPlaceholders work in subject and body; includes rules-only tokens such as {notification_title}
Booking lifecycle emailsBody text only — subject lines are fixed per template; unknown tokens are left verbatim in the sent email so you can spot typos
Property email customizationSame body-only catalogue as lifecycle emails

Contract-only tokens (for example {%TenantSignature%}) apply to .docx contracts, not tenant emails.

Account Settings — New Communication Rule drawer: template fields, trigger and audience settings, and Variables

Account Settings — Email body variables modal opened from a communication rule

Account Settings — Email body variables modal from Booking lifecycle emails (body-only catalogue; unknown tokens left verbatim)

Lifecycle Variables modal capture re-verified 2026-07-27 10:05 UTC (VIVIN_DOCS_BASE_URL=http://localhost:5173 VIVIN_DOCS_RECORD_API=$VITE_API_BASE_URL npx tsx tools/capture-settings-emails-lifecycle-variables-modal-screenshot.ts — white panel crop; intro copy teaches body-only substitution and verbatim unknown tokens).

No Handlebars conditionals in operator-authored email body text

Tokens such as show_tenant_portal_section / show_viban_section may still appear on the server render context for category module rules, but they are not usable inside the rich-text Email body text you edit on this tab (or in Communication Rules). Vivin does not run a Handlebars/{{#if …}} step on operator-authored copy — wrapping blocks that way can corrupt the body. Use the Variables catalogue above, and control portal/vIBAN visibility with Tenant categories module rules instead (#1208).

Commonly used variables in emails:

VariableOutputTypical use
{TenantName}Tenant's full nameGreeting (Dear {TenantName})
{TenantEmail}Tenant emailContact block
{PropertyAddress}Full property addressCheck-in directions
{ListingInternalName}Unit/listing internal nameIdentifying the unit
{StartDate} / {EndDate}Contract start / endTenancy period
{CheckInDate} / {CheckOutDate}Physical move-in / move-out datesArrival and departure
{CheckInTime} / {CheckOutTime}Check-in / check-out timesAccess windows
{RentValue}Monthly rentPayment context
{SecurityDeposit}Security depositOnboarding or check-in
{Debt} / {TotalValuePending}Outstanding debt / pending totalPayment reminders
{vIBAN}Tenant virtual IBANBank transfer instructions
{tenant_portal_url}Tenant portal linkSelf-service
{contact_email} / {contact_phone}Account contact detailsSupport footer
{building_access_point_code} / {property_access_point_code} / {listing_access_point_code}Nuki keypad or manual access codesCheck-in instructions (blank when not configured)
{BillsIncludedMaxValue}Bills-included cap per monthOnboarding or check-in
{LocalRentCap} / {RentCapDifference}Dual-pricing cap and services sliceWhen dual pricing applies
{RentJan}{RentDec}Per-month rent amountsVariable-rent bookings; same tokens as Contract templates

Email-only branding tokens ({image_url}, {landlord_brand_color}, {contact_name}, {tenant_services_url}, {paywall_url}, and others) are listed in the Variables modal. For contract PDF tokens shared with emails, see Contract > Dynamic Variables.

Communication Rules (automated reminders)

Pair with other Emails sections

Communication Rules pair with ChatBot IF/THEN behaviour on WhatsApp and Preferences — In-app notifications for operator alert masters. communication.send_now: Send now permission. Full pairing matrix: Emails section cross-reference.

On the Communication Rules sub-tab at /settings/communications (see also Glossary — Communication Rules), each row is a scheduled message rule with a human-readable trigger sentence (timing, properties, bookings, debt/credit filters, contract-signed state, and more). Filter the list with Enabled, Disabled, and Now (immediate-send rules; see Send now permission below). The toolbar includes a calendar icon to open the Communication schedule modal (all scheduled and sent messages, or scoped to one rule from that rule's row). Row actions typically include Edit, Test (send a test to yourself), Send now / Schedule (when permitted), and enable/disable.

When the rules list fails to load

If the rules API request fails (network blip, permission mismatch, or a temporary server error), the tab shows Couldn't load communication rules with short copy that your saved rules are unchanged and a Try again link that refetches the list. This is not the same as having zero rules — when the fetch succeeds but the account has no rules yet, you see No rules found and Create your first rule to get started. Do not create duplicate rules because the error state looked like an empty account; use Try again or refresh the page first.

Communication schedule (calendar)

Pair with other Emails sections

Communication schedule pairs with Glossary — Communication schedule, row-click into Booking detail from queued messages, and Handling a Late Payment — Step 2 (sent vs scheduled overdue rules). Full pairing matrix: Emails section cross-reference.

Click the calendar icon in the Communication Rules toolbar to open All schedules, or open the schedule from a single rule's row to filter to that rule only. See Glossary — Communication schedule. The modal lists every queued and sent message with:

  • Recipient — tenant name and email
  • Subject and rule context (when filtered)
  • Status — for example pending, scheduled, sent, failed, or cancelled
  • Scheduled and sent timestamps

Use the search field to narrow by recipient, subject, or unit internal name. Export downloads the visible list as CSV or Excel. Click a row to open that booking in the Booking detail sidebar without leaving Settings.

Account Settings — Communication schedule modal with search, status chips, and message list

Walkthrough: switch between Communication Rules and Booking lifecycle emails, open the Communication schedule calendar from the toolbar, then close the modal.

Send now permission

Pair with other Emails sections

Send now permission pairs with communication.send_now in Users and roles, the Now filter tab, and Firing a Send now rule (recipient preview). Contrast scheduled Due Date / Financial Balance rules in Trigger configuration. Full pairing matrix: Emails section cross-reference.

The Now filter tab and any rule that sends immediately (Send now / ScheduledMessageTrigger.Now) require the communication.send_now permission on the user's role. Without it, the Now tab appears disabled with an explanation, and immediate-send actions are hidden. Grant this only to roles that should blast or manually fire ad hoc tenant messages. Configure it in Users and roles via the Role Permissions matrix (same place as other Settings capabilities).

When your role includes communication.send_now, the Communication Rules toolbar shows Enabled, Disabled, and Now filter chips. Now lists only immediate-send rules (row actions include Send now where applicable):

Account Settings — Communication Rules with Now filter showing immediate-send rules

Firing a Send now rule

Pair with other Emails sections

Send now blast pairs with recipient preview counts, Audience filters, and Notification triage when tenants reply on blast threads. Upstream: Send now permission. Use Test on the row before production blasts. Full pairing matrix: Emails section cross-reference.

On an inactive Now rule, use the row play control (Send now to all matching recipients) to open a recipient preview for every tenant who matches the rule’s Audience filters at that moment (properties, booking status, debt thresholds, booking tags, smart-lock scope, and so on). The product does not send until you confirm from that preview — confirming activates the rule and queues the blast. On an active Now rule, the same play control deactivates the rule (no preview):

  1. Open Communication Rules and select the Now filter.
  2. On the inactive rule you want to blast, click the play icon on the right (requires communication.send_now; active Now rules use play to turn the rule off instead).
  3. In Send now: <rule name>, review the summary counts and the recipient table:
    • Subtitle — how many bookings match right now (for example 23 bookings match this rule right now).
    • Deliverable — how many have a valid email and will receive the blast (green count).
    • Without a valid email — bookings listed but skipped (red count when non-zero).
    • Search — filter the table by recipient name, email, or unit internal name.
    • Table columnsRecipient (name + email), Unit, Booking dates, Status (booking status badge), and Email (valid checkmark or No valid email badge).
  4. Click Send now to N recipients (or Send now when the count is not shown) to activate the rule and queue the blast, or Cancel to close without sending. The confirm button stays disabled while the preview loads, when the API errors, or when deliverable is zero.
  5. A success toast confirms the request was submitted; failures show an error toast and leave the rule unchanged.

If no bookings match the rule’s filters, the preview shows No matching recipients instead of a table. If the preview API fails, use Cancel and try again — your saved rule is unchanged.

Account Settings — Send now recipient preview with match counts, searchable table, and Send now to N recipients confirm button

Double-check audience before confirming

Send now can reach many tenants at once. Use the preview table to spot unexpected units or missing emails, review the rule’s Audience in Edit when counts look wrong, and use Test on the row to send only to yourself when you are validating copy.

Walkthrough: open the Now filter, click Send now on an inactive rule, review the recipient preview (counts + table), then Cancel (no blast is sent in this clip).

Rules can send email and, where configured, SMS bodies. Use New Rule to open the drawer: set Template name, Subject, optional CC / BCC, and Body, then configure Trigger (event, offset, send time, balance filters) and Audience (properties, booking status, contract signed, specific bookings, optional booking tags, and optional smart-lock scoping). Match scope and balance conditions so reminders only reach the right tenants.

Trigger configuration (rule drawer)

Pair with other Emails sections

Trigger events pair with Bookings — Check-in & Check-out emails lifecycle mail (distinct evaluation model), Handling a Late Payment — Step 2 (overdue Due Date / Financial Balance rules), and Glossary — Communication Rules. Full pairing matrix: Emails section cross-reference.

Inside New Rule or Edit, the Rule settings step includes a Trigger card. Event is required; additional fields appear or hide based on the event you pick (the product resets sensible defaults when you change events — for example Send Now clears day offsets).

Event (English UI)Typical useExtra trigger fields
Check-inWelcome or access instructions relative to move-inOffset direction (Before / After / On the day), Days offset, Send at Hour
Check-outDeparture remindersSame offset + hour pattern as check-in
Booking ConfirmationMessage right after a booking is confirmedSend at Hour only (no day offset row)
Due DateRent or charge reminders tied to scheduled due datesOffset + hour, plus Balance (financial) and Threshold (€) (see below)
Financial BalanceDebt nudges when the booking balance is negativeMinimum debt (€) — rule runs when absolute debt is at least this amount; Send at Hour
Penalty FeeFollow-up after a penalty line existsSend at Hour; Next payment (balance) filter is hidden for this event
Send NowImmediate blast (requires communication.send_now; see Send now permission)No schedule fields — audience filters alone define who receives the blast when you confirm from the preview

Offset direction and Days offset apply only to Check-in, Check-out, and Due Date. Choose On the day to fire on the event date itself (offset value locks to 0). Send at Hour is available on every scheduled event except Send Now and Booking Confirmation (confirmation uses its own timing model).

Due Date adds a second balance row:

FieldPurpose
Balance (financial)Ignore (all), Negative balance (in debt), or Positive balance (credit) — narrows which bookings qualify relative to the payment-plan balance on the due date
Threshold (€)Minimum balance magnitude when the balance filter is not Ignore (disabled when set to Ignore)

Most other events (except Check-out, Booking Confirmation, and Penalty Fee) also expose Next payment (balance) with the same Ignore / Negative / Positive options — use it when the rule should only match tenants whose upcoming scheduled line is in debt or in credit.

Row badges in the rules list summarize the saved trigger (timing + filters). Open Edit to change event, offsets, or balance gates without recreating the rule.

Account Settings — Communication Rule drawer Trigger card with Due Date event, offset, Send at Hour, and balance filters

HTML vs rich-text body

Beside Template name, the HTML toggle switches how you author the message body:

HTMLEditorTypical use
Off (default)Rich-text editor with formatting toolbarMost tenant emails — paragraphs, links, and lists with {VariableName} placeholders
OnPlain HTML textarea (monospace)Branded layouts or markup you paste from an external template; placeholders still use {VariableName} syntax

When HTML is on, CC and BCC stay available; the product sends the body as HTML rather than the rich-text HTML the visual editor would generate. The body field switches to a monospace textarea for raw HTML. Test with Test on the rule row before enabling a rule for production traffic.

Account Settings — Communication Rule drawer with HTML enabled and raw HTML body textarea

Audience: Properties (portfolio scope)

Pair with other Emails sections

Audience scoping pairs with Bookings — Other filters, Finance — Tenant category filter, and Portfolio KPI review — Step 6 before account-wide rule changes. Send now preview: Firing a Send now rule. Full pairing matrix: Emails section cross-reference.

At the top of the rule drawer Audience card, Properties scopes which buildings the rule can match. The control is a server-paged multi-select (same picker pattern as Utilities connections and Sales Pricing property filters):

Selection stateBehaviour
Empty (placeholder All properties)Global rule — any property on the account can match, subject to the booking-status, balance, tag, and smart-lock filters below.
One or more property chipsRule runs only for bookings tied to at least one of the selected properties (OR semantics across buildings).

Open the picker to search by internal property code or name; scroll the dropdown to load more rows. Selected properties appear as removable chips under the trigger. Clearing every chip returns the rule to All properties. With an active query, internalName matches rank above address-only hits before pagination — see Glossary — Picker search ranking.

Account Settings — Communication Rule drawer Audience Properties field with All properties placeholder (global rule)

Account Settings — Communication Rule drawer Properties picker after server search (internalName matches ranked above address-only hits, example António)

Property picker search-ranking capture refreshed 2026-06-17 18:05 UTC (VIVIN_DOCS_BASE_URL=http://localhost:5173 VIVIN_DOCS_RECORD_API=$VITE_API_BASE_URL VIVIN_DOCS_PROPERTY_SEARCH=António npx tsx tools/capture-communication-rule-property-picker-search-rank-screenshot.ts).

Audience: Nuki, Smart locks, booking tags, and tenant categories

Further down the same Audience card (below Properties and the booking-level filters):

ControlPurpose
Require Nuki tenant IDWhen enabled, only bookings whose tenant has a Nuki account user id match the rule (subtitle in the UI explains this). Use for check-in or access messages that assume Nuki-generated codes.
Smart locksWhen your account has Nuki devices connected (Integrations), a filter mode dropdown appears above the lock picker: No filter, Include only, or Exclude, plus a searchable lock multi-select when a scoped mode is active. Selected locks appear as removable chips. No filter ignores lock ids even if the rule previously stored them. Validation blocks save when Include only or Exclude is selected but no locks are chosen.
Booking tagsWhen your account defines tags under Categories → Bookings, the same No filter / Include only / Exclude pattern applies to booking labels. Pick one or more tags when scoped — a booking matches Include only when it carries at least one selected tag (OR across selected tags), and Exclude when it carries none of the selected tags (for example exclude VIP to skip premium tenants on a mass reminder). The field is hidden until at least one booking tag exists on the account or the rule already stores tag filters.
Tenant categoriesWhen Tenant categories exist on the account, the same No filter / Include only / Exclude pattern applies to the tenant’s assigned category on the booking. Pick one or more categories when scoped — Include only matches when the tenant’s category is at least one of the selected segments. Hidden until categories exist or the rule already stores category filters. If categories fail to load while you edit, the drawer shows a short unavailable notice instead of the picker. Before you save a scoped rule, cross-check audience size with the same segment on Bookings — Other filters, Finance — Tenant category filter, or Tenants — Tenant category filter — see Portfolio KPI review — Step 6.

Shared filter modesSmart locks, Booking tags, and Tenant categories use one explanation at the bottom of the Audience card (shown when at least one of those three sections is visible):

  • No filter — the field does not restrict the audience.
  • Include only — the booking must carry at least one of the values you selected.
  • Exclude — the booking must carry none of the values you selected.

All audience filters on the card still combine with AND against the rest of the rule (properties, booking status, balance filters, and so on).

The Smart locks block appears when Nuki locks exist on the account or when an existing rule already stores lock ids or a non-No filter mode. It is independent of the lifecycle Only for Nuki access toggle on the Booking lifecycle emails sub-tab — that toggle scopes the default check-in template; Smart locks scopes individual Communication Rules.

Account Settings — Communication Rule drawer Audience section with Require Nuki tenant ID and Smartlocks multi-select

Account Settings — Communication Rule drawer Smart locks filter set to Include only with a selected lock chip

Account Settings — Communication Rule drawer Audience section with Booking tags multi-select (tags defined under Categories → Bookings)

Account Settings — Communication Rule drawer Booking tags filter set to Include only with a selected tag chip

Account Settings — Communication Rule drawer Booking tags filter set to Exclude with a selected tag chip

Account Settings — Communication Rule drawer Tenant categories filter set to Include only with a selected segment chip

Booking tags Include only and Exclude captures refreshed 2026-06-16 20:00 UTC (tools/capture-communication-rule-booking-tags-include-exclude-screenshot.ts, tools/capture-communication-rule-booking-tags-exclude-screenshot.ts). Tenant categories Include only capture re-verified 2026-06-16 17:15 UTC (tools/capture-communication-rule-tenant-categories-screenshot.ts). Legacy tag multi-select capture re-verified 2026-06-16 16:05 UTC (tools/capture-communication-rule-booking-tags-screenshot.ts).

Common use cases

  • Payment Due Reminder — send a reminder email 3 days before a payment is due
  • Overdue Payment Notice — send a notification the day after a payment becomes overdue
  • Check-in Reminder — send a reminder 7 days before move-in with final arrival details
  • Contract Expiry Notice — send an alert 60 days before a contract ends

Configuring an Automated Communication

For each automated communication, you configure:

FieldDescription
NameAn internal label for this rule (not shown to tenants)
Trigger EventThe event that starts the countdown (e.g., "Payment Due Date," "Check-in Date," "Booking End Date")
TimingHow many days before or after the trigger event this email should be sent
ConditionAdditional conditions that must be true (e.g., "Only if payment is still unpaid," "Only if contract is signed")
Subject and BodyEmail (and optional SMS/HTML) content, with {VariableName} placeholders
tip

Set up at least two payment-related automations: a pre-due reminder (e.g., 3 days before) and a post-due notice (e.g., 1 day after). Many late payments are simply oversight — a timely reminder before the due date can prevent them entirely.

Best Practices for Email Content

Pair with other Emails sections

Copy and tone here pair with General Information contact blocks, Tenant categories (Communications / Email per segment), and FAQ — automatic check-in email when lifecycle mail misfires. Full pairing matrix: Emails section cross-reference.

Keep emails concise and action-oriented. Tenants are more likely to read and act on short, clear emails. Put the most important information (dates, amounts, action required) at the top.

Use the tenant's name. Start with Dear {TenantName} (or a short salutation you prefer) rather than generic greetings. Personalized emails have higher engagement and feel more professional.

Include contact information. Every email should include a way for the tenant to reach your team if they have questions. Reference the contact email and phone number configured in General Information.

Be specific in check-in emails. Include the check-in time, exact address, access instructions, and who to contact if there are problems. The access codes from the Access Lockers tab are appended automatically, but additional context (e.g., "Use the side entrance on Rua da Prata") helps tenants arrive smoothly.

Test with a real booking. After customizing your templates, create a test booking with your own email address to verify the email content, variable replacement, and formatting look correct before going live.

Key Rules

Pair with other Emails sections

Summary rules here pair with Listings — Access Lockers (automatic check-in codes), Bookings — Communication tab (WhatsApp audit distinct from Communication Rules), and Payment Allocation — Reject/revert when reminder disputes involve invoiced receipts. Full pairing matrix: Emails section cross-reference.

Summary
  1. Lifecycle emails use account-wide templates. All tenants receive the same onboarding, check-in, and check-out email templates. Property-level customization is additive — custom property text is appended to the default template, not a replacement.

  2. Dynamic variables are replaced at send time. Variables are populated with the actual booking data at the moment the email is sent. If booking details change after the email is sent, the tenant will have the old values.

  3. Automated reminders require conditions to be useful. A payment reminder without the "Only if payment is still unpaid" condition will be sent to every tenant — including those who have already paid. Always set appropriate conditions.

  4. Access codes are appended automatically. You do not need to include access code variables in your check-in email template — any codes configured in the property's Access Lockers tab are automatically added to the check-in email.

Emails section cross-reference

Use this table when one Emails topic naturally leads into another Account Settings tab, operator module, workflow, or concept — each row links to the docs you should read before or after configuring tenant communications.

| Emails topic / section | Pair with these docs | | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | Lifecycle Email Templates | Listings — Email Customization, Managing a Check-in | | Dynamic variables for emails | Contract templates, General Information | | Communication Rules (automated reminders) | Preferences — In-app notifications, Handling a Late Payment — Step 1, Notifications — Payment overdue alerts, Audience — tenant categories | | Audience — Nuki, Smart locks, booking tags, and tenant categories | Tenant categories, Bookings — Other filters, Finance — Tenant category filter, Tenants — Tenant category filter, Portfolio KPI review — Step 6 | | Best Practices for Email Content | FAQ — automatic check-in email, Tenant categories (segment Communications / Email toggle) | | Key Rules | Listings — Access Lockers, Bookings — Communication tab | | Lockout catch-up after password recovery | Resetting a Management User Password, Getting Started — Lockout catch-up after password recovery, Common Workflows — Lockout catch-up | | Pending manual receipt approval | Communication Rules (automated reminders), Users and roles — Role permissions (Approve payments), Finance — Pending manual payments | | Reject/revert mistaken receipts | Payment Allocation — Correcting mistaken receipts, Finance — Row actions on in-payment rows, Handling a Late Payment — Step 1 | | Notification row-click navigation | /notifications row-click vs Communication Rules email | Account Settings — Notification row-click navigation, Common Workflows — Notification row-click navigation, Notifications module — Notification row-click navigation | | Payment alert to receivables triage | payment overdue with parallel email reminders | Account Settings — Payment alert to receivables triage, Common Workflows — Payment alert to receivables triage, Handling a Late Payment — Step 1 | | Confirmation alert triage | Upcoming alerts after confirmation email rules | Account Settings — Confirmation alert triage, Common Workflows — Confirmation alert triage, Processing a New Booking — Step 5b | | Finance debt receivables triage | Portfolio Top debtors / Debt Aging after settings on this tab | Account Settings — Finance debt receivables triage, Common Workflows — Finance debt receivables triage, Finance module — Finance debt receivables triage | | Finance Income status drill-down | Income → In debt vs Debt Aging after settings on this tab | Account Settings — Finance Income status drill-down, Common Workflows — Finance Income status drill-down, FAQ — Finance Income status drill-down hub | | Cash flow forecast drill-down | Cash flow forecast month bars vs Income segments | Account Settings — Cash flow forecast drill-down, Common Workflows — Cash flow forecast drill-down, FAQ — Cash flow forecast drill-down hub | | Portfolio segmentation by tenant category | Audience — tenant categories, Common Workflows — Portfolio segmentation by tenant category, Bookings — Other filters, Finance — Tenant category filter |


Pair with other Emails guide sections

Related below links this Account Settings tab to modules, workflows, concepts, and escalation paths. Pair Documentation map & escalation with Account Settings hub — Documentation map & escalation; pair Upstream & downstream workflows with Account Settings — Tab cross-reference. Topic-to-section pairing in sections above: Emails section cross-reference. Full hub matrix: Account Settings — Section cross-reference.

Documentation map & escalation

Upstream & downstream workflows

Pair with other Emails guide sections

Workflow bullets pair with Common Workflows — Workflow cross-reference for inter-guide step pairing. Full pairing matrix: Emails section cross-reference · Account Settings — Section cross-reference.

Deeper workflow reads

Pair with other Emails guide sections

Workflow reads pair with Common Workflows hub subsection index and Workflow cross-reference. Each workflow sub-guide reciprocates with [Deeper workflow reads](./email-templates.md#deeper-workflow-reads) anchors on Account Settings bullets — hub parity: Account Settings hub — Deeper workflow reads. Full pairing matrix: Emails section cross-reference · Account Settings — Section cross-reference.

Pair with other Emails guide sections

Operator modules & property-level overrides

Pair with other Emails guide sections

Module bullets pair with property-level overrides on Listings and Bookings. Full pairing matrix: Emails section cross-reference · Account Settings — Section cross-reference.

Deeper concept reads

Pair with other Emails guide sections

Module documentation hubs

Pair with other Emails guide sections
  • Bookings — Operator UI for reservations receiving lifecycle and reminder mail
  • Listings — Property wizard and per-property email customization
  • Finance — Portfolio ledgers and payment reminders tied to Communication Rules
  • Operations — Maintenance tickets and check-in/out coordination
  • Utilities — Bills Included ceiling model and tenant overage charges
  • Sales — Portfolio availability and channel manager connections
  • Tenants — Tenant directory and With Debt segmentation
  • Analytics — Month-range portfolio KPI charts
  • AI Chat — Vivin-internal AI Assistant for portfolio Q&A
  • Audit — Portfolio-wide Manual Blocks and Discounts review
  • Booking engine details — Rich marketplace payload editor via the Full integration pill
  • Properties workspace — Legacy /properties URL redirects into Listings

Lockout catch-up after password recovery

Pair with other Emails guide sections

Operational backlog after sign-in recovery pairs with Resetting a Management User Password — Step 3 before you resume Communication Rules on this tab. Hub parity: Common Workflows — Lockout catch-up after password recovery. Full pairing matrix: Emails section cross-reference · Account Settings — Section cross-reference.

Pending manual receipt approval

Pair with other Emails guide sections

Reject/revert mistaken receipts

Pair with other Emails guide sections

Portfolio segmentation by tenant category

Notification row-click navigation

Pair with other Emails guide sections

Communication Rules send email in parallel with /notifications — row-click in-app alerts for the canonical booking context before editing payment-reminder templates mid-triage. Hub parity: Account Settings — Notification row-click navigation. Full pairing matrix: Emails section cross-reference · Account Settings — Section cross-reference.

Payment alert to receivables triage

Pair with other Emails guide sections

Payment due-date Communication Rules complement payment overdue in-app alerts — row-click alerts, then verify matching email rules on this tab. Hub parity: Account Settings — Payment alert to receivables triage. Full pairing matrix: Emails section cross-reference · Account Settings — Section cross-reference.

Confirmation alert triage

Pair with other Emails guide sections

Booking-confirmation email rules do not approve ledger receipts — Upcoming Payment received alerts still need Pending manual receipt approval on Transactions. Hub parity: Account Settings — Confirmation alert triage. Full pairing matrix: Emails section cross-reference · Account Settings — Section cross-reference.

Finance debt receivables triage

Pair with other Emails guide sections

Communication rules payment reminders fire before Debt Aging updates — route payment overdue alerts before portfolio Top debtors sign-off. Hub parity: Account Settings — Finance debt receivables triage. Full pairing matrix: Emails section cross-reference · Account Settings — Section cross-reference.

Handling a Late Payment collections

Pair with other Emails guide sections

Communication rules payment reminders fire before Debt Aging updates — route payment overdue alerts before portfolio Top debtors sign-off Hub parity: Account Settings — Handling a Late Payment collections. Full pairing matrix: Emails section cross-reference · Account Settings — Section cross-reference.

Finance Income status drill-down

Pair with other Emails guide sections

Reminder emails do not change Income chart segments — open Paid / Scheduled / In debt drill-down when tenants insist they already paid. Hub parity: Account Settings — Finance Income status drill-down. Full pairing matrix: Emails section cross-reference · Account Settings — Section cross-reference.

Cash flow forecast drill-down

Pair with other Emails guide sections

Lifecycle emails do not list every collected payment — open Cash flow forecast when you need month-scoped collections proof. Hub parity: Account Settings — Cash flow forecast drill-down. Full pairing matrix: Emails section cross-reference · Account Settings — Section cross-reference.

Key glossary terms

Pair with other Emails guide sections