I. Common Placeholders
Placeholders are used to display dynamic data in the document. According to the document type, we can use placeholders in these fields:
Pdf: Display Name, Description, and Content
Email / SMS: Subject, Description, and Content
Formatting
Both HTML content and Subject/Description can consume placeholder by using “@Model” and then Property name and Child property separated with a period.
Example of an email subject
@Model.PolicyHolder.Reference FORSIKRINGSOVERSIKT
Example of HTML snippet showing premium
<p>Your Premium: @Model.Price.TotalPeriodPremiumIncTax.FormattedValue</p>
II. Placeholders details
a. Policyholder information
All the information of the policyholder will get through the placeholder @Model.Policyholder.{info}
Seamless information | Placeholder in document |
---|---|
ID | @Model.PolicyHolder.Id |
NIN | @Model.PolicyHolder.NIN |
Reference | @Model.PolicyHolder.Reference |
Name | @Model.PolicyHolder.Name |
Date Of Birth | @Model.PolicyHolder?.DateOfBirth |
Postal Address | @Model.PolicyHolder.Addresses.VisitingAddress?.PostalAddress |
Invoice Address | @Model.PolicyHolder.Addresses.VisitingAddress?.InvoiceAddress |
City | @Model.PolicyHolder?.City |
Phone Number | @Model.PolicyHolder?.PhoneNumber |
@Model.PolicyHolder?.Email | |
Organization Context | @Model.PolicyHolder.OrganizationContext |
b. Policy information
All the information of the policy will get through the placeholder @Model.InsuranceContext.{info}
Seamless information | Placeholder in document |
---|---|
Reference | @Model.InsuranceContext.Reference |
Product Name | @Model.InsuranceContext.ProductName |
Start Date | @Model.InsuranceContext.StartDate.FormattedValue |
End Date | @Model.InsuranceContext.EndDate.FormattedValue |
Creation Date | @Model.InsuranceContext.ShortCreationDate .FormattedValue |
Effective Date | @Model.InsuranceContext.EffectiveDate.FormattedValue |
Expiry Date | @Model.InsuranceContext.ExpiryDate .FormattedValue |
Payment Method | @Model.InsuranceContext.PaymentMethod |
Payment Frequency | @Model.InsuranceContext.PaymentFrequency |
Renewal Date | @Model.InsuranceContext.ShortRenewalDate.FormattedValue |
Renewal Count | @Model.InsuranceContext.RenewalCount |
Adjustment Count | @Model.InsuranceContext.AdjustmentCount |
Termination Reason (Only available in Policy Termination Email) | @Model.InsuranceContext.TerminationReason |
Termination Effective Date (Only available in Policy Termination Email) | @Model.InsuranceContext.TerminationEffectiveDate.FormattedValue |
d. Questions value in a policy
All the questions tag of the policy/ quote will get through the placeholder @Model.InsuranceContext.{info}
Seamless information | Placeholder in document |
---|---|
It depends on what question tags are defined in the product definition. | Given that the product has the question InsuredPersonNameTag, its placeholder will be: @Model.Product.InsuredPersonNameTag.FormattedValue (date time or amount) or @Model.Product.InsuredPersonNameTag.Value |
d. Premium policy
All the premium elements (i.e. currency, annual premium, etc.) of the policy/ quote will get through the placeholder @Model.Price.{info}
Seamless information | Placeholder in document |
---|---|
Currency Code | @Model.Price.CurrencyCode |
Annual Premium Include Tax | @Model.Price.AnnualPremiumIncTax.FormattedValue |
Annual Tax | @Model.Price.AnnualTax.FormattedValue |
Total Period Premium Include Tax | @Model.Price.TotalPeriodPremiumIncTax.FormattedValue |
Total Period Tax | @Model.Price.TotalPeriodTax.FormattedValue |
Delta Period Premium Include Tax | @Model.Price.DeltaPeriodPremiumIncTax.FormattedValue |
Product Commission | @Model.Price.ProductCommission.Value |
Annual Product Commission Amount | @Model.Price.AnnualProductCommissionAmount.FormattedValue |
Total Product Commission Amount | @Model.Price.TotalProductCommissionAmount.FormattedValue |
Sales Commission | @Model.Price.SalesCommission.Value |
Annual Sales Commission Amount | @Model.Price.AnnualSalesCommissionAmount.FormattedValue |
Total Sales Commission Amount | @Model.Price.AnnualPremiumIncTax.FormattedValue |
Annual Customer Discount Rate | @Model.Price.AnnualCustomerDiscountRate.Value |
Annual Customer Discount | @Model.Price.AnnualCustomerDiscount.FormattedValue |
Total Period Customer Discount Rate | @Model.Price.TotalPeriodCustomerDiscountRate.Value |
Total Period Customer Discount | @Model.Price.TotalPeriodCustomerDiscount.FormattedValue |
e. Covers in a policy
When your policy has more than one cover, there is a code below to loop for all the covers. And the cover premium will be broken down as Annual or Period depending on your code
@foreach (var coverBreakdown in Model.AnnualCoverBreakdown) {
<p>Cover Name: @coverBreakdown.CoverName.FormattedValue</p>
<p>Premium: @coverBreakdown.Premium.FormattedValue</p>
}
Seamless information | Placeholder in document |
---|---|
Cover Id | @coverBreakdown.CoverId.FormattedValue |
Cover Name | @coverBreakdown.CoverName.FormattedValue |
Cover Display Name | @coverBreakdown.CoverDisplayName.FormattedValue |
Premium | @coverBreakdown.Premium.FormattedValue |
Tax | @coverBreakdown.Tax.FormattedValue |
Premium Include Tax | @coverBreakdown.PremiumIncTax.FormattedValue |
Customer Discount Rate | @coverBreakdown.CustomerDiscountRate.FormattedValue |
Customer Discount | @coverBreakdown.CustomerDiscount.FormattedValue |
f. Salesperson of a policy
All the salesperson information of the policy/ quote will get through the placeholder @Model.SalesPerson.{info}
Seamless information | Placeholder in document |
---|---|
Id | @Model.SalesPerson.Id |
Name | @Model.SalesPerson.Name |
OrganizationName | @Model.SalesPerson.OrganizationName |
@Model.SalesPerson.Email | |
PhoneNumber | @Model.SalesPerson.PhoneNumber |
g. Sales channel of a policy
All the sales channel information of the policy/ quote will get through the placeholder @Model.SalesChannel.{info}
Seamless information | Placeholder in document |
---|---|
Id | @Model.SalesChannel.Id |
Name | @Model.SalesChannel.Name |