This document lists all available placeholders for default Deal Documents. Most specialized templating scenarios fall back to this one.
This is the main Document templating providing comprehensive Deal information including Customers, Units, Payments, Discounts, and more.
Simple Placeholders
Unique identifier of the Deal (numeric ID).
Type: String | UI: "Deal" (business_case)
Tags associated with the Deal, comma-separated.
Type: String | UI: "Tags" (customer_param_tags)
Type of the Deal. Possible values: Standard, Investment.
Type: String | UI: "Type" (type)
Current status of the Deal. Possible values: Active, Lost, Won, Sleeping.
Type: String | UI: "Status" (status)
Lifecycle 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)
Date when the Deal was created.
Type: DateWrapper | UI: "Created" (business_case_param_added)
Date when the Deal was closed.
Type: DateWrapper | UI: "Closed" (business_case_param_closed)
Scheduled or actual handover date for the Deal.
Type: DateWrapper | UI: "Handover" (business_case_param_handover_label)
Reason for closing the Deal (if closed).
Type: String
Additional comment about closing the Deal.
Type: String | UI: "Closing Comment" (business_case_param_closing_comment_label)
$variableSymbol
Variable symbol for the Deal.
Type: String
$inspectionDate
Date of the Deal inspection.
Type: DateWrapper | UI: "Inspection" (business_case_param_inspection_label)
$corwin_authorization_date / $is_corwin_authorization_date
Authorization date (Corwin-specific). The is_* variant is a Boolean for conditional checks.
Type: DateWrapper / Boolean
$homa_user_basis_of_representation / $is_homa_user_basis_of_representation
User'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>
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: $isRiverViewApartments
For a project named "City Center", the placeholder would be: $isCityCenter
Usage example:
Name of the user generating the document.
Type: String
$currentUserEmail / $isCurrentUserEmail
Email address of the user generating the document. The is* variant is a Boolean for conditional checks.
Type: String / Boolean
$currentUserPhone / $isCurrentUserPhone
Phone number of the user generating the document. The is* variant is a Boolean for conditional checks.
Type: String / Boolean
$currentUserSupplier / $isCurrentUserSupplier
Supplier associated with the user generating the document. The is* variant is a Boolean for conditional checks.
Type: String / Boolean
Current date and time when the document is generated.
Type: DateWrapper
Current date formatted as dd.MM.yyyy (e.g., 23.12.2025).
Type: DateWrapper (formatted)
Current date plus 14 days.
Type: DateWrapper
Current date plus 30 days.
Type: DateWrapper
Date when the call to pay was sent.
Type: DateWrapper | UI: "Sent Call to Pay" (business_case_param_sentcalltopay_label)
$taxOfficeSubmissionDeadline
Deadline for submitting documents to the tax office.
Type: DateWrapper | UI: "Tax office submission deadline" (business_case_param_taxoffice_submission_deadline_label)
$taxOfficeSubmissionDate
Date 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
Total Deal price with VAT. Includes Slovak and Czech word variants.
Type: NumberWrapper / String (words)
$dealPriceNoVAT / $dealPriceNoVAT_sk / $dealPriceNoVAT_cz
Total Deal price without VAT. Includes Slovak and Czech word variants.
Type: NumberWrapper / String (words)
$dealPriceVATAmount / $dealPriceVATAmount_sk / $dealPriceVATAmount_cz
VAT amount on the Deal price. Includes Slovak and Czech word variants.
Type: NumberWrapper / String (words)
$dealPriceVATRate / $dealPriceVATRate_sk / $dealPriceVATRate_cz
VAT rate percentage for the Deal. Includes Slovak and Czech word variants.
Type: NumberWrapper / String (words)
$dealDiscountVat
Total Deal Discount with VAT.
Type: NumberWrapper
$dealDiscountNoVat
Total Deal Discount without VAT.
Type: NumberWrapper
$dealPriceWithAdditionalProductsVat / $dealPriceWithAdditionalProductsVat_sk / $dealPriceWithAdditionalProductsVat_cz
Deal price with VAT including all Additional Products. Includes Slovak and Czech word variants.
Type: NumberWrapper / String (words)
$dealPriceWithAdditionalProductsNoVat / $dealPriceWithAdditionalProductsNoVat_sk / $dealPriceWithAdditionalProductsNoVat_cz
Deal price without VAT including all Additional Products. Includes Slovak and Czech word variants.
Type: NumberWrapper / String (words)
$dealPriceWithAdditionalProductsVatAmount / $dealPriceWithAdditionalProductsVatAmount_sk / $dealPriceWithAdditionalProductsVatAmount_cz
VAT amount on the Deal price with Additional Products (calculated). Includes Slovak and Czech word variants.
Type: NumberWrapper / String (words)
$dealPriceWithAdditionalProductsVatRate / $dealPriceWithAdditionalProductsVatRate_sk / $dealPriceWithAdditionalProductsVatRate_cz
VAT rate percentage on the Deal price with Additional Products (calculated). Includes Slovak and Czech word variants.
Type: NumberWrapper / String (words)
$dealPriceIgnoredProductsVat
Price of ignored Additional Products with VAT.
Type: NumberWrapper
$dealPriceIgnoredProductsNoVat
Price of ignored Additional Products without VAT.
Type: NumberWrapper
Deal Price Percentage Fractions
$dealPriceTotal{X}Percent / $dealPriceTotal{X}Percent_sk / $dealPriceTotal{X}Percent_cz
X% of the total Deal price with VAT, rounded to a whole number. Available for X ∈ {10, 15, 20, 30, 40, 80, 85}. Includes Slovak and Czech word variants.
Type: NumberWrapper / String (words)
$dealPriceTotal{X}PercentCents / $dealPriceTotal{X}PercentCents_sk / $dealPriceTotal{X}PercentCents_cz
X% of the total Deal price with VAT, with two decimal places. Available for X ∈ {10, 15, 20, 30, 40, 80, 85}. Includes Slovak and Czech word variants.
Type: NumberWrapper / String (words)
$dealPriceTotal{X}PercentCustModImplSum / $dealPriceTotal{X}PercentCustModImplSum_sk / $dealPriceTotal{X}PercentCustModImplSum_cz
X% of the total Deal price with VAT plus the Customer Modification Implementation price, rounded to a whole number. Available for X ∈ {10, 15, 20, 30, 40, 80, 85}. Includes Slovak and Czech word variants.
Type: NumberWrapper / String (words)
$dealPriceTotal{X}ReservationFeePercent / $dealPriceTotal{X}ReservationFeePercent_sk / $dealPriceTotal{X}ReservationFeePercent_cz
X% of the Deal price with VAT minus the Reservation Fee, rounded to a whole number. Available for X ∈ {10, 20, 50}. Includes Slovak and Czech word variants.
Type: NumberWrapper / String (words)
Payment Sums and Balances
$dealPaymentsIncomingSumVat / $dealPaymentsIncomingSumVat_sk / $dealPaymentsIncomingSumVat_cz
Total sum of all Incoming Payments with VAT. Includes Slovak and Czech word variants.
Type: NumberWrapper / String (words)
$dealPaymentsPrescribedSumVat / $dealPaymentsPrescribedSumVat_sk / $dealPaymentsPrescribedSumVat_cz
Total sum of all Prescribed Payments with VAT. Includes Slovak and Czech word variants.
Type: NumberWrapper / String (words)
$dealPaymentsPendingSumVat / $dealPaymentsPendingSumVat_sk / $dealPaymentsPendingSumVat_cz
Pending 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
Sum of Incoming Payments excluding Custom Changes, with VAT. Includes Slovak and Czech word variants.
Type: NumberWrapper / String (words)
$dealPaymentsIncomingNoCustomChangesSumNoVat / $dealPaymentsIncomingNoCustomChangesSumNoVat_sk / $dealPaymentsIncomingNoCustomChangesSumNoVat_cz
Sum of Incoming Payments excluding Custom Changes, without VAT. Includes Slovak and Czech word variants.
Type: NumberWrapper / String (words)
$dealPaymentsIncomingOnlyCustomChangesSumVat / $dealPaymentsIncomingOnlyCustomChangesSumVat_sk / $dealPaymentsIncomingOnlyCustomChangesSumVat_cz
Sum of only Custom Changes Incoming Payments, with VAT. Includes Slovak and Czech word variants.
Type: NumberWrapper / String (words)
$dealPaymentsIncomingOnlyCustomChangesSumNoVat / $dealPaymentsIncomingOnlyCustomChangesSumNoVat_sk / $dealPaymentsIncomingOnlyCustomChangesSumNoVat_cz
Sum of only Custom Changes Incoming Payments, without VAT. Includes Slovak and Czech word variants.
Type: NumberWrapper / String (words)
$dealBalanceOverall / $dealBalanceOverall_sk / $dealBalanceOverall_cz
Overall 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
Deal 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
Default reservation fee amount. Includes Slovak and Czech word variants.
Type: NumberWrapper / String (words)
$remainsToPayDirectly / $remainsToPayDirectly_sk / $remainsToPayDirectly_cz / $isDirectTransferBalancePositive
Amount 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
Total amount to be paid to current account. Includes Slovak and Czech word variants.
Type: NumberWrapper / String (words)
Payment Schedule (Per Payment Type)
Dynamic placeholders generated for each DealPaymentPrescribedType enum value. Replace {TYPE} with the enum constant name (e.g. RESERVATION_FEE, FIRST_FPC_PAYMENT, FPC_PAYMENT, ADDITIONAL_PRODUCT_PAYMENT, ADDITIONAL_PAYMENT).
$payment{TYPE}Type
Localized name of the payment type.
Type: String
$payment{TYPE}Amount / $payment{TYPE}AmountNoVAT / $payment{TYPE}AmountJustVAT
Amount of the payment of this type: with VAT, without VAT, and VAT component only.
Type: NumberWrapper
$payment{TYPE}Deadline
Due date of the payment of this type.
Type: DateWrapper
$payment{TYPE}AccountType
Payment method for the payment of this type (localized text).
Type: String
$isPayment{TYPE}Paid
Boolean indicating if the payment of this type has been fully paid.
Type: Boolean
FPC Numbered Variants
For individual FPC (Final Payment Contribution) payments numbered 1–6:
$paymentFpc{N}Amount / $paymentFpc{N}AmountNoVAT / $paymentFpc{N}AmountJustVAT
Amount of the Nth FPC payment: with VAT, without VAT, and VAT component only. Available for N ∈ {1, …, 6}.
Type: NumberWrapper
$isPaymentFpc{N}Amount
Boolean indicating if the Nth FPC payment amount (with VAT) is greater than zero. Available for N ∈ {1, …, 6}.
Type: Boolean
$isPaymentFpc{N}AmountNoVAT
Boolean indicating if the Nth FPC payment no-VAT amount is greater than zero. Available for N ∈ {1, …, 6}.
Type: Boolean
$isPaymentFpc{N}AmountJustVAT
Boolean indicating if the Nth FPC payment VAT-only amount is greater than zero. Available for N ∈ {1, …, 6}.
Type: Boolean
Combination Placeholders
$paymentReservationFeeAndFpc1Amount / $paymentReservationFeeAndFpc1AmountNoVAT / $paymentReservationFeeAndFpc1AmountJustVAT
Sum of the Reservation Fee and first FPC payment: with VAT, without VAT, and VAT component only.
Type: NumberWrapper
$paymentFpc1MinusReservationAmount
First FPC payment amount minus the Reservation Fee.
Type: NumberWrapper
Additional Products
$electrometerPriceNoVat
Price of the electrometer without VAT (JRD-specific feature).
Type: NumberWrapper
$electrometerPriceVat
Price of the electrometer with VAT (JRD-specific feature).
Type: NumberWrapper
$dealPriceIncludingElectrometerNoVat
Deal price including electrometer without VAT (JRD-specific feature).
Type: NumberWrapper
$dealPriceIncludingElectrometerVat
Deal price including electrometer with VAT (JRD-specific feature).
Type: NumberWrapper
$customerModificationImplementationPriceVatAmount
VAT amount on Customer Modification Implementation price.
Type: NumberWrapper
$customerModificationImplementationPriceNoVat / $customerModificationImplementationPriceNoVat_sk / $customerModificationImplementationPriceNoVat_cz
Customer Modification Implementation price without VAT. Includes Slovak and Czech word variants.
Type: NumberWrapper / String (words)
$customerModificationImplementationPriceVat / $customerModificationImplementationPriceVat_sk / $customerModificationImplementationPriceVat_cz
Customer Modification Implementation price with VAT. Includes Slovak and Czech word variants.
Type: NumberWrapper / String (words)
$mortgageDeadline
Deadline to present the mortgage contract.
Type: DateWrapper | UI: "Deadline to present the mortgage contract" (business_case_mortgage_agreement_deadline_label)
$mortgagePresented
Date 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
Mortgage 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
Total mortgage amount. Includes Slovak and Czech word variants. Boolean check $isMortgage indicates if mortgage is used.
Type: NumberWrapper / String (words) / Boolean
$mortgageBankName
Name of the mortgage bank.
Type: String | UI: "Mortgage bank" (business_case_mortgage_bank_label)
$mortgageBankIn
Identification number of the mortgage bank.
Type: String
$technicalInspectionDate
Date of the Technical Inspection.
Type: DateWrapper | UI: "Technical inspection" (business_case_handover_inspection)
Notary and Escrow
Name of the notary.
Type: String | UI: "Notary name" (deal_paymentmethod_notaryescrow_name)
Address of the notary.
Type: String | UI: "Notary address" (deal_paymentmethod_notaryescrow_address)
$notaryAccountNo
Notary escrow account number.
Type: String | UI: "Notary escrow account number" (business_case_param_escrow_notary_account_no)
$notaryBankName
Name of the notary's bank.
Type: String | UI: "Notary bank" (deal_paymentmethod_notaryescrow_bank)
$bankEscrowTotal / $bankEscrowTotal_sk / $bankEscrowTotal_cz / $isBankEscrow
Total 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
Name of the escrow bank.
Type: String
Identification number of the escrow bank.
Type: String
$escrowBankAccountNo
Escrow bank account number.
Type: String
$notaryEscrowTotal / $notaryEscrowTotal_sk / $notaryEscrowTotal_cz / $isNotaryEscrow
Total 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)
Boolean indicating whether any escrow account (bank or notary) is used.
Type: Boolean | UI: "Escrow account" (business_case_escrow)
$pledgeCadastreSentDate
Date 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
Pledge contract cadastre registration number.
Type: String | UI: "Pledge contract cadastre registration number" (business_case_param_pledgecontract_cadastre_regno_label)
$pledgeCadastreEntryDate
Pledge contract cadastre entry date.
Type: DateWrapper | UI: "Pledge contract cadastre entry date" (business_case_param_pledgecontract_cadastre_entry_label)
$cadastreSentDate
Date 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
Purchase contract cadastre registration number.
Type: String | UI: "Purchase contract cadastre registration number" (business_case_param_cadastre_regno_label)
$cadastreEntryDeadline
Purchase contract cadastre entry deadline.
Type: DateWrapper | UI: "Purchase contract cadastre entry deadline" (business_case_param_cadastre_entry_deadline_label)
$cadastreEntryDate
Purchase contract cadastre entry date.
Type: DateWrapper | UI: "Purchase contract cadastre entry date" (business_case_param_cadastre_entry_date_label)
Name of the salesman/sales agent assigned to the Deal.
Type: String
Email address of the salesman/sales agent.
Type: String
Phone number of the salesman/sales agent.
Type: String
$isAdditionalCustomers
Boolean indicating whether the Deal has additional Customers beyond the primary Customer.
Type: Boolean
$isOneCustomerOnly
Boolean indicating whether the Deal has only one Customer (no additional Customers).
Type: Boolean
$isTwoOrMoreCustomers
Boolean indicating whether the Deal has two or more Customers.
Type: Boolean
$isCustomerSharesUndivided
Boolean indicating whether Customer shares are undivided (when multiple Customers exist).
Type: Boolean
$isPrereservation
Boolean indicating whether the Deal has any prereservations.
Type: Boolean
$metersTotalPriceNoVat / $metersTotalPriceNoVat_sk / $metersTotalPriceNoVat_cz
Total price of all meter readings without VAT. Includes Slovak and Czech word variants.
Type: NumberWrapper / String (words)
$metersTotalPriceVat / $metersTotalPriceVat_sk / $metersTotalPriceVat_cz
Total price of all meter readings with VAT. Includes Slovak and Czech word variants.
Type: NumberWrapper / String (words)
$metersTotalVat / $metersTotalVat_sk / $metersTotalVat_cz
Total VAT amount on all meter readings. Includes Slovak and Czech word variants.
Type: NumberWrapper / String (words)
Project logo image.
Type: Image
$projectLogoHeader
Same project logo, provided as a separate placeholder for header positioning.
Type: Image
$reclamationTechnicianSignature
Reclamation technician signature image (from the project defect configuration).
Type: Image
Aggregated Unit Prices
Dynamic placeholders that sum the discounted prices of all Units of a given type on the Deal. For each UnitType and each of its placeholder aliases, two placeholders are generated:
$aggregated_{placeholder}_novat
Sum of discounted prices (without VAT) for all Units of the given type.
Type: NumberWrapper
$aggregated_{placeholder}_vat
Sum of discounted prices (with VAT) for all Units of the given type.
Type: NumberWrapper
The {placeholder} part comes from UnitType.getPlaceholders(), which provides multiple naming variants per type. For example, the FLAT unit type generates: $aggregated_FLAT_novat, $aggregated_flat_novat, $aggregated_flats_novat (and corresponding _vat variants). Similarly for PARKING → $aggregated_PARKING_novat, $aggregated_parking_novat, $aggregated_parkings_novat, etc.
Examples:
Unit Type Presence Flags
Dynamic boolean placeholders — one per UnitType enum value — indicating whether at least one Unit of that type is present on the Deal.
Boolean — true if the Deal contains at least one Unit of the given type.
Type: Boolean
The placeholder names come from UnitType.getIsPlaceholders(). Representative examples include:
$isFlat, $isCondominium, $isFamilyHouse, $isAtelier, $isTownhouse, $isApartment
$isAccommodationUnit (plus legacy typo variant $isAccomodationUnit)
$isNonResidentialUnit, $isNonResidentialUnitOther, $isCommercialSpace
$isCellar, $isParking, $isOutdoorParking, $isGarage
$isLand, $isOffice, $isVilla, $isStorage, $isBikeStand
$isArtWorkshop, $isMotorbikeParking, $isCreativeWorkshop, $isUtilityRoom
$isBerth, $isCommunalArea, $isConstructionRight, $isTechnicalSpace
$isMotorbikeParkingOutdoor, $isPropertyManagementUnit, $isAttic, $isBackyard
$isTerraceUnit, $isCubicle, $isTenementHouse, $isPavedArea, $isGaragePosition, $isOther
Usage example:
Area Accessory Lists
Repeating lists of individual area accessories across all Units on the Deal. Each list contains one entry per Unit that has a non-zero area of the given type.
$balconies, $terraces, $loggias, $gardens
Repeating lists with one property each:
$item.area — Area in m². Type: NumberWrapper
Usage example:
Note: These differ from the scalar $balconyArea / $terraceArea / etc. in the Legacy Unit Placeholders section, which provide only the area of the first Unit. The lists here include areas from all Units on the Deal.
Legacy Unit Placeholders
Deprecated: These flat-level aliases mirror the first Unit of each type at the top level (outside any loop). They exist for backward compatibility with older templates. Prefer iterating $units instead.
Flat (primary unit)
$flatId, $flatDisposition, $flatCategory, $flatOrientation, $flatArea, $flatFloorNo, $flatFloorNoAbsolute
$flatVAT — VAT rate formatted as a percentage string (e.g., "15%"). Alias of $flatPriceVatRate.
$flatPriceVAT / $flatPriceNoVAT / $flatPriceVatRate / $flatPriceVatAmount (with _cz/_sk word variants)
$flatFinalPriceNoVat / $flatFinalPriceVat / $flatFinalPriceOnDealNoVat / $flatFinalPriceOnDealVat / $flatFinalSQMPrice / $flatFinalSQMPriceVat (with _cz/_sk word variants)
Other unit types
Same field pattern with unit-type prefix: parking, cellar, garage, garageCellar, roofParking, outdoorParking (e.g. $parkingId, $parkingPriceVAT, $cellarFinalPriceNoVat, …).
$isBalcony / $balconyArea
$isTerrace / $terraceArea
$flatPlan, $parkingPlan, $cellarPlan, $garagePlan, $garageCellarPlan, $roofParkingPlan, $outdoorParkingPlan
Type: Image — floor plan of the first Unit of each type. Removed from the document if no plan exists.
Other placeholders
$buildingName, $projectName, $parcelNumber, $unitsDescription
$isPlaceForACar, $isGarageCellar, $isRoofParking
Prereservations (Repeating List)
The $prereservations list contains all prereservations associated with the Deal.
To iterate over prereservations in your template:
Available Properties
Each $prereservation item has the following 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
$isPrereservation - Boolean indicating if any prereservations exist (see Prereservation section)
Units (Repeating List)
The $units list contains all Units associated with the Deal (Flats, Parking spots, Cellars, Garages, etc.).
To iterate over Units in your template:
Available Properties
Each $unit item has the following properties:
$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)
$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)
$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. Includes Slovak and Czech word variants.
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. Includes Slovak and Czech word variants.
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. Includes Slovak and Czech word variants.
Type: NumberWrapper / String (words)
$unit.finalPriceVat / $unit.finalPriceVat_sk / $unit.finalPriceVat_cz
Final price with VAT after Unit-level discounts. Includes Slovak and Czech word variants.
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. Includes Slovak and Czech word variants.
Type: NumberWrapper / String (words)
$unit.finalPriceOnDealVat / $unit.finalPriceOnDealVat_sk / $unit.finalPriceOnDealVat_cz
Final price with VAT after all Deal-level discounts. Includes Slovak and Czech word variants.
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)
List of Units associated with this Unit. Each associated Unit has all the same properties as the main Unit.
Example usage:
$unit.rooms (Nested List)
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 usage:
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
In addition to $units, the system provides 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
$mainUnitRooms - List of rooms in the main Unit (see Meter Readings section)
Customers (Repeating List)
The $customers list contains all Customers associated with the Deal (primary Customer and additional co-owners).
To iterate over Customers in your template:
Available Properties
Each $customer item has the following properties:
Customer Type Indicators
$customer.isNatural
Boolean indicating if this is a Natural Person (individual).
Type: Boolean
$customer.isLegal
Boolean indicating if this is a Legal Person (company/organization).
Type: Boolean
$customer.share
Customer's ownership share (fraction of the property they own).
Type: NumberWrapper
$customer.base
Base value for ownership calculation.
Type: NumberWrapper
Common Properties (Both Natural and Legal Persons)
$customer.fullName
Full name of the Customer (formatted according to person type).
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 in the list (useful for comma separators).
Type: Boolean
$customer.isAddress / $customer.address
Contact address (formatted). Boolean indicates if address exists.
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)
$customer.isBankConnection / $customer.bankConnection
Bank connection/name. Boolean indicates if bank connection exists.
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 (International Bank Account Number).
Type: String | UI: "IBAN" (billing_param_iban)
Natural Person-Specific Properties
These properties are only populated for Natural Persons. For Legal Persons, they contain placeholder text "[Legal entity]".
$customer.title
Title/honorific (e.g., "Dr.", "Ing.").
Type: String | UI: "Title" (person_param_title)
$customer.firstName
First name.
Type: String | UI: "Name" (person_param_name)
$customer.surname
Surname/last name.
Type: String | UI: "Surname" (person_param_surname)
$customer.maidenName
Maiden name (birth 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 (formatted). Boolean indicates if address exists.
Type: Boolean / String | UI: "Permanent address" (address_permanent)
$customer.isPermanentAddressStreet / $customer.permanentAddressStreet
Street and number. Boolean indicates if street exists.
Type: Boolean / String | UI: "Street and No." (address_param_street)
$customer.isPermanentAddressCity / $customer.permanentAddressCity
City/town. Boolean indicates if city exists.
Type: Boolean / String | UI: "City/Town" (address_param_city)
$customer.isPermanentAddressZip / $customer.permanentAddressZip
ZIP/postal code. Boolean indicates if ZIP exists.
Type: Boolean / String | UI: "ZIP" (address_param_zip)
$customer.isPermanentAddressState / $customer.permanentAddressState
State/country. Boolean indicates if state exists.
Type: Boolean / String | UI: "State/Country" (address_param_state)
$customer.isPermanentAddressNote / $customer.permanentAddressNote
Address note. Boolean indicates if note exists.
Type: Boolean / String | UI: "Note" (address_param_note)
Legal Person-Specific Properties
These properties are only populated for Legal Persons. For Natural Persons, they contain placeholder text "[Person]".
$customer.in
Identification Number (company registration 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 (e.g., "SK" + TIN for Slovak companies).
Type: String | UI: "VAT ID (SK)" (person_param_vatid)
$customer.executive
Executive/CEO name (with role if specified).
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 (with role if specified).
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)
$isOneCustomerOnly - Boolean indicating only one Customer on the Deal (see Customer Flags section)
$isTwoOrMoreCustomers - Boolean indicating multiple Customers on the Deal
$isAdditionalCustomers - Boolean indicating additional Customers exist beyond the primary
$isCustomerSharesUndivided - Boolean indicating ownership shares are undivided
$customer1Name through $customer6Name - Individual Customer names (supports up to 6 Customers)
$customer1Share through $customer6Share - Individual Customer ownership shares
$customer1Base through $customer6Base - Individual Customer base values
Payments Prescribed (Repeating List)
The $paymentsPrescribed list contains all scheduled/prescribed Payments for the Deal (payment schedule).
To iterate over Payments Prescribed in your template:
Available Properties
Each $payment item has the following properties:
Payment Classification
$payment.type
Type of the prescribed Payment (localized text, e.g., "Reservation", "Down Payment", "Final Payment").
Type: String | UI: "Type" (type)
$payment.typeId
Type identifier (enum label, technical name).
Type: String
$payment.paymentMethod
Payment method (localized text, e.g., "Bank Transfer", "Cash", "Card").
Type: String | UI: "Account type" (incoming_payment_param_accounttype)
$payment.paymentMethodId
Payment method identifier (enum label, technical name).
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 (formatted with "%" suffix).
Type: String
$payment.deadline
Due date for this Payment (calculated deadline).
Type: DateWrapper | UI: "Due date" (business_case_payment_deadline)
$payment.substituteDeadline
Deprecated: Substitute deadline (always empty, not used in CRM anymore but may still exist in old templates).
Type: DateWrapper
$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)
$payment.note
Notes or comments about the Payment.
Type: String
Payments Incoming (Repeating List)
The $paymentsIncoming list contains all received/incoming Payments for the Deal (actual payments received from Customers).
To iterate over Payments Incoming in your template:
Available Properties
Each $payment item has the following 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, e.g., "Bank Transfer", "Cash", "Card").
Type: String | UI: "Account type" (incoming_payment_param_accounttype)
$payment.paymentMethodId
Payment method identifier (enum label, technical name).
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 (formatted with "%" suffix).
Type: String
$payment.isBankAccount
Boolean indicating if a bank account is associated with this Payment.
Type: Boolean
$payment.bankAccount (Nested Object)
Bank account details where the Payment was received. Has the following properties:
$payment.bankAccount.name - Bank account name (String)
$payment.bankAccount.isAllPaymentsCustomChanges - Boolean indicating if all payments to this account are Custom Changes
$payment.bankAccount.bankCode - Bank code (String)
$payment.bankAccount.accountNumber - Account number (String)
Example usage:
$payment.senderAccountNumber
Sender's bank account number (from which the Payment was sent).
Type: String
$payment.senderAccountHolder
Name of the account holder who sent the Payment.
Type: String
Prescribed Payment Matching
$payment.isPrescribedPayment
Boolean indicating if this incoming Payment is matched to a prescribed Payment.
Type: Boolean
$payment.prescribedPayment (Nested Object)
Details of the matched prescribed Payment (if applicable). Has the following properties:
$payment.prescribedPayment.type - Type of the prescribed Payment (String)
$payment.prescribedPayment.typeId - Type identifier (String)
$payment.prescribedPayment.amountVat - Prescribed amount with VAT (NumberWrapper)
Example usage:
Payment Identification
$payment.externalId
External identifier for the Payment (from external system).
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 (payment for Custom Changes/modifications).
Type: Boolean
$payment.note
Notes or comments about the Payment.
Type: String
See Payments Prescribed section for scheduled payments that these incoming payments may match to
Payments (Payment Methods) (Repeating List)
The $payments list contains prescribed payments grouped by payment method with additional bank and escrow details for each payment.
To iterate over payments by method in your template:
Available Properties
Each $payment item has the following properties:
Payment Classification
$payment.type
Type of the prescribed payment (localized text, e.g., "Reservation", "Down Payment", "Final Payment").
Type: String
$payment.method
Payment method (localized text, e.g., "Direct Transfer", "Mortgage", "Notary Escrow", "Bank Escrow").
Type: String
$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 (bank or notary).
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
$payment.notaryName
Name of the notary (empty string if not notary escrow).
Type: String
$payment.notaryAddress
Address of the notary (empty string if not notary escrow).
Type: String
$payment.notaryAccountNo
Notary escrow account number (empty string if not notary escrow).
Type: String
$payment.notaryBankName
Name of the notary's bank (empty string if not notary escrow).
Type: String
$payment.escrowBankName
Name of the escrow bank (empty string if not bank escrow).
Type: String
$payment.escrowBankIn
Identification number of the escrow bank (empty string if not bank escrow).
Type: String
$payment.escrowBankAccountNo
Escrow bank account number (empty string if not bank escrow).
Type: String
$payment.mortgageBankName
Name of the mortgage bank (empty string if not mortgage).
Type: String
$payment.mortgageBankIn
Identification number of the mortgage bank (empty string if not mortgage).
Type: String
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.).
To iterate over Additional Products in your template:
Available Properties
Each $product item has the following properties:
Product Classification
$product.type
Type of the Additional Product (localized text, e.g., "Electrometer", "Customer modification - implementation", "Stamp").
Type: String | UI: "Type" (type)
$product.known_type
Known product type identifier (enum label, e.g., "ELECTROMETER", "CUSTOMER_MODIFICATION"). Empty for custom "Other" types.
Type: String
$product.other_type
Custom type name (only populated when the 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). Includes Slovak and Czech word variants.
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). Includes Slovak and Czech word variants.
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). Includes Slovak and Czech word variants.
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). Includes Slovak and Czech word variants.
Type: NumberWrapper / String (words) | UI: "Price w/o VAT" (flat_param_price)
$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)
See Additional Products section in Simple Placeholders for aggregate Additional Product information
Discounts (Repeating List)
The $discounts list contains all Discounts applied to the Deal (Deal-level discounts that reduce the total price).
To iterate over Discounts in your template:
Available Properties
Each $discount item has the following properties:
Discount Identification
$discount.ordinal
Discount number/position in the sequence (1, 2, 3, etc.).
Type: String
$discount.isAllUnits
Boolean indicating if this Discount applies to all Units on the Deal.
Type: Boolean
$discount.isPercentage
Boolean indicating if this is a percentage-based Discount.
Type: Boolean
$discount.isAmount
Boolean indicating if this is a fixed amount Discount.
Type: Boolean
Discount Values
$discount.percentage
Percentage value (if this is a percentage-based Discount).
Type: NumberWrapper | UI: "Percentage" (percentage)
$discount.amountNoVat
Discount amount without VAT (if this is a fixed amount Discount).
Type: NumberWrapper | UI: "Amount" (amount)
$discount.amountVat
Discount amount with VAT (if this is a fixed amount Discount).
Type: NumberWrapper | UI: "Amount" (amount)
Deal Price After Discount
$discount.dealPriceNoVat
Deal price without VAT after applying this Discount (cumulative with previous Discounts).
Type: NumberWrapper
$discount.dealPriceVat
Deal price with VAT after applying this Discount (cumulative with previous Discounts).
Type: NumberWrapper
$discount.isNote
Boolean indicating if a note/reason exists for this Discount.
Type: Boolean
$discount.note
Note or reason for applying this Discount.
Type: String | UI: "Note" (note)
$discount.units (Nested List)
List of Units this Discount applies to. Each Unit has all the same properties as in the Units section.
Example usage:
See Units section for details on Unit properties within the discount's units list
Standards (Repeating List)
The $standards list contains all standard choices made for the Deal (used in standard choice documents).
To iterate over standard choices in your template:
Available Properties
Each $standard item has the following 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", "Kitchen", "Bathroom").
Type: String
$standard.group
Group within the category (e.g., "Living Room", "Master Bedroom").
Type: String
$standard.choice
The specific choice/selection made (e.g., "Oak Parquet", "White Tiles").
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
Example with image:
Meter Readings (Repeating List)
The $meters list contains one row per meter reading recorded on the Deal's handover inspection.
Available Properties
Meter Identification
$meter.type
Meter type name (localized).
Type: String
$meter.type_with_units
Meter type name including the unit of measurement.
Type: String
$meter.unit
Unit of measurement (e.g. "kWh", "m³").
Type: String
Meter Reading Values
$meter.reading / $meter.is_reading
Meter reading value. Boolean check $meter.is_reading indicates if a reading value is present.
Type: NumberWrapper / Boolean
$meter.number / $meter.is_number
Meter identifier number. Boolean check $meter.is_number indicates if a number is present.
Type: String / Boolean
$meter.eic / $meter.is_eic
EIC code of the meter. Boolean check $meter.is_eic indicates if an EIC code is present.
Type: String / Boolean
$meter.unitPriceNoVat / $meter.is_unitPriceNoVat
Unit price without VAT. Boolean check $meter.is_unitPriceNoVat indicates if a unit price is present.
Type: NumberWrapper / Boolean
$meter.unitPriceVat / $meter.is_unitPriceVat
Unit price with VAT. Boolean check $meter.is_unitPriceVat indicates if a unit price is present.
Type: NumberWrapper / Boolean
$meter.vatRate / $meter.is_vatRate
VAT rate (formatted with "%" suffix). Boolean check $meter.is_vatRate indicates if a VAT rate is present.
Type: String / Boolean
$meter.totalPriceNoVat / $meter.is_totalPriceNoVat
Total price without VAT (reading × unit price). Boolean check $meter.is_totalPriceNoVat indicates if present.
Type: NumberWrapper / Boolean
$meter.totalPriceVat / $meter.is_totalPriceVat
Total price with VAT (reading × unit price). Boolean check $meter.is_totalPriceVat indicates if present.
Type: NumberWrapper / Boolean
$meter.vat
VAT amount on the total price.
Type: NumberWrapper
$meter.note / $meter.is_note
Additional notes for the meter reading. Boolean check $meter.is_note indicates if a note is present.
Type: String / Boolean
Related: The simple placeholders $metersTotalPriceNoVat, $metersTotalPriceVat, and $metersTotalVat (documented in Simple Placeholders → Meter Readings) provide aggregate totals across all meters.
Documents (Type-Specific Placeholders)
The system provides individual placeholders for each Deal Document type (not a repeating list).
Access document information by document type:
Available Document Types
For each document type in the system, the following placeholders are available:
$document{TYPE}Type
The 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 Types
Replace {TYPE} with one of these document type identifiers:
PURCHASE_CONTRACT - Purchase contract
RESERVATION_CONTRACT - Reservation contract
FUTURE_PURCHASE_CONTRACT - Future purchase contract
RECLAMATION_RECEIVED_PROTOCOL - Reclamation received protocol
RECLAMATION_PROTOCOL_GENERAL_CONTRACTOR - Reclamation protocol for general contractor
DEFECT_RECEIVED_CONFIRMATION - Defect received confirmation
UNIT_HANDOVER_PROTOCOL - Unit handover protocol
And other document types configured in the system. Check with Engineering for their exact names.
See Deal Overview section for document-related Deal status information
Inspection and Defects
Inspection and defect information is available through simple placeholders and complex 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 but each has some specific fields.
Common Properties (Both Inspections)
The following properties are available on 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 with name and file image)
notes / is_notes - Inspection notes (String / Boolean)
Example usage:
Handover-Specific Properties
The $handover object has additional properties specific to handover inspections:
Access Tokens (Nested List):
access_tokens - List of keys, access cards, and other access items, each with:
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 usage:
Inspection Items (Repeating List)
The $inspection_items (or shorter alias $insp_items) list contains inspection checklist items organized by item type (e.g., Windows, Doors, Flooring).
Each item in the list has:
name - Item type name (String)
tech_inspection (or tech_insp) - Technical inspection data for this item type (nested object)
handover - Handover inspection data for this item type (nested object)
Both tech_inspection and handover nested objects contain:
is_fine - Boolean indicating no problems found
is_problem - Boolean indicating problems found
is_defect - Boolean indicating defects exist for this item
defect - First defect for this item (if any)
defects - List of all defects for this item
Example usage:
Inspection Rooms (Repeating List)
The $inspection_rooms (or shorter alias $insp_rooms) list contains inspection data organized by room/location.
Each room in the list has:
name - Room name/location (String)
tech_inspection (or tech_insp) - Technical inspection data for this room (nested object)
handover - Handover inspection data for this room (nested object)
Both tech_inspection and handover nested objects contain:
is_fine - Boolean indicating no defects in this room
is_problem - Boolean indicating defects exist in this room
is_prevents_flat_usage - Boolean indicating critical defects that prevent flat usage
defects - List of defects found in this room
Example usage:
See Meter Readings section in Simple Placeholders for meter-related placeholders.
Custom Attributes
Custom attributes can be defined for various entities (Customers, Units, Buildings, Projects, Deals) in the system. These attributes are accessible via their attribute keys and appear as additional placeholders in templates.
The availability and names of custom attribute placeholders depend on your system configuration.
How Custom Attributes Work
When a custom attribute is defined in your system, 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 if the attribute has a value.
Attribute Scope
Custom attributes appear in different parts of templates depending on their 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 the #foreach($unit in $units) loop (e.g., $attribute_key inside the loop)
Customer attributes - Available within the #foreach($customer in $customers) loop (e.g., $attribute_key inside the loop)
Example: Deal/Project Custom Attributes
Deal and Project attributes are available directly as simple placeholders throughout the template:
Example: Unit Custom Attributes
If you have a custom attribute with key flat_advert_description defined for Units:
Available placeholders:
$flat_advert_description - The attribute value (String)
$is_flat_advert_description - Boolean indicating if the attribute has a value
Example: Customer Custom Attributes
If you have a custom attribute with key customer_name_paternal defined for Customers:
Available placeholders:
$customer_name_paternal - The attribute value (String)
$is_customer_name_paternal - Boolean indicating if the attribute has a value
Attribute Types
Custom attributes support different data types. All use the placeholder $attribute_key (where attribute_key is the attribute's key). The value returned depends on the attribute type:
Integer/Numeric: The numeric value (also available as word variants: $attribute_key_sk, $attribute_key_cz)
Date: Date value (formatted according to user preferences)
Enum (single-select): The localized name of the selected option
Option (multi-select): Comma-separated localized names of all selected options
All attribute types also support $is_attribute_key to check if a value is set.