Deal documents
This document lists all available placeholders for default Deal Documents. Most specialized templating scenarios fall back to this one.
Overview
This is the main Document templating providing comprehensive Deal information including Customers, Units, Payments, Discounts, and more.
Simple Placeholders
Deal Overview
$dealId
$dealIdUnique identifier of the Deal (numeric ID).
Type: String | UI: "Deal" (business_case)
$tags
$tagsTags associated with the Deal, comma-separated.
Type: String | UI: "Tags" (customer_param_tags)
$type
$typeType of the Deal. Possible values: Standard, Investment.
Type: String | UI: "Type" (type)
$status
$statusCurrent status of the Deal. Possible values: Active, Lost, Won, Sleeping.
Type: String | UI: "Status" (status)
$lifeCycle
$lifeCycleLifecycle stage of the Deal. Possible values: New, Negotiating, Preparing contract, Reservation contract signed, Reservation paid, Future purchase contract signed, Future purchase contract paid, Purchase contract paid, Purchase contract signed, PC entered cadastre.
Type: String | UI: "Lifecycle" (business_case_lifecycle)
$createdOn
$createdOnDate when the Deal was created.
Type: DateWrapper | UI: "Created" (business_case_param_added)
$closedOn
$closedOnDate when the Deal was closed.
Type: DateWrapper | UI: "Closed" (business_case_param_closed)
$handoverDate
$handoverDateScheduled or actual handover date for the Deal.
Type: DateWrapper | UI: "Handover" (business_case_param_handover_label)
$closingReason
$closingReasonReason for closing the Deal (if closed). Type: String
$closingComment
$closingCommentAdditional comment about closing the Deal.
Type: String | UI: "Closing Comment" (business_case_param_closing_comment_label)
$variableSymbol
$variableSymbolVariable symbol for the Deal. Type: String
$inspectionDate
$inspectionDateDate of the Deal inspection.
Type: DateWrapper | UI: "Inspection" (business_case_param_inspection_label)
$homa_user_basis_of_representation / $is_homa_user_basis_of_representation
$homa_user_basis_of_representation / $is_homa_user_basis_of_representationUser's basis of representation (Homa-specific). The is_* variant is a Boolean for conditional checks.
Type: String / Boolean
Project Identification
Dynamic boolean placeholders are created for each project in your system. These allow you to conditionally include content based on which project the Deal belongs to.
$is<ProjectName>
$is<ProjectName>Boolean indicating if the Deal's main project matches this project. The placeholder name is created by normalizing the project name (removing spaces and special characters).
Type: Boolean
Examples:
For a project named "River View Apartments", the placeholder would be:
$isRiverViewApartmentsFor a project named "City Center", the placeholder would be:
$isCityCenter
Usage example:
Current User Information
$currentUser
$currentUserName of the user generating the document. Type: String
$currentUserEmail / $isCurrentUserEmail
$currentUserEmail / $isCurrentUserEmailEmail address of the user generating the document. The is* variant is a Boolean for conditional checks.
Type: String / Boolean
$currentUserPhone / $isCurrentUserPhone
$currentUserPhone / $isCurrentUserPhonePhone number of the user generating the document. The is* variant is a Boolean for conditional checks.
Type: String / Boolean
$currentUserSupplier / $isCurrentUserSupplier
$currentUserSupplier / $isCurrentUserSupplierSupplier associated with the user generating the document. The is* variant is a Boolean for conditional checks.
Type: String / Boolean
Date Utilities
$now
$nowCurrent date and time when the document is generated. Type: DateWrapper
$nowDMYdot
$nowDMYdotCurrent date formatted as dd.MM.yyyy (e.g., 23.12.2025). Type: DateWrapper (formatted)
$nowPlus14
$nowPlus14Current date plus 14 days. Type: DateWrapper
$nowPlus30
$nowPlus30Current date plus 30 days. Type: DateWrapper
$sentCallToPay
$sentCallToPayDate when the call to pay was sent.
Type: DateWrapper | UI: "Sent Call to Pay" (business_case_param_sentcalltopay_label)
$taxOfficeSubmissionDeadline
$taxOfficeSubmissionDeadlineDeadline for submitting documents to the tax office.
Type: DateWrapper | UI: "Tax office submission deadline" (business_case_param_taxoffice_submission_deadline_label)
$taxOfficeSubmissionDate
$taxOfficeSubmissionDateDate when documents were submitted to the tax office.
Type: DateWrapper | UI: "Tax office submission date" (business_case_param_taxoffice_submission_date_label)
Prices and Discounts
$dealPriceVAT / $dealPriceVAT_sk / $dealPriceVAT_cz
$dealPriceVAT / $dealPriceVAT_sk / $dealPriceVAT_czTotal Deal price with VAT. Includes Slovak and Czech word variants. Type: NumberWrapper / String (words)
$dealPriceNoVAT / $dealPriceNoVAT_sk / $dealPriceNoVAT_cz
$dealPriceNoVAT / $dealPriceNoVAT_sk / $dealPriceNoVAT_czTotal Deal price without VAT. Includes Slovak and Czech word variants. Type: NumberWrapper / String (words)
$dealPriceVATAmount / $dealPriceVATAmount_sk / $dealPriceVATAmount_cz
$dealPriceVATAmount / $dealPriceVATAmount_sk / $dealPriceVATAmount_czVAT amount on the Deal price. Includes Slovak and Czech word variants. Type: NumberWrapper / String (words)
$dealPriceVATRate / $dealPriceVATRate_sk / $dealPriceVATRate_cz
$dealPriceVATRate / $dealPriceVATRate_sk / $dealPriceVATRate_czVAT rate percentage for the Deal. Includes Slovak and Czech word variants. Type: NumberWrapper / String (words)
$dealDiscountVat
$dealDiscountVatTotal Deal Discount with VAT. Type: NumberWrapper
$dealDiscountNoVat
$dealDiscountNoVatTotal Deal Discount without VAT. Type: NumberWrapper
$dealPriceWithAdditionalProductsVat / $dealPriceWithAdditionalProductsVat_sk / $dealPriceWithAdditionalProductsVat_cz
$dealPriceWithAdditionalProductsVat / $dealPriceWithAdditionalProductsVat_sk / $dealPriceWithAdditionalProductsVat_czDeal price with VAT including all Additional Products. Includes Slovak and Czech word variants. Type: NumberWrapper / String (words)
$dealPriceWithAdditionalProductsNoVat / $dealPriceWithAdditionalProductsNoVat_sk / $dealPriceWithAdditionalProductsNoVat_cz
$dealPriceWithAdditionalProductsNoVat / $dealPriceWithAdditionalProductsNoVat_sk / $dealPriceWithAdditionalProductsNoVat_czDeal price without VAT including all Additional Products. Includes Slovak and Czech word variants. Type: NumberWrapper / String (words)
$dealPriceWithAdditionalProductsVatAmount / $dealPriceWithAdditionalProductsVatAmount_sk / $dealPriceWithAdditionalProductsVatAmount_cz
$dealPriceWithAdditionalProductsVatAmount / $dealPriceWithAdditionalProductsVatAmount_sk / $dealPriceWithAdditionalProductsVatAmount_czVAT amount on the Deal price with Additional Products (calculated). Includes Slovak and Czech word variants. Type: NumberWrapper / String (words)
$dealPriceWithAdditionalProductsVatRate / $dealPriceWithAdditionalProductsVatRate_sk / $dealPriceWithAdditionalProductsVatRate_cz
$dealPriceWithAdditionalProductsVatRate / $dealPriceWithAdditionalProductsVatRate_sk / $dealPriceWithAdditionalProductsVatRate_czVAT rate percentage on the Deal price with Additional Products (calculated). Includes Slovak and Czech word variants. Type: NumberWrapper / String (words)
$dealPriceIgnoredProductsVat
$dealPriceIgnoredProductsVatPrice of ignored Additional Products with VAT. Type: NumberWrapper
$dealPriceIgnoredProductsNoVat
$dealPriceIgnoredProductsNoVatPrice of ignored Additional Products without VAT. Type: NumberWrapper
Payment Sums and Balances
$dealPaymentsIncomingSumVat / $dealPaymentsIncomingSumVat_sk / $dealPaymentsIncomingSumVat_cz
$dealPaymentsIncomingSumVat / $dealPaymentsIncomingSumVat_sk / $dealPaymentsIncomingSumVat_czTotal sum of all Incoming Payments with VAT. Includes Slovak and Czech word variants. Type: NumberWrapper / String (words)
$dealPaymentsPrescribedSumVat / $dealPaymentsPrescribedSumVat_sk / $dealPaymentsPrescribedSumVat_cz
$dealPaymentsPrescribedSumVat / $dealPaymentsPrescribedSumVat_sk / $dealPaymentsPrescribedSumVat_czTotal sum of all Prescribed Payments with VAT. Includes Slovak and Czech word variants. Type: NumberWrapper / String (words)
$dealPaymentsPendingSumVat / $dealPaymentsPendingSumVat_sk / $dealPaymentsPendingSumVat_cz
$dealPaymentsPendingSumVat / $dealPaymentsPendingSumVat_sk / $dealPaymentsPendingSumVat_czPending payment amount (Prescribed minus Incoming), representing the Deal balance. Includes Slovak and Czech word variants.
Type: NumberWrapper / String (words) | UI: "Financial balance" (business_case_balance_overall_label)
$dealPaymentsIncomingNoCustomChangesSumVat / $dealPaymentsIncomingNoCustomChangesSumVat_sk / $dealPaymentsIncomingNoCustomChangesSumVat_cz
$dealPaymentsIncomingNoCustomChangesSumVat / $dealPaymentsIncomingNoCustomChangesSumVat_sk / $dealPaymentsIncomingNoCustomChangesSumVat_czSum of Incoming Payments excluding Custom Changes, with VAT. Includes Slovak and Czech word variants. Type: NumberWrapper / String (words)
$dealPaymentsIncomingNoCustomChangesSumNoVat / $dealPaymentsIncomingNoCustomChangesSumNoVat_sk / $dealPaymentsIncomingNoCustomChangesSumNoVat_cz
$dealPaymentsIncomingNoCustomChangesSumNoVat / $dealPaymentsIncomingNoCustomChangesSumNoVat_sk / $dealPaymentsIncomingNoCustomChangesSumNoVat_czSum of Incoming Payments excluding Custom Changes, without VAT. Includes Slovak and Czech word variants. Type: NumberWrapper / String (words)
$dealPaymentsIncomingOnlyCustomChangesSumVat / $dealPaymentsIncomingOnlyCustomChangesSumVat_sk / $dealPaymentsIncomingOnlyCustomChangesSumVat_cz
$dealPaymentsIncomingOnlyCustomChangesSumVat / $dealPaymentsIncomingOnlyCustomChangesSumVat_sk / $dealPaymentsIncomingOnlyCustomChangesSumVat_czSum of only Custom Changes Incoming Payments, with VAT. Includes Slovak and Czech word variants. Type: NumberWrapper / String (words)
$dealPaymentsIncomingOnlyCustomChangesSumNoVat / $dealPaymentsIncomingOnlyCustomChangesSumNoVat_sk / $dealPaymentsIncomingOnlyCustomChangesSumNoVat_cz
$dealPaymentsIncomingOnlyCustomChangesSumNoVat / $dealPaymentsIncomingOnlyCustomChangesSumNoVat_sk / $dealPaymentsIncomingOnlyCustomChangesSumNoVat_czSum of only Custom Changes Incoming Payments, without VAT. Includes Slovak and Czech word variants. Type: NumberWrapper / String (words)
$dealBalanceOverall / $dealBalanceOverall_sk / $dealBalanceOverall_cz
$dealBalanceOverall / $dealBalanceOverall_sk / $dealBalanceOverall_czOverall Deal balance with VAT. Includes Slovak and Czech word variants. Boolean checks available: $isDealBalanceOverallPositive, $isDealBalanceOverallNegative, $isDealBalanceOverallNonPositive, $isDealBalanceOverallNonNegative.
Type: NumberWrapper / String (words) / Boolean | UI: "Financial balance" (business_case_balance_overall_label)
$dealBalanceToday / $dealBalanceToday_sk / $dealBalanceToday_cz
$dealBalanceToday / $dealBalanceToday_sk / $dealBalanceToday_czDeal balance as of today with VAT. Includes Slovak and Czech word variants. Boolean checks available: $isDealBalanceTodayPositive, $isDealBalanceTodayNegative, $isDealBalanceTodayNonPositive, $isDealBalanceTodayNonNegative.
Type: NumberWrapper / String (words) / Boolean | UI: "Balance today" (business_case_balance_today_label)
$paymentReservationFeeDefault / $paymentReservationFeeDefault_sk / $paymentReservationFeeDefault_cz
$paymentReservationFeeDefault / $paymentReservationFeeDefault_sk / $paymentReservationFeeDefault_czDefault reservation fee amount. Includes Slovak and Czech word variants. Type: NumberWrapper / String (words)
$remainsToPayDirectly / $remainsToPayDirectly_sk / $remainsToPayDirectly_cz / $isDirectTransferBalancePositive
$remainsToPayDirectly / $remainsToPayDirectly_sk / $remainsToPayDirectly_cz / $isDirectTransferBalancePositiveAmount remaining to be paid via direct transfer (difference between prescribed and incoming direct transfer payments). Includes Slovak and Czech word variants. Boolean check $isDirectTransferBalancePositive indicates if the balance is positive.
Type: NumberWrapper / String (words) / Boolean
$currentAccountTotal / $currentAccountTotal_sk / $currentAccountTotal_cz
$currentAccountTotal / $currentAccountTotal_sk / $currentAccountTotal_czTotal amount to be paid to current account. Includes Slovak and Czech word variants. Type: NumberWrapper / String (words)
Additional Products
$customerModificationImplementationPriceVatAmount
$customerModificationImplementationPriceVatAmountVAT amount on Customer Modification Implementation price. Type: NumberWrapper
$customerModificationImplementationPriceNoVat / $customerModificationImplementationPriceNoVat_sk / $customerModificationImplementationPriceNoVat_cz
$customerModificationImplementationPriceNoVat / $customerModificationImplementationPriceNoVat_sk / $customerModificationImplementationPriceNoVat_czCustomer Modification Implementation price without VAT. Includes Slovak and Czech word variants. Type: NumberWrapper / String (words)
$customerModificationImplementationPriceVat / $customerModificationImplementationPriceVat_sk / $customerModificationImplementationPriceVat_cz
$customerModificationImplementationPriceVat / $customerModificationImplementationPriceVat_sk / $customerModificationImplementationPriceVat_czCustomer Modification Implementation price with VAT. Includes Slovak and Czech word variants. Type: NumberWrapper / String (words)
Mortgage Information
$mortgageDeadline
$mortgageDeadlineDeadline to present the mortgage contract.
Type: DateWrapper | UI: "Deadline to present the mortgage contract" (business_case_mortgage_agreement_deadline_label)
$mortgagePresented
$mortgagePresentedDate when the mortgage contract was presented.
Type: DateWrapper | UI: "Date of presenting the mortgage contract" (business_case_param_mortgage_agreement_label)
$mortgageAmount / $mortgageAmount_sk / $mortgageAmount_cz
$mortgageAmount / $mortgageAmount_sk / $mortgageAmount_czMortgage amount. Includes Slovak and Czech word variants.
Type: NumberWrapper / String (words) | UI: "Mortgage amount" (business_case_mortgage_amount_label)
$mortgageTotal / $mortgageTotal_sk / $mortgageTotal_cz / $isMortgage
$mortgageTotal / $mortgageTotal_sk / $mortgageTotal_cz / $isMortgageTotal mortgage amount. Includes Slovak and Czech word variants. Boolean check $isMortgage indicates if mortgage is used.
Type: NumberWrapper / String (words) / Boolean
$mortgageBankName
$mortgageBankNameName of the mortgage bank.
Type: String | UI: "Mortgage bank" (business_case_mortgage_bank_label)
$mortgageBankIn
$mortgageBankInIdentification number of the mortgage bank. Type: String
Inspection
$technicalInspectionDate
$technicalInspectionDateDate of the Technical Inspection.
Type: DateWrapper | UI: "Technical inspection" (business_case_handover_inspection)
Notary and Escrow
$notaryName
$notaryNameName of the notary.
Type: String | UI: "Notary name" (deal_paymentmethod_notaryescrow_name)
$notaryAddress
$notaryAddressAddress of the notary.
Type: String | UI: "Notary address" (deal_paymentmethod_notaryescrow_address)
$notaryAccountNo
$notaryAccountNoNotary escrow account number.
Type: String | UI: "Notary escrow account number" (business_case_param_escrow_notary_account_no)
$notaryBankName
$notaryBankNameName of the notary's bank.
Type: String | UI: "Notary bank" (deal_paymentmethod_notaryescrow_bank)
$bankEscrowTotal / $bankEscrowTotal_sk / $bankEscrowTotal_cz / $isBankEscrow
$bankEscrowTotal / $bankEscrowTotal_sk / $bankEscrowTotal_cz / $isBankEscrowTotal amount in bank escrow account. Includes Slovak and Czech word variants. Boolean check $isBankEscrow indicates if bank escrow is used.
Type: NumberWrapper / String (words) / Boolean
$escrowBankName
$escrowBankNameName of the escrow bank. Type: String
$escrowBankIn
$escrowBankInIdentification number of the escrow bank. Type: String
$escrowBankAccountNo
$escrowBankAccountNoEscrow bank account number. Type: String
$notaryEscrowTotal / $notaryEscrowTotal_sk / $notaryEscrowTotal_cz / $isNotaryEscrow
$notaryEscrowTotal / $notaryEscrowTotal_sk / $notaryEscrowTotal_cz / $isNotaryEscrowTotal amount in notary escrow account. Includes Slovak and Czech word variants. Boolean check $isNotaryEscrow indicates if notary escrow is used.
Type: NumberWrapper / String (words) / Boolean | UI: "Notary escrow" (deal_account_type_escrow_notary)
$isEscrow
$isEscrowBoolean indicating whether any escrow account (bank or notary) is used.
Type: Boolean | UI: "Escrow account" (business_case_escrow)
Cadastre Information
$pledgeCadastreSentDate
$pledgeCadastreSentDateDate of submitting the pledge contract to the cadastre.
Type: DateWrapper | UI: "Date of submitting the pledge contract to the cadastre" (business_case_param_pledgecontract_cadastre_sent_label)
$pledgeCadastreRegNumber
$pledgeCadastreRegNumberPledge contract cadastre registration number.
Type: String | UI: "Pledge contract cadastre registration number" (business_case_param_pledgecontract_cadastre_regno_label)
$pledgeCadastreEntryDate
$pledgeCadastreEntryDatePledge contract cadastre entry date.
Type: DateWrapper | UI: "Pledge contract cadastre entry date" (business_case_param_pledgecontract_cadastre_entry_label)
$cadastreSentDate
$cadastreSentDateDate of entering the purchase contract cadastre proposal.
Type: DateWrapper | UI: "Date of entering the purchase contract cadastre proposal" (business_case_param_cadastre_sent_label)
$cadastreRegNumber
$cadastreRegNumberPurchase contract cadastre registration number.
Type: String | UI: "Purchase contract cadastre registration number" (business_case_param_cadastre_regno_label)
$cadastreEntryDeadline
$cadastreEntryDeadlinePurchase contract cadastre entry deadline.
Type: DateWrapper | UI: "Purchase contract cadastre entry deadline" (business_case_param_cadastre_entry_deadline_label)
$cadastreEntryDate
$cadastreEntryDatePurchase contract cadastre entry date.
Type: DateWrapper | UI: "Purchase contract cadastre entry date" (business_case_param_cadastre_entry_date_label)
Salesman Information
$salesman
$salesmanName of the salesman/sales agent assigned to the Deal. Type: String
$salesmanEmail
$salesmanEmailEmail address of the salesman/sales agent. Type: String
$salesmanPhone
$salesmanPhonePhone number of the salesman/sales agent. Type: String
Customer Flags
$isAdditionalCustomers
$isAdditionalCustomersBoolean indicating whether the Deal has additional Customers beyond the primary Customer. Type: Boolean
$isOneCustomerOnly
$isOneCustomerOnlyBoolean indicating whether the Deal has only one Customer (no additional Customers). Type: Boolean
$isTwoOrMoreCustomers
$isTwoOrMoreCustomersBoolean indicating whether the Deal has two or more Customers. Type: Boolean
$isCustomerSharesUndivided
$isCustomerSharesUndividedBoolean indicating whether Customer shares are undivided (when multiple Customers exist). Type: Boolean
Prereservation
$isPrereservation
$isPrereservationBoolean indicating whether the Deal has any prereservations. Type: Boolean
Meter Readings
$metersTotalPriceNoVat / $metersTotalPriceNoVat_sk / $metersTotalPriceNoVat_cz
$metersTotalPriceNoVat / $metersTotalPriceNoVat_sk / $metersTotalPriceNoVat_czTotal price of all meter readings without VAT. Includes Slovak and Czech word variants. Type: NumberWrapper / String (words)
$metersTotalPriceVat / $metersTotalPriceVat_sk / $metersTotalPriceVat_cz
$metersTotalPriceVat / $metersTotalPriceVat_sk / $metersTotalPriceVat_czTotal price of all meter readings with VAT. Includes Slovak and Czech word variants. Type: NumberWrapper / String (words)
$metersTotalVat / $metersTotalVat_sk / $metersTotalVat_cz
$metersTotalVat / $metersTotalVat_sk / $metersTotalVat_czTotal VAT amount on all meter readings. Includes Slovak and Czech word variants. Type: NumberWrapper / String (words)
Prereservations (Repeating List)
The $prereservations list contains all prereservations associated with the Deal.
How to Use
Available Properties
$prereservation.internalId— Internal ID of the Unit being prereserved. Type: String$prereservation.expirationDate— Date when the prereservation expires (valid until date). Type: DateWrapper$prereservation.queuePosition— Position in the prereservation queue. Type: NumberWrapper
Related placeholder:
$isPrereservation— Boolean indicating if any prereservations exist
Units (Repeating List)
The $units list contains all Units associated with the Deal (Flats, Parking spots, Cellars, Garages, etc.).
How to Use
Available Properties
Basic Information:
$unit.type— Type of the Unit (e.g., Flat, Parking, Cellar, Garage). Type: String$unit.internalId— Unique identifier of the Unit within the Project. Type: String | UI: "Number in project" (flat_param_internalid)$unit.tags— Tags associated with the Unit, comma-separated. Type: String$unit.disposition— Room layout/disposition of the Unit (e.g., "2+kk", "3+1"). Type: String | UI: "Rooms" (flat_param_disposition)$unit.category— Category of the Unit (custom classification). Type: String$unit.orientation— Orientation of the Unit (e.g., North, South, East, West). Type: String | UI: "Orientation" (flat_param_orientation)
Areas:
$unit.area— Net area of the Unit. Type: NumberWrapper | UI: "Area" (flat_param_area)$unit.areaGross— Gross area of the Unit. Type: NumberWrapper | UI: "Gross area" (flat_param_area_gross)$unit.areaBalcony— Balcony area. Type: NumberWrapper | UI: "Balcony" (flat_param_area_balcony)$unit.areaTerrace— Terrace area. Type: NumberWrapper | UI: "Terrace" (flat_param_area_terrace)$unit.areaLoggia— Loggia area. Type: NumberWrapper | UI: "Loggia" (flat_param_area_loggia)$unit.areaGarden— Garden area. Type: NumberWrapper | UI: "Garden" (flat_param_area_garden)$unit.areaEquivalent— Equivalent area (weighted sum of all areas). Type: NumberWrapper | UI: "Equivalent area" (flat_param_area_equivalent)
Location:
$unit.floorNo— Floor number (can be negative for basements). Type: String$unit.floorNoAbsolute— Absolute value of the floor number. Type: String$unit.building— Name of the Building containing this Unit. Type: String | UI: "Building" (building)$unit.project— Name of the Project containing this Unit. Type: String | UI: "Project" (project)
Pricelist Prices:
$unit.priceNoVAT/$unit.priceNoVAT_sk/$unit.priceNoVAT_cz— Original pricelist price without VAT. Includes Slovak and Czech word variants. Type: NumberWrapper / String (words) | UI: "Price w/o VAT" (flat_param_price)$unit.priceVAT/$unit.priceVAT_sk/$unit.priceVAT_cz— Original pricelist price with VAT. Includes Slovak and Czech word variants. Type: NumberWrapper / String (words) | UI: "Price w/ VAT" (flat_param_price_vat)$unit.priceVatRate— VAT rate percentage. Type: String$unit.priceVatAmount/$unit.priceVatAmount_sk/$unit.priceVatAmount_cz— VAT amount from pricelist price. Type: NumberWrapper / String (words)
Discounted Prices (After Unit-Level Discounts):
$unit.finalPriceSQM/$unit.finalPriceSQM_sk/$unit.finalPriceSQM_cz— Final price per square meter after Unit-level discounts. Type: NumberWrapper / String (words) | UI: "Price per square meter" (flat_param_price_sqm_novat)$unit.finalPriceNoVat/$unit.finalPriceNoVat_sk/$unit.finalPriceNoVat_cz— Final price without VAT after Unit-level discounts. Type: NumberWrapper / String (words)$unit.finalPriceVat/$unit.finalPriceVat_sk/$unit.finalPriceVat_cz— Final price with VAT after Unit-level discounts. Type: NumberWrapper / String (words)
Deal-Level Prices (After Deal-Level Discounts):
$unit.finalPriceOnDealNoVat/$unit.finalPriceOnDealNoVat_sk/$unit.finalPriceOnDealNoVat_cz— Final price without VAT after all Deal-level discounts. Type: NumberWrapper / String (words)$unit.finalPriceOnDealVat/$unit.finalPriceOnDealVat_sk/$unit.finalPriceOnDealVat_cz— Final price with VAT after all Deal-level discounts. Type: NumberWrapper / String (words)
Availability and Queue:
$unit.availability— Current availability status of the Unit (e.g., Available, Reserved, Sold). Type: String | UI: "Availability" (flat_param_availability)$unit.is_queue— Boolean indicating if the Unit has a prereservation queue. Type: Boolean$unit.queuePosition— Position in the prereservation queue (if applicable). Type: NumberWrapper
Associated Units and Rooms:
$unit.isAssociatedUnit— Boolean indicating if this Unit has associated Units (e.g., parking with a flat). Type: Boolean$unit.associatedUnits— Nested list of Units associated with this Unit (each has same properties as main Unit). Example:
$unit.rooms— Nested list of Rooms within this Unit. Each room has:$room.typeName— Type/name of the room$room.internalId— Internal identifier$room.area— Room area (NumberWrapper)$room.note— Notes about the room
Example:
Images and Plans:
$unit.plan— Floor plan image for this Unit. Type: Image$unit.flr— Floor plans map with custom placeholder keys (building/floor level plans). Type: Map of Images
Unit Type-Specific Lists
Type-specific lists:
$flats— Only Flat-type Units$parkings/$parking/$parkingSpaces— Parking spot Units$cellars/$cellar— Cellar Units$garages/$garage— Garage Units$outdoorParkings/$outdoorParking— Outdoor parking Units$garageCellar— Special garage-cellar combined Units$roofParking— Rooftop parking Units$parkingLikeUnits— All parking-like Units combined
Related placeholder:
$mainUnitRooms— List of rooms in the main Unit
Customers (Repeating List)
The $customers list contains all Customers associated with the Deal (primary Customer and additional co-owners).
How to Use
Available Properties
Customer Type Indicators:
$customer.isNatural— Boolean indicating if this is a Natural Person. Type: Boolean$customer.isLegal— Boolean indicating if this is a Legal Person. Type: Boolean
Ownership Information:
$customer.share— Customer's ownership share. Type: NumberWrapper$customer.base— Base value for ownership calculation. Type: NumberWrapper
Common Properties:
$customer.fullName— Full name of the Customer. Type: String | UI: "Name" (customer_param_full_name)$customer.tags— Tags associated with the Customer, comma-separated. Type: String$customer.isSomeoneAfter— Boolean indicating if there are more Customers after this one. Type: Boolean
Contact Information:
$customer.isAddress/$customer.address— Contact address (formatted). Type: Boolean / String | UI: "Address" (address)$customer.phone— Phone number. Type: String | UI: "Phone" (contact_param_phone)$customer.email— Email address. Type: String | UI: "E-mail" (contact_param_email)
Billing Information:
$customer.isBankConnection/$customer.bankConnection— Bank connection/name. Type: Boolean / String | UI: "Bank connection" (billing_param_bankconnection)$customer.accountNumber— Bank account number. Type: String | UI: "Account number" (billing_param_accountno)$customer.iban— IBAN. Type: String | UI: "IBAN" (billing_param_iban)
Natural Person-Specific Properties: (For Legal Persons these contain placeholder text "[Legal entity]")
$customer.title— Title/honorific. Type: String | UI: "Title" (person_param_title)$customer.firstName— First name. Type: String | UI: "Name" (person_param_name)$customer.surname— Surname. Type: String | UI: "Surname" (person_param_surname)$customer.maidenName— Maiden name. Type: String | UI: "Maiden name" (person_param_maidenname)$customer.birthDate— Date of birth. Type: DateWrapper | UI: "Date of birth" (person_param_birthdate)$customer.occupation— Occupation/profession. Type: String | UI: "Occupation" (person_param_occupation)$customer.personalNumber— Personal identification number. Type: String | UI: "Personal number" (person_param_personal_number)$customer.maritalStatus— Marital status. Type: String | UI: "Marital status" (person_param_maritalstatus)$customer.nationality— Nationality. Type: String | UI: "Nationality" (person_param_nationality)
Permanent Address (Natural Persons):
$customer.isPermanentAddress/$customer.permanentAddress— Permanent address. Type: Boolean / String | UI: "Permanent address" (address_permanent)$customer.isPermanentAddressStreet/$customer.permanentAddressStreet— Street and number. Type: Boolean / String | UI: "Street and No." (address_param_street)$customer.isPermanentAddressCity/$customer.permanentAddressCity— City/town. Type: Boolean / String | UI: "City/Town" (address_param_city)$customer.isPermanentAddressZip/$customer.permanentAddressZip— ZIP/postal code. Type: Boolean / String | UI: "ZIP" (address_param_zip)$customer.isPermanentAddressState/$customer.permanentAddressState— State/country. Type: Boolean / String | UI: "State/Country" (address_param_state)$customer.isPermanentAddressNote/$customer.permanentAddressNote— Address note. Type: Boolean / String | UI: "Note" (address_param_note)
Legal Person-Specific Properties: (For Natural Persons these contain placeholder text "[Person]")
$customer.in— Identification Number (company reg. number). Type: String | UI: "IN" (person_param_in)$customer.tin— Tax Identification Number. Type: String | UI: "VAT ID" (person_param_tin)$customer.vatid— VAT ID with country prefix. Type: String | UI: "VAT ID (SK)" (person_param_vatid)$customer.executive— Executive/CEO name. Type: String | UI: "Executive" (person_legal_executive)$customer.executivePersonalNumber— Executive's personal identification number. Type: String | UI: "Personal number" (person_param_personal_number)$customer.executiveBirthDate— Executive's date of birth. Type: DateWrapper | UI: "Date of birth" (person_param_birthdate)$customer.deputy— Deputy/Manager name. Type: String | UI: "Deputy" (person_legal_deputy)$customer.deputyPersonalNumber— Deputy's personal identification number. Type: String | UI: "Personal number" (person_param_personal_number)$customer.deputyBirthDate— Deputy's date of birth. Type: DateWrapper | UI: "Date of birth" (person_param_birthdate)
Related placeholders:
$isOneCustomerOnly,$isTwoOrMoreCustomers,$isAdditionalCustomers,$isCustomerSharesUndivided$customer1Name...$customer6Name— Individual Customer names (up to 6)$customer1Share...$customer6Share— Individual Customer shares$customer1Base...$customer6Base— Individual Customer base values
Payments Prescribed (Repeating List)
The $paymentsPrescribed list contains all scheduled/prescribed Payments for the Deal (payment schedule).
How to Use
Available Properties
Payment Classification:
$payment.type— Type of the prescribed Payment (localized text). Type: String | UI: "Type" (type)$payment.typeId— Type identifier (enum label). Type: String$payment.paymentMethod— Payment method (localized text). Type: String | UI: "Account type" (incoming_payment_param_accounttype)$payment.paymentMethodId— Payment method identifier. Type: String
Payment Amounts:
$payment.amountVat— Amount including VAT. Type: NumberWrapper | UI: "Amount including VAT" (business_case_payment_amount)$payment.amountNoVat— Amount excluding VAT. Type: NumberWrapper$payment.vatAmount— VAT amount. Type: NumberWrapper$payment.vatRate— VAT rate percentage (with "%"). Type: String
Payment Timing:
$payment.deadline— Due date for this Payment (calculated). Type: DateWrapper | UI: "Due date" (business_case_payment_deadline)$payment.substituteDeadline— Deprecated substitute deadline (unused). Type: DateWrapper
Payment Status:
$payment.isPaid— Boolean indicating if the Payment has been fully paid. Type: Boolean | UI: "Paid?" (business_case_payment_paid)$payment.paidOn— Date when the Payment was paid (if paid). Type: DateWrapper | UI: "Paid date" (business_case_payment_paiddate)$payment.paidAmount— Amount already paid (with VAT). Type: NumberWrapper | UI: "Paid w/ VAT" (business_case_payment_paid_amount)$payment.pendingAmount— Amount still pending/outstanding (with VAT). Type: NumberWrapper | UI: "Pending w/ VAT" (business_case_payment_pending_amount)
Additional Information:
$payment.note— Notes or comments about the Payment. Type: String
Related sections:
Payment Sums and Balances (aggregate calculations)
Payment Methods (breakdowns by method)
Payments Incoming (Repeating List)
The $paymentsIncoming list contains all received/incoming Payments for the Deal.
How to Use
Available Properties
Payment Date and Method:
$payment.paidOn— Date when the Payment was received. Type: DateWrapper | UI: "Paid date" (business_case_payment_paiddate)$payment.paymentMethod— Payment method used (localized text). Type: String | UI: "Account type" (incoming_payment_param_accounttype)$payment.paymentMethodId— Payment method identifier. Type: String
Payment Amounts:
$payment.amountVat— Amount including VAT. Type: NumberWrapper | UI: "Amount including VAT" (business_case_payment_amount)$payment.amountNoVat— Amount excluding VAT. Type: NumberWrapper$payment.vatAmount— VAT amount. Type: NumberWrapper$payment.vatRate— VAT rate percentage. Type: String
Bank Account Information:
$payment.isBankAccount— Boolean indicating if a bank account is associated. Type: Boolean$payment.bankAccount— Nested object with:name— Bank account name (String)isAllPaymentsCustomChanges— Boolean indicating if all payments to this account are Custom ChangesbankCode— Bank code (String)accountNumber— Account number (String)
Sender Information:
$payment.senderAccountNumber— Sender's bank account number. Type: String$payment.senderAccountHolder— Name of the account holder who sent the Payment. Type: String
Prescribed Payment Matching:
$payment.isPrescribedPayment— Boolean indicating if incoming Payment is matched to a prescribed Payment. Type: Boolean$payment.prescribedPayment— Nested object:type— Type of the prescribed Payment (String)typeId— Type identifier (String)amountVat— Prescribed amount with VAT (NumberWrapper)
Payment Identification:
$payment.externalId— External identifier for the Payment. Type: String$payment.variableSymbol— Variable symbol / pairing symbol used to match the Payment. Type: String
Custom Change Classification:
$payment.isCustomChangePayment— Boolean indicating if this is a Custom Change payment. Type: Boolean
Additional Information:
$payment.note— Notes or comments about the Payment. Type: String
Related sections:
Payment Sums and Balances
Payments Prescribed
Payments (Payment Methods) (Repeating List)
The $payments list contains prescribed payments grouped by payment method with additional bank and escrow details for each payment.
How to Use
Available Properties
Payment Classification:
$payment.type— Type of the prescribed payment (localized text). Type: String$payment.method— Payment method (localized text, e.g., "Direct Transfer", "Mortgage", "Notary Escrow", "Bank Escrow"). Type: String
Payment Amount:
$payment.amount/$payment.amount_sk/$payment.amount_cz— Payment amount with VAT. Includes Slovak and Czech word variants. Type: NumberWrapper / String (words)
Payment Method Flags:
$payment.isEscrow— Boolean indicating if this payment uses any escrow method. Type: Boolean$payment.isBankEscrow— Boolean indicating if this payment uses bank escrow. Type: Boolean$payment.isNotaryEscrow— Boolean indicating if this payment uses notary escrow. Type: Boolean$payment.isMortgage— Boolean indicating if this payment is paid via mortgage. Type: Boolean
Notary Information (for Notary Escrow payments):
$payment.notaryName— Name of the notary (empty string if not). Type: String$payment.notaryAddress— Address of the notary (empty string if not). Type: String$payment.notaryAccountNo— Notary escrow account number (empty string if not). Type: String$payment.notaryBankName— Name of the notary's bank (empty string if not). Type: String
Bank Escrow Information (for Bank Escrow payments):
$payment.escrowBankName— Name of the escrow bank (empty string if not). Type: String$payment.escrowBankIn— Identification number of the escrow bank (empty string if not). Type: String$payment.escrowBankAccountNo— Escrow bank account number (empty string if not). Type: String
Mortgage Information (for Mortgage payments):
$payment.mortgageBankName— Name of the mortgage bank (empty string if not). Type: String$payment.mortgageBankIn— Identification number of the mortgage bank (empty string if not). Type: String
Related sections:
Payment Sums and Balances
Notary and Escrow
Mortgage Information
Additional Products (Repeating List)
The $additional_products list contains all Additional Products on the Deal (e.g., parking spots, cellars, electrometers, Custom Changes, stamps, etc.).
How to Use
Available Properties
Product Classification:
$product.type— Type of the Additional Product (localized text). Type: String | UI: "Type" (type)$product.known_type— Known product type identifier (enum label), empty for custom "Other" types. Type: String$product.other_type— Custom type name (only when product type is "Other"). Type: String | UI: "Other type" (bc_document_other_type)
Product Identification:
$product.number— Internal identifier/number for this Additional Product. Type: String | UI: "Number" (flats_number)$product.description— Description of the Additional Product. Type: String | UI: "Description" (poi_param_description)
Cost (Internal Cost):
$product.cost_vat/$product.cost_vat_sk/$product.cost_vat_cz— Cost with VAT (internal cost to the developer). Type: NumberWrapper / String (words) | UI: "Price w/ VAT" (flat_param_price_vat)$product.cost_no_vat/$product.cost_no_vat_sk/$product.cost_no_vat_cz— Cost without VAT (internal cost to the developer). Type: NumberWrapper / String (words) | UI: "Price w/o VAT" (flat_param_price)
Price (Customer-Facing Price):
$product.price_vat/$product.price_vat_sk/$product.price_vat_cz— Price with VAT charged to the Customer (from linked prescribed Payment). Type: NumberWrapper / String (words) | UI: "Price w/ VAT" (flat_param_price_vat)$product.price_no_vat/$product.price_no_vat_sk/$product.price_no_vat_cz— Price without VAT charged to the Customer (from linked prescribed Payment). Type: NumberWrapper / String (words) | UI: "Price w/o VAT" (flat_param_price)
Payment and Document Information:
$product.deadline— Payment deadline for this Additional Product (from linked prescribed Payment). Type: DateWrapper | UI: "Due date" (business_case_payment_deadline)$product.signature_date— Signature date of the Additional Product contract (from linked document). Type: DateWrapper | UI: "Signature date" (business_case_document_signeddate)
Related sections:
Additional Products (aggregate info)
Payments Prescribed
Discounts (Repeating List)
The $discounts list contains all Discounts applied to the Deal (Deal-level discounts).
How to Use
Available Properties
$discount.ordinal— Discount number/position. Type: String$discount.isAllUnits— Boolean indicating if Discount applies to all Units. Type: Boolean$discount.isPercentage— Boolean indicating percentage-based Discount. Type: Boolean$discount.isAmount— Boolean indicating fixed amount Discount. Type: Boolean$discount.percentage— Percentage value (if percentage-based). Type: NumberWrapper | UI: "Percentage" (percentage)$discount.amountNoVat— Discount amount without VAT (if fixed amount). Type: NumberWrapper | UI: "Amount" (amount)$discount.amountVat— Discount amount with VAT (if fixed amount). Type: NumberWrapper | UI: "Amount" (amount)$discount.dealPriceNoVat— Deal price without VAT after applying this Discount (cumulative). Type: NumberWrapper$discount.dealPriceVat— Deal price with VAT after applying this Discount (cumulative). Type: NumberWrapper$discount.isNote— Boolean indicating if a note exists. Type: Boolean$discount.note— Note or reason for applying this Discount. Type: String | UI: "Note" (note)$discount.units— Nested list of Units this Discount applies to (same properties as in Units)
Example:
Related sections:
Prices and Discounts
Units
Standards (Repeating List)
The $standards list contains all standard choices made for the Deal.
How to Use
Available Properties
$standard.customerName— Name of the customer who made this standard choice. Type: String$standard.createdOn— Date when this standard choice was created/selected. Type: DateWrapper$standard.category— Category of the standard (e.g., "Flooring"). Type: String$standard.group— Group within the category. Type: String$standard.choice— The specific choice/selection made. Type: String$standard.summary— Summary or description of the standard choice. Type: String$standard.imageUrl— URL to the image of the selected standard (may be empty). Type: String
Documents (Type-Specific Placeholders)
The system provides individual placeholders for each Deal Document type (not a repeating list).
How to Use
Available Document Types
For each document type in the system, the following placeholders are available:
$document{TYPE}Type— Localized name of the document type. Type: String$document{TYPE}Deadline— Signature deadline for this document. Type: DateWrapper | UI: "Deadline" (business_case_document_deadline)$document{TYPE}SignatureDate— Date when the document was signed (if signed). Type: DateWrapper | UI: "Signature date" (business_case_document_signeddate)$is_document{TYPE}Signed— Boolean indicating if the document has been signed. Type: Boolean
Common document type identifiers (replace {TYPE} accordingly):
PURCHASE_CONTRACT,RESERVATION_CONTRACT,FUTURE_PURCHASE_CONTRACT,INVOICE,RECLAMATION_RECEIVED_PROTOCOL,RECLAMATION_PROTOCOL_GENERAL_CONTRACTOR,DEFECT_RECEIVED_CONFIRMATION,UNIT_HANDOVER_PROTOCOL, and others configured in your system.
Example:
Related:
Deal Overview (document-related Deal status information)
Inspection and Defects
Inspection and defect information is available through simple placeholders and nested objects.
Simple Placeholders
See Inspection section in Simple Placeholders for:
$inspectionDate— Date of the handover inspection$technicalInspectionDate— Date of the Technical Inspection
Inspection Objects (Nested Objects)
Both $handover and $tech_inspection are nested objects containing inspection details. They share many common properties and some specific fields.
Common Properties (both $handover.* and $tech_inspection.*):
Dates:
planned_date/planned_date_time/is_planned_date— Planned inspection date (DateWrapper / Boolean)actual_date/actual_date_time/is_actual_date— Actual inspection date (DateWrapper / Boolean)
People:
responsible_person/is_responsible_person— Responsible person name (String / Boolean)name_customer— Customer name (String)name_construction_representative/is_name_construction_representative— Construction representative name (String / Boolean)phone_construction_representative/is_phone_construction_representative— Construction representative phone (String / Boolean)person_present/is_person_present— Person present name (String / Boolean)
Signatures (Images):
signature_technician/is_signature_technician— Technician signature (Image / Boolean)signature_customer/is_signature_customer— Customer signature (Image / Boolean)signature_constr_rep/is_signature_construction_representative— Construction representative signature (Image / Boolean)
Defects and Documentation:
defects— List of defects found during inspection (nested list)person_present_docs— List of documents for person present (each withnameandfileimage)notes/is_notes— Inspection notes (String / Boolean)
Example:
Handover-Specific Properties:
Access Tokens (nested list access_tokens):
type— Type of access token (String)amount/is_amount— Quantity (NumberWrapper with word variants / Boolean)identifiers/is_identifiers— Identifier codes/numbers (String / Boolean)note/is_note— Notes (String / Boolean)
Resident Information:
license_plates— List of vehicle license plate numbers (List of Strings)number_of_people_living/is_number_of_people_living— Number of people living in the unit (NumberWrapper with word variants / Boolean)resident_name/is_resident_name— Resident's name (String / Boolean)resident_email/is_resident_email— Resident's email (String / Boolean)resident_phone/is_resident_phone— Resident's phone (String / Boolean)resident_address/is_resident_address— Resident's address (String / Boolean)
Labeling:
name_on_bell/is_name_on_bell— Name to display on doorbell (String / Boolean)name_on_mailbox/is_name_on_mailbox— Name to display on mailbox (String / Boolean)
Acceptance:
accepted— Boolean indicating if handover was accepted by customer
Example:
Inspection Items (Repeating List)
$inspection_items (alias $insp_items) contains inspection checklist items organized by item type.
Each item has:
name— Item type name (String)tech_inspection(ortech_insp) — Technical inspection data (nested object)handover— Handover inspection data (nested object)
Both nested objects include:
is_fine— Boolean indicating no problems foundis_problem— Boolean indicating problems foundis_defect— Boolean indicating defects existdefect— First defect for this item (if any)defects— List of all defects for this item
Example:
Inspection Rooms (Repeating List)
$inspection_rooms (alias $insp_rooms) contains inspection data organized by room/location.
Each room has:
name— Room name/location (String)tech_inspection(ortech_insp) — Technical inspection data (nested object)handover— Handover inspection data (nested object)
Both nested objects include:
is_fine— Boolean indicating no defects in this roomis_problem— Boolean indicating defects exist in this roomis_prevents_flat_usage— Boolean indicating critical defects that prevent flat usagedefects— List of defects found in this room
Example:
Meter Readings
See Meter Readings section in Simple Placeholders for meter-related placeholders.
Custom Attributes
Custom attributes can be defined for Customers, Units, Buildings, Projects, Deals. They are accessible via their attribute keys and appear as placeholders in templates.
How Custom Attributes Work
When a custom attribute is defined, it becomes available as a placeholder using its attribute key. Each custom attribute also gets a boolean check placeholder with the is_ prefix to test presence.
Attribute Scope
Deal attributes — Available as simple placeholders at the document level (e.g.,
$attribute_key)Project attributes — Available as simple placeholders at the document level (e.g.,
$attribute_key)Unit attributes — Available within
#foreach($unit in $units)(e.g.,$attribute_keyinside the loop)Customer attributes — Available within
#foreach($customer in $customers)(e.g.,$attribute_keyinside the loop)
Examples
Deal/Project attributes:
Unit attribute (example key flat_advert_description):
Available placeholders:
$flat_advert_description— The attribute value$is_flat_advert_description— Boolean indicating if the attribute has a value
Customer attribute (example key customer_name_paternal):
Available placeholders:
$customer_name_paternal— The attribute value$is_customer_name_paternal— Boolean indicating if the attribute has a value
Attribute Types
All attribute types use placeholder $attribute_key. Returned value depends on type:
String: text value
Integer/Numeric: numeric value (also word variants:
$attribute_key_sk,$attribute_key_cz)Boolean:
trueorfalseDate: Date value (formatted according to user preferences)
Enum (single-select): localized name of selected option
Option (multi-select): comma-separated localized names of all selected options
All also support $is_attribute_key to check presence.
Last updated