Skip to main content

Contract variables

Type these variables into your contract and addendum templates; VIVIN replaces them with the booking's details.

Before you start​

  • Where: the templates you upload in Settings → Contract (https://platform.vivin.app/settings/contract). Check the list of available variables here on that tab opens Contract Template Variables, with a copy button on each.
  • Plan: every account.
  • Permissions: the same as Contract.

Type each variable in single curly brackets, spelled exactly as listed; capital letters matter. Signature variables start with %, for example {%TenantSignature}. A variable VIVIN does not know prints blank.

Variables ending in InText… exist in four languages: replace … with En, Pt, Es or It, for example {RentValueInTextPt}. One template can hold the same clause in two languages.

Tenant​

VariablePrints
{TenantName}, {TenantFirstName}, {TenantLastName}Full, first and last name
{TenantEmail}, {TenantPhone}, {Nationality}Email, phone, nationality
{FiscalId}Tax ID
{IdentificationId}, {TenantIdDocumentType}, {TenantIdDocumentCountry}, {TenantIdDocumentExpiryDate}ID number, ID type, issuing country, expiry date
{TenantFiscalAddress}Home address
{TenantDateOfBirth}, {TenantPlaceOfBirth}Date and place of birth
{TenantResidenceAddress}, {TenantResidenceCity}, {TenantResidenceCountry}Main residence
{TenantEmergencyContact1Name}, …Relationship, …Email, …PhoneFirst emergency contact (use 2 for the second)

Birth details, main residence and emergency contacts are only collected while those sections are on in Contract details; otherwise these stay blank.

Second tenant and guarantor​

Filled from the Second tenant and Guarantor sections of the booking's Contract Info tab. On a booking without one, they stay blank (or print N/A), so one template works for every booking.

  • Second tenant: {SecondTenantName}, {SecondTenantFirstName}, {SecondTenantLastName}, {SecondTenantEmail}, {SecondTenantPhone}, {SecondTenantNationality}, {SecondTenantFiscalId}, {SecondTenantIdentificationId}, {SecondTenantIdDocumentType}, {SecondTenantIdDocumentCountry}, {SecondTenantIdDocumentExpiryDate}, {SecondTenantFiscalAddress}.
  • Guarantor: the same set starting with Guarantor (for example {GuarantorName}), plus {GuarantorAmount} and {GuarantorAmountInText…}, which print blank (never 0) when no amount is entered.

Only identity details are recorded for both; billing and bank details come from the main tenant.

Owner​

{OwnerName}, {OwnerFiscalId}, {OwnerFiscalAddress}, {OwnerEmail}, {OwnerPhone}, {OwnerIdDocumentType}, {OwnerIdDocumentNumber} come from the property's owner in Owners. They are blank on a property with no owner.

Property, unit and booking​

VariablePrints
{PropertyAddress}Property address
{ListingInternalName}, {Floor}, {RoomNumber}Unit internal name, floor, room number
{PropertyTotalRooms}Number of units in the property
{PropertyRoomRange}Unit names: a range (H.1 a H.6) when no number is missing, otherwise a list (H.1, H.3, H.6)
{PropertyArea}, {ListingArea}Area in m², two decimals; blank if not set
{PropertyAreaInText…}, {ListingAreaInText…}Area in words: sixty-two [62] square meters (En), sessenta e dois [62] metros quadrados (Pt)
{LeasePurpose}The booking's lease purpose
{BookingSource}Platform the booking came from; blank for direct bookings

Areas come from the Full integration tab of the property or unit editor. Lease purpose options are set in Categories.

Dates and duration​

VariablePrints
{StartDate}, {EndDate}Contract dates, 01/09/2026
{CheckInDate}, {CheckOutDate}Move-in and move-out dates
{CheckInTime}, {CheckOutTime}Check-in and check-out times
{StartDateInText…}, {EndDateInText…}, {CheckInDateInText…}, {CheckOutDateInText…}Long form: September 1, 2026, 1 de setembro de 2026, 1 de septiembre de 2026, 1 settembre 2026
{ContractDurationMonths}Whole months, as a number: 6
{ContractDurationInText…}Whole months in words: six [6] months (En), seis [6] meses (Pt, Es)
{ContractDurationDays}Days left over after the whole months
{ContractDurationFullInText…}Months and days: three [3] months and thirteen [13] days (En), tres [3] meses y trece [13] días (Es)
{ContractSignDate}The day the contract is generated while the stay has not started; from the start date on, the start date
{ContractGenerationDate}Always the day the PDF is produced
  • The duration counts the end date as the last day, so 01/01 to 30/06 is 6 months. Partial months are not rounded up.
  • A missing date prints blank, in both forms.
  • For renewals, or any contract regenerated after the stay started, put {ContractGenerationDate} on the signature line; {ContractSignDate} would print the original start date.

Money​

VariablePrints
{RentValue}Monthly rent; a range (900 - 1100) when it changes from month to month
{CurrencySymbol}, {Currency}The booking's currency symbol (€, £, $) and code (EUR, GBP, USD)
{RentJan} … {RentDec}Rent for each month; months outside the contract print NA
{SecurityDeposit}, {AdministrativeFee}, {CleaningFee}, {ExitFee}Deposit and fees; 0 when there is none
{ContractTotalValue}Total rent over the contract, without fees; it does not change as the tenant pays
{TotalValuePending}Amount still to be paid
{Debt}Amount in debt; 0 when the balance is not negative
{AmountDueAtBookingConfirmation}, {AmountDueAtCheckIn}Payments required at booking confirmation or at check-in; 0 when none
{Installment2Amount} … {Installment4Amount}Rent instalments 2–4 after check-in; blank when the plan has fewer
{Installment2DueDate} … {Installment4DueDate}Their due dates; instalment 1 is inside {AmountDueAtCheckIn}
{BillsIncludedMaxValue}Maximum bills included per month
{vIBAN}The booking's virtual IBAN for transfers
{LocalRentCap}, {RentCapDifference}Rent cap and services portion with dual pricing

Amounts in words: {RentValueInText…}, {SecurityDepositInText…}, {CleaningFeeInText…}, {ContractTotalValueInText…}, {AmountDueAtBookingConfirmationInText…}, {AmountDueAtCheckInInText…}, {Installment2AmountInText…} … {Installment4AmountInText…} and {GuarantorAmountInText…}. They spell the amount in the booking's currency with cents (eight hundred and fifty euros and fifty cents); a changing rent prints the range (nine hundred to one thousand one hundred euros).

A renda mensal é de {RentValue} {CurrencySymbol} ({RentValueInTextPt}).
The monthly rent is {CurrencySymbol}{RentValue} ({RentValueInTextEn}).

Signatures and a second document​

VariableWhat it does
{%TenantSignature}The tenant's signature, added when they sign in the portal
{%SecondTenantSignature}, {%GuarantorSignature}The second tenant's and guarantor's signatures; blank until they sign
{%LandlordSignature}Your stored landlord signature, added when the tenant signs
{NewDocument: Name}Splits the template into a second document, signed together with the contract

To attach house rules, for example, type {NewDocument: House rules} on a line of its own in the body. Everything below becomes a separate PDF named after the text after the colon; the tenant signs both at once and both are saved in the booking's files. Add signature variables below the line if the second document needs them. The line does nothing inside a table, a text box or a header.

Addendum​

Use these in the addendum template next to the ordinary variables, which print the new values:

  • Terms last signed: {PreviousStartDate}, {PreviousEndDate}, {PreviousCheckInDate}, {PreviousCheckOutDate}, {PreviousRentValue}, {PreviousSecurityDeposit}, {PreviousAdministrativeFee}, {PreviousExitFee}, {PreviousCleaningFee}.
  • Added period, for extensions: {ExtensionStartDate}, {ExtensionEndDate}, {ExtensionRentValue}.

Troubleshooting​

  • A value prints blank: check the spelling and capital letters, and that the booking has that data. Turn on Print N/A for empty variables to see which ones are empty.
  • VIVIN refuses to generate the contract over a currency symbol: use {CurrencySymbol} or {Currency} instead of a typed €, £ or $.

Tips​

  • Use one form of a value per clause: {StartDate} {StartDateInTextEs} prints the date twice, and {ContractDurationInTextEs} already includes the number in brackets.
  • Match the language suffix to the clause around it.