Xolib Developer Glossary¶
German property management (Hausverwaltung) terminology for international developers working on the Xolib codebase.
1. General Property Management¶
Hausverwaltung (German) — Property management / property administration. Context: The entire domain Xolib operates in. A Hausverwaltung manages residential and commercial properties on behalf of owners.
Hausverwaltung (Firma) (German) — Property management company. Context: In Xolib, each company is a Tenant in the multi-tenant model. Not to be confused with "Mieter" (tenant/renter).
Mieter (German) — Tenant / renter. Context: A person renting a unit. Represented by User with role TENANT. In the codebase, "Tenant" (Prisma model) refers to the management company, while "Mieter" refers to the actual renter. This naming distinction is critical.
Vermieter (German) — Landlord. Context: The person or entity renting out a property. Often the property owner. Used in heating cost context (co2LandlordShare / Vermieteranteil).
Eigentuemer (German) — Owner. Context: Represented by the Owner model. Property owners who contract with the Hausverwaltung. In WEG context, refers to individual unit owners (Wohnungseigentuemer).
Objekt / Immobilie (German) — Property / real estate object. Context: Represented by the Property model. A building or property complex managed by the Hausverwaltung.
Einheit / Wohneinheit (German) — Unit / residential unit. Context: Represented by the Unit model. An individual apartment or commercial space within a property. WOHNEINHEIT is the enum value for residential units.
Bundesland (German) — Federal state. Context: Field on Property model. Germany has 16 Bundeslaender (federal states), relevant for regional regulations and tax rates.
Denkmalschutz (German) — Heritage/monument protection. Context: isDenkmalschutz boolean on Property. Listed buildings have special renovation rules and tax advantages. Restrictions on modifications apply.
Mietspiegel (German) — Rent index / comparative rent table. Context: mietspiegel field on Property. Official local reference for typical rents per sqm. Used for rent increase calculations under Par. 558 BGB. Published by municipalities.
Bodenrichtwert (German) — Standard land value. Context: bodenrichtwert field on Property. Official land value per sqm, determined by local expert committees (Gutachterausschuss). Used for property valuation and tax assessment.
Infrastruktur-Score (German) — Infrastructure score. Context: infrastrukturScore on Property. Rating of surrounding infrastructure (transit, shops, schools).
Laermpegel (German) — Noise level. Context: laermpegel on Property. Environmental noise assessment for the property location.
Dienstleister (German) — Service provider / contractor. Context: Represented by ServiceProvider model. External companies hired for maintenance, repairs, and other services.
Handwerker (German) — Craftsman / tradesperson. Context: Used interchangeably with Dienstleister in the codebase. ServiceProvider model, HANDWERKER_TERMIN calendar event type, SUGGEST_HANDWERKER AI action type. Handwerker perform physical work on properties.
Hausmeister / Hauswart (German) — Caretaker / building superintendent. Context: VB_HAUSWART in WEG expense categories, HAUSWART in operating cost types, HAUSMEISTER in emergency contact categories. The on-site person responsible for day-to-day building upkeep.
Aufzug (German) — Elevator / lift. Context: AUFZUG ticket category, AUFZUG operating cost type. Elevator maintenance is a common operating cost item.
Stellplatz (German) — Parking space. Context: Referenced in sondernutzungsrechte (special usage rights). Can be part of WEG common property with exclusive usage rights.
Keller (German) — Basement / cellar. Context: KELLER room type in HandoverProtocolItem. Individual storage units assigned to apartments.
2. WEG Law (Wohnungseigentumsgesetz)¶
WEG (German) — Wohnungseigentumsgesetz. English: Condominium Ownership Act. Context: The German law governing co-ownership of buildings. All WEG models in Prisma are prefixed with Weg. Applies when a building is divided into individually owned units (Sondereigentum) with shared common property (Gemeinschaftseigentum).
WEMoG (German) — Wohnungseigentumsmodernisierungsgesetz. English: WEG Modernization Act (2020). Context: Referenced in WegVersammlung.onlineLink. Major reform that allowed online participation in owner assemblies and changed the legal capacity of WEG communities.
Gemeinschaft (German) — Community / association. Context: WegGemeinschaft model. The legal entity formed by all unit owners of a building. Since WEMoG 2020, the community itself is a legal person.
Gemeinschaftseigentum (German) — Common property. Context: Parts of the building owned jointly by all owners (roof, facade, stairwell, structural elements). Maintenance paid from Hausgeld.
Sondereigentum (German) — Individual/special ownership. Context: The individually owned unit within a WEG building. Everything inside the unit's walls.
Gemeinschaftsordnung (German) — Community rules / bylaws. Context: gemeinschaftsordnung field on WegGemeinschaft. The rules governing the community, often part of the Teilungserklaerung.
Teilungserklaerung (German) — Declaration of division. Context: teilungserklaerungDate on WegGemeinschaft. Notarized document that divides a property into individually owned units. Defines boundaries, MEA shares, and special usage rights. Filed with the land registry.
MEA / Miteigentumsanteil (German) — Co-ownership share. Context: totalMea on WegGemeinschaft, mea on WegUnitOwnership and WegVersammlungTeilnehmer. A numerical share (e.g., 125/10000) that determines each owner's proportion of costs, voting weight, and ownership. Central to all WEG calculations.
Sondernutzungsrecht (German) — Special usage right. Context: sondernutzungsrechte on WegUnitOwnership. The exclusive right to use a part of common property (e.g., garden area, parking space, cellar). Defined in the Teilungserklaerung.
Versammlung / Eigentuemerversammlung (German) — Owners' assembly / meeting. Context: WegVersammlung model. Annual or extraordinary meeting where owners vote on community matters. Par. 23 WEG requires 3 weeks notice. Par. 25 WEG requires >50% MEA for quorum.
Tagesordnungspunkt (TOP) (German) — Agenda item. Context: WegTagesordnungspunkt model. Individual item on the assembly agenda. Linked to a WegBeschluss if a resolution is passed on this item.
Teilnehmer (German) — Participant / attendee. Context: WegVersammlungTeilnehmer model. Assembly attendee with attendance type and MEA voting weight.
Anwesenheitsart (German) — Attendance type. Context: Field on WegVersammlungTeilnehmer. Values: PERSOENLICH (in person), ONLINE (virtual), VOLLMACHT (by proxy).
Vollmacht (German) — Power of attorney / proxy. Context: vollmachtAn on WegVersammlungTeilnehmer. An owner can authorize another person to vote on their behalf.
Beschluss (German) — Resolution / decision. Context: WegBeschluss model. A formal decision voted on by the owners' assembly. Par. 24 Abs. 7 WEG mandates a Beschlusssammlung (resolution collection). Status lifecycle: ENTWURF (draft) -> BESCHLOSSEN (adopted) -> RECHTSKRAEFTIG (legally binding).
Beschlusssammlung (German) — Resolution collection / register. Context: The legally mandated register of all WEG resolutions. Par. 24 Abs. 7 WEG. Each entry has a beschlussNummer (e.g., "2026-EV1-TOP3").
Beschluss-Typen:
- Einfache Mehrheit — Simple majority. Context: EINFACHE_MEHRHEIT. Standard voting type for most WEG decisions.
- Qualifizierte Mehrheit — Qualified majority (typically 3/4 of MEA). Context: QUALIFIZIERTE_MEHRHEIT. Required for significant structural changes.
- Allstimmigkeit — Unanimity. Context: ALLSTIMMIGKEIT. Required for changes to the Teilungserklaerung.
- Umlaufbeschluss — Written resolution / circular resolution. Context: UMLAUFBESCHLUSS. Resolution passed without a physical meeting, by written consent.
Anfechtung (German) — Legal challenge / contestation. Context: anfechtungsfrist, anfechtungEingereicht on WegBeschluss. An owner can challenge a resolution in court. Par. 46 WEG: 1-month deadline after the resolution. ANGEFOCHTEN status.
Aktenzeichen (German) — Case/file reference number. Context: anfechtungAktenzeichen on WegBeschluss, policeReportRef on KeyLossReport. Official reference number assigned by courts or police.
Versammlungsleiter (German) — Assembly chair / meeting leader. Context: versammlungsleiter on WegVersammlung. Person who leads the owners' assembly.
Protokollfuehrer (German) — Minutes keeper. Context: protokollfuehrer on WegVersammlung. Person who records the minutes.
Protokoll (German) — Minutes / protocol. Context: protokollText, protokollDatum on WegVersammlung. The official record of the assembly. PROTOKOLLIERT status.
Einladung (German) — Invitation. Context: einladungDatum, einladungFrist on WegVersammlung. Formal invitation to the assembly. Must be sent at least 3 weeks before the meeting (Par. 23 WEG).
Quorum (German/Latin) — Quorum. Context: quorumReached, anwesendMea on WegVersammlung. More than 50% of all MEA must be present or represented for the assembly to be quorate (Par. 25 WEG).
Hausgeld (German) — Common charges / service charge. Context: WegHausgeld model. Monthly payment by each unit owner to cover the building's operating costs and maintenance reserve. Calculated from the Wirtschaftsplan. Status: HG_OFFEN (open) / HG_BEZAHLT (paid) / HG_TEILBEZAHLT (partially paid) / HG_UEBERFAELLIG (overdue) / HG_GEMAHNT (dunned).
Sollbetrag / Istbetrag (German) — Target amount / actual amount. Context: sollBetrag, istBetrag on WegHausgeld. The expected vs. actually paid amount.
Mahnstufe (German) — Dunning level. Context: mahnStufe on WegHausgeld. Escalation level for overdue payments (0 = none, 1+ = increasing severity).
Wirtschaftsplan (German) — Budget plan / economic plan. Context: WegWirtschaftsplan model. Annual budget approved by the owners' assembly that determines Hausgeld amounts. Par. 28 Abs. 1 WEG. Contains cost items (Positionen) and per-unit shares (UnitAnteile).
Jahresabrechnung (German) — Annual statement / annual accounts. Context: WegJahresabrechnung model. Year-end reconciliation of actual costs vs. budget. Par. 28 Abs. 2 WEG. Results in Abrechnungsspitze (settlement balance) per owner.
Abrechnungsspitze (German) — Settlement balance. Context: abrechnungsspitze on WegJahresabrechnungUnitErgebnis. The difference between actual costs and Hausgeld payments. Positive = additional payment due (Nachzahlung). Negative = credit (Guthaben).
Nachzahlung (German) — Additional payment / back payment. Context: Used in operating cost and heating cost settlements. The amount a tenant/owner must pay when actual costs exceed prepayments.
Guthaben (German) — Credit / balance in favor. Context: Opposite of Nachzahlung. When prepayments exceed actual costs.
Ruecklage / Erhaltungsruecklage (German) — Maintenance reserve / reserve fund. Context: WegRuecklageBuchung model, ruecklageTarget, ruecklageActual on WegGemeinschaft. Mandatory savings fund for future maintenance and repairs. Formerly "Instandhaltungsruecklage."
Peters'sche Formel (German) — Peters' formula. Context: Used to calculate the recommended annual reserve contribution. Formula: (Construction cost * 1.5) / 80 years * building age. Industry standard referenced in ruecklage API route.
Ruecklagebuchung (German) — Reserve fund booking/entry. Context: WegRuecklageBuchung model. Individual transactions on the reserve account. Types: EINZAHLUNG (deposit), ENTNAHME (withdrawal), ZINSEN (interest), KORREKTUR (correction).
Sondervermoegen (German) — Special fund / separate fund. Context: WEG admin page /admin/weg/sondervermoegen. Par. 9a Abs. 3 WEG establishes that WEG community assets are legally separate (Sondervermoegen) from individual owner assets. Includes bank accounts, receivables, and liabilities.
Verbindlichkeit (German) — Liability / payable. Context: WegVerbindlichkeit model. Outstanding invoices and bills owed by the WEG community. Categories: VB_HANDWERKER (craftsman), VB_VERSORGUNG (utilities), VB_VERSICHERUNG (insurance), VB_VERWALTERGEBUEHR (management fee), VB_HAUSWART (caretaker), VB_SONSTIGES (other).
Glaeubiger (German) — Creditor. Context: glaeubiger on WegVerbindlichkeit. The entity the community owes money to.
Verwaltervertrag (German) — Property management contract. Context: verwalterSeit, verwalterBis on WegGemeinschaft. The contract between the WEG community and the managing company.
Kostenart (German) — Cost type / expense category. Context: kostenart on WegWirtschaftsplanPosition and WegJahresabrechnungPosition. Categories like VERWALTUNG, VERSICHERUNG, WASSER, HEIZUNG, MUELL.
Bezeichnung (German) — Description / label. Context: bezeichnung on cost positions. Human-readable description of a cost item.
Verteilschluessel / Umlageschluessel (German) — Distribution key / allocation key. Context: verteilschluessel on cost positions. Determines how costs are split among owners/tenants. Values: MEA (co-ownership share), FLAECHE (area), EINHEITEN (units), VERBRAUCH (consumption), DIREKT (direct).
Plankosten / Istkosten (German) — Planned costs / actual costs. Context: planBetrag, istBetrag on WEG positions. Budget vs. actual figures in the Jahresabrechnung.
Gesamtkosten (German) — Total costs. Context: gesamtkosten on WegWirtschaftsplan. Sum of all planned cost items.
3. Lease & Payments¶
Mietvertrag (German) — Lease agreement / rental contract. Context: Represented by the Lease model. Contains rent amounts, deposit, and term dates.
Kaltmiete / Grundmiete / Nettomiete (German) — Base rent / net rent (without utilities). Context: baseRent on Lease. The rent amount excluding operating costs and heating costs.
Warmmiete / Bruttomiete (German) — Gross rent (including utilities). Context: totalRent on Lease. The total monthly rent including all prepayments (base rent + Nebenkosten + Heizkosten).
NK-Vorschuss / Nebenkostenvorschuss (German) — Operating cost prepayment. Context: nkVorschuss on Lease. Monthly advance payment toward operating costs, settled annually in the Betriebskostenabrechnung.
HK-Vorschuss / Heizkostenvorschuss (German) — Heating cost prepayment. Context: hkVorschuss on Lease. Monthly advance payment toward heating and hot water costs, settled annually in the Heizkostenabrechnung.
Vorauszahlung (German) — Prepayment / advance payment. Context: prepayments on settlement results. Total prepayments made by a tenant during the billing period.
Kaution / Mietkaution (German) — Security deposit. Context: depositAmount, depositPaid on Lease. Security deposit required when signing a lease. Limited to 3 months' cold rent for residential leases (Par. 551 BGB). For commercial: see GewerbeKaution.
Barkaution (German) — Cash deposit. Context: BARKAUTION deposit type. Deposit paid in cash or bank transfer.
Bankbuergschaft (German) — Bank guarantee. Context: BANKBUERGSCHAFT deposit type. A bank guarantees the deposit amount. Common for commercial leases.
Versicherungsbuergschaft (German) — Insurance guarantee / surety bond. Context: VERSICHERUNGSBUERGSCHAFT deposit type. Insurance-backed deposit guarantee.
Schufa-Score (German) — Credit score. Context: schufaScore on Lease. SCHUFA is Germany's primary credit reporting agency. Score indicates tenant creditworthiness.
Betriebskosten / Nebenkosten (German) — Operating costs / ancillary costs. Context: OperatingCostSettlement, OperatingCostItem. Costs of running a building that landlords can pass on to tenants. Regulated by BetrKV. Includes water, waste, insurance, caretaker, garden maintenance, etc.
Betriebskostenabrechnung / Nebenkostenabrechnung (German) — Operating cost statement / utility bill settlement. Context: OperatingCostSettlement model, NEBENKOSTENABRECHNUNG letter type. Annual reconciliation of actual operating costs vs. prepayments. Must be sent within 12 months after the billing period ends. Status lifecycle: ENTWURF (draft) -> BERECHNET (calculated) -> VERSENDET (sent) -> ABGESCHLOSSEN (completed).
Kostenposition (German) — Cost item / line item. Context: OperatingCostItem model. Individual expense in the operating cost statement (e.g., water, heating, waste).
Umlagefaehig (German) — Allocable / recoverable. Context: allocableAmount, allocableRatio on OperatingCostItem. Whether a cost can be passed on to tenants. Maintenance (Wartung) is allocable; repairs (Reparatur) are not.
Mahnung (German) — Dunning notice / payment reminder. Context: MAHNUNG letter type, PAYMENT_REMINDER and PAYMENT_ESCALATION AI action types. Formal written demand for overdue payment. Dunning levels escalate per Par. 286 BGB.
Mieterhohung (German) — Rent increase. Context: MIETERHOHUNG letter type. Formal rent increase notice. Par. 558 BGB: max 20% in 3 years, max 15% in tight housing markets (Kappungsgrenze).
Kuendigung (German) — Termination / notice. Context: KUNDIGUNG letter type, terminationDate, terminationBy on Lease. Formal lease termination. Notice periods vary by lease duration.
Kuendigungsfrist (German) — Notice period. Context: FRIST calendar event type. The required advance notice before termination takes effect.
Grundsteuer (German) — Property tax / real estate tax. Context: grundsteuerAmount on Property, GRUNDSTEUER cost type. Annual municipal tax on property ownership. Can be allocated to tenants as operating costs.
4. Commercial Property (Gewerbeverwaltung)¶
Gewerbe (German) — Commercial (as opposed to residential). Context: All commercial-specific models are prefixed with Gewerbe. The LeaseType enum distinguishes WOHNRAUM (residential) from GEWERBE (commercial).
Unit Types (Gewerbe):
- Buero — Office. Context: GEWERBE_BUERO.
- Einzelhandel — Retail. Context: GEWERBE_EINZELHANDEL.
- Lager — Warehouse/storage. Context: GEWERBE_LAGER.
- Produktion — Production/manufacturing. Context: GEWERBE_PRODUKTION.
- Gastronomie — Restaurant/food service. Context: GEWERBE_GASTRONOMIE.
- Praxis — Medical/professional practice. Context: GEWERBE_PRAXIS.
- Sonstiges — Other. Context: GEWERBE_SONSTIGES.
Festmiete (German) — Fixed rent. Context: FESTMIETE rent structure. Standard fixed monthly rent.
Indexmiete (German) — Index-linked rent. Context: INDEXMIETE rent structure. Rent adjusted based on the Consumer Price Index (VPI). GewerbeIndexAnpassung model tracks adjustments. Requires an index clause (Indexklausel) in the lease.
Staffelmiete (German) — Graduated rent / stepped rent. Context: STAFFELMIETE rent structure. GewerbeStaffelPlan model. Pre-agreed rent increases at fixed intervals, specified in the lease.
Umsatzmiete (German) — Turnover rent / revenue-based rent. Context: UMSATZMIETE rent structure. GewerbeUmsatzMeldung model. Rent calculated as a percentage of the tenant's revenue. Common in retail. Usually has a Mindestmiete (minimum rent).
Pauschalmiete (German) — Flat-rate rent. Context: PAUSCHALMIETE rent structure. All-inclusive rent with no separate operating cost settlement.
VPI / Verbraucherpreisindex (German) — Consumer Price Index (CPI). Context: previousIndex, currentIndex on GewerbeIndexAnpassung, indexClauseBase on Lease. Published monthly by the Federal Statistical Office (Destatis). Used as the basis for Indexmiete adjustments.
Indexklausel (German) — Index clause. Context: indexClauseBase, indexClauseThreshold on Lease. Contractual clause linking rent to the VPI. Threshold (Schwellenwert) determines the minimum VPI change required before adjustment.
Schwellenwert (German) — Threshold value. Context: indexClauseThreshold on Lease. The minimum percentage change in VPI before a rent adjustment is triggered.
WAULT (English acronym, used in German market) — Weighted Average Unexpired Lease Term. Context: GewerbeWAULT model. Key commercial real estate metric showing the average remaining lease term weighted by rent. Lower WAULT = higher risk of vacancy.
Mindestmiete (German) — Minimum rent. Context: turnoverMinRent on Lease, minimumRent on GewerbeUmsatzMeldung. The floor rent in a turnover lease, regardless of actual revenue.
Tragfaehigkeit (German) — Load capacity (kg/sqm). Context: loadCapacity on Unit. Relevant for warehouse and production spaces.
Deckenhoehe (German) — Ceiling height (meters). Context: ceilingHeight on Unit. Important specification for commercial spaces.
Konkurrenzschutz (German) — Competition protection clause. Context: Referenced in specialClauses JSON on Lease. Contractual clause preventing the landlord from renting to competing businesses in the same building.
Betriebspflicht (German) — Operating obligation. Context: Referenced in specialClauses JSON on Lease. Contractual obligation for commercial tenants to actually operate their business (preventing vacancy).
Triple-Net (English, used in German market) — Triple-net lease. Context: netLease on Lease. Tenant pays all operating costs, maintenance, and insurance directly.
Nebenkostendeckel (German) — Operating cost cap. Context: costCap on GewerbeNebenkostenConfig. Maximum amount of operating costs chargeable to the tenant. Cap types: ABSOLUT (fixed amount), PRO_QM (per sqm), PROZENT_MIETE (percentage of rent).
Verwaltungskostenpauschale (German) — Management fee lump sum. Context: managementFeePercent on GewerbeNebenkostenConfig. Percentage fee charged for property management.
USt-Option / Umsatzsteuer-Option (German) — VAT option. Context: vatOption, vatRate on Lease. Par. 9 UStG: landlords can opt to charge VAT on commercial rent, enabling input tax deduction (Vorsteuerabzug). Only possible if the tenant uses the space for VAT-taxable activities.
Vorsteuerabzug (German) — Input tax deduction. Context: Implied by ustBetrag on WegVerbindlichkeit. The right to deduct VAT paid on purchases from VAT owed on sales.
Freistellungsbescheinigung (German) — Tax exemption certificate. Context: TaxCertificate model. Par. 48 EStG. Certificate proving that a contractor (Handwerker) is not subject to 15% construction withholding tax (Bauabzugsteuer). Without this, the property manager must withhold 15% of the invoice amount and remit it to the tax authority.
Bauabzugsteuer (German) — Construction withholding tax. Context: Implied by TaxCertificate. 15% tax withheld from payments to construction service providers unless they hold a Freistellungsbescheinigung.
Finanzamt (German) — Tax office / revenue authority. Context: issuedBy on TaxCertificate. The issuing authority for Freistellungsbescheinigungen.
Rechnungsnummer (German) — Invoice number. Context: invoiceNumber on ServiceOrder, invoiceRef on OperatingCostItem, belegNummer on WegVerbindlichkeit.
5. Heating Costs (Heizkostenabrechnung)¶
Heizkostenabrechnung (German) — Heating cost settlement. Context: HeatingCostSettlement model. Annual settlement of heating and hot water costs. Separate from Betriebskostenabrechnung.
HeizkV / Heizkostenverordnung (German) — Heating Cost Ordinance. Context: The regulation governing how heating costs must be allocated among tenants. Par. 7 HeizkV mandates the 30/70 distribution key.
30/70-Aufteilung (German) — 30/70 split. Context: basicCostRatio on HeatingCostSettlement, default 0.3. HeizkV Par. 7: 30-50% of heating costs allocated by area (Grundkosten), 50-70% by consumption (Verbrauchskosten).
Grundkosten (German) — Basic costs / fixed costs. Context: basicCostShare on HeatingCostUnitResult. The portion of heating costs allocated by living area (typically 30%).
Verbrauchskosten (German) — Consumption costs. Context: consumptionShare on HeatingCostUnitResult. The portion of heating costs allocated by actual consumption (typically 70%).
Brennstoffkosten (German) — Fuel costs. Context: fuelCost on HeatingCostSettlement. Cost of heating fuel (gas, oil, pellets).
Betriebsstrom (German) — Operating power / auxiliary electricity. Context: operatingPowerCost on HeatingCostSettlement. Electricity consumed by the heating system itself (pumps, controls).
Schornsteinfeger (German) — Chimney sweep. Context: chimneySweeperCost on HeatingCostSettlement. Legally mandated chimney inspection and cleaning costs.
Warmwasser (German) — Hot water. Context: totalWarmWaterCost, warmWaterM3 on heating cost models. Hot water preparation costs, settled alongside heating costs.
CO2KostAufG / Kohlendioxidkostenaufteilungsgesetz (German) — CO2 Cost Sharing Act. Context: co2Total, co2LandlordShare, co2TenantShare, co2Class on HeatingCostSettlement. Since 2023, CO2 costs are split between landlord and tenant based on the building's energy efficiency (classes A-G). Worse efficiency = higher landlord share.
Messdienstleister (German) — Metering service provider. Context: Companies like Techem, Ista, Brunata that install consumption meters and provide readings. The system supports CSV/XML import from these providers.
Heizungstypen (German heating types in enum): - Gas / Gas Etage — Gas central / gas floor heating - Oel — Oil heating - Fernwaerme — District heating - Waermepumpe — Heat pump - Pellets — Wood pellet heating - Blockheizkraftwerk — Combined heat and power plant (CHP) - Solar — Solar heating
6. Legal & Compliance¶
DSGVO / Datenschutz-Grundverordnung (German) — General Data Protection Regulation (GDPR). Context: DATENSCHUTZ agent type. Pervasive throughout the codebase: PII masking (pii-mask.ts), encrypted IBANs, data export (Art. 20), account deletion (Art. 17), consent tracking, audit logging.
Datenschutz (German) — Data protection / privacy. Context: DATENSCHUTZ agent type. The Datenschutz agent monitors GDPR compliance, consent management, and data access.
DSFA / Datenschutz-Folgenabschaetzung (German) — Data Protection Impact Assessment (DPIA). Context: Referenced in CLAUDE.md as pending task. Required under DSGVO Art. 35 for high-risk data processing.
DPA / Datenverarbeitungsvertrag (German) — Data Processing Agreement. Context: Referenced in CLAUDE.md. Required contract with all third-party data processors (OpenAI, Anthropic, Google, etc.).
BGB / Buergerliches Gesetzbuch (German) — German Civil Code. Context: Referenced throughout. Key sections: Par. 286 (default/dunning), Par. 535ff (lease law), Par. 551 (deposit limits), Par. 558 (rent increases).
BetrKV / Betriebskostenverordnung (German) — Operating Cost Ordinance. Context: costCategory on OperatingCostItem. Par. 2 BetrKV defines which costs are allocable to tenants. The Wartung/Reparatur distinction comes from this regulation.
EStG / Einkommensteuergesetz (German) — Income Tax Act. Context: Par. 48 EStG governs Freistellungsbescheinigungen and Bauabzugsteuer.
UStG / Umsatzsteuergesetz (German) — VAT Act. Context: Par. 9 UStG: VAT option for commercial leases. vatOption on Lease.
GEG / Gebaeudeenergiegesetz (German) — Building Energy Act. Context: GEG_WARNING AI action type. Replaced EnEV in 2020. Regulates energy efficiency requirements for buildings. Key deadline: old oil/gas heating replacement by 2028. legalNotes on PropertyComponent stores GEG-related information.
EnEV / Energieeinsparverordnung (German) — Energy Saving Ordinance (superseded by GEG). Context: Referenced in legalNotes. Historical regulation, replaced by GEG in 2020 but still referenced in older documents.
VDI 2067 (German standard) — Guideline for economic efficiency of building systems. Context: expectedLifespan on PropertyComponent. Provides standard lifespans for building components (e.g., heating system: 15-20 years).
Kappungsgrenze (German) — Rent increase cap. Context: Par. 558 BGB. Maximum rent increase of 20% (or 15% in tight housing markets) within 3 years.
Verzug (German) — Default (legal). Context: Par. 286 BGB. A debtor is in default when they fail to pay after a due date or after receiving a Mahnung.
7. Technical / Building¶
Schliessanlage (German) — Locking system. Context: KeySystem model, admin page /admin/schliessanlagen. The complete lock and key system of a building. Types: MECHANICAL, ELECTRONIC, TRANSPONDER, CODE.
Schluessel (German) — Key. Context: KeyAssignment model. Individual key, card, or transponder assigned to a person. Schluesselnotdienst = emergency locksmith.
Schliesszylinder (German) — Lock cylinder. Context: systemChangeRequired on KeyLossReport. When keys are lost, the lock cylinder may need replacement, especially in master key systems.
Zaehlerstand / Zaehlerablesung (German) — Meter reading. Context: MeterReading model, ABLESUNG calendar event type. Regular reading of consumption meters (water, heating, electricity, gas). MeterType enum: WATER_COLD, WATER_HOT, HEATING, ELECTRICITY, GAS.
Energieausweis (German) — Energy performance certificate. Context: energyAusweisType, energyAusweisExpiry on Property, ENERGIEAUSWEIS document category. Legally required (Par. 80 GEG) for rental and sale. Types: VERBRAUCH (consumption-based) or BEDARF (demand-based). Valid for max 10 years.
Instandhaltung (German) — Maintenance / upkeep. Context: Score category maintenanceScore on PropertyScore. Ongoing work to maintain the building in good condition.
Wartung (German) — Scheduled maintenance / servicing. Context: WARTUNG cost category, calendar event type. Regular, planned maintenance (e.g., annual heating inspection). Allocable to tenants under BetrKV. Distinguished from Reparatur in operating cost classification.
Reparatur (German) — Repair. Context: REPARATUR cost category. Fixing broken items. NOT allocable to tenants under BetrKV. The Wartung/Reparatur distinction is critical for operating cost settlements.
Grundbuch (German) — Land registry. Context: GRUNDBUCH document category. Official register of property ownership and encumbrances. Maintained by the local court (Amtsgericht).
Gebaeudeversicherung (German) — Building insurance. Context: gebaeudeversicherung on Property, gebaeudeVersicherungNr on WegGemeinschaft. Insurance covering the building structure. An allocable operating cost.
Haftpflichtversicherung (German) — Liability insurance. Context: haftpflichtVersicherungNr on WegGemeinschaft. Insurance covering liability claims related to the property.
Uebergabeprotokoll (German) — Handover protocol. Context: HandoverProtocol and HandoverProtocolItem models. Document recording the condition of a unit at move-in (MOVE_IN) or move-out (MOVE_OUT). Rooms inspected: FLUR (hallway), WOHNZIMMER (living room), SCHLAFZIMMER (bedroom), KUECHE (kitchen), BAD (bathroom), BALKON (balcony), KELLER (basement), SONSTIGE (other).
Ankuendigung (German) — Announcement / notice. Context: Announcement model. Building-wide notices (maintenance, events, rules). Digital "Schwarzes Brett" (bulletin board).
Schwarzes Brett (German) — Bulletin board. Context: The tenant portal's announcement feature. Traditional term for building information boards.
Notfallkontakt (German) — Emergency contact. Context: EmergencyContact model. Emergency contacts categorized by type: HAUSMEISTER, ROHRREINIGUNG (drain cleaning), SCHLUESSELNOTDIENST (locksmith), HAUSVERWALTUNG, POLIZEI (police), FEUERWEHR (fire department), GIFT (poison control), SONSTIGE (other).
Mietbescheinigung (German) — Rental confirmation / tenancy certificate. Context: MIETBESCHEINIGUNG certificate request type. Document confirming tenancy details. Needed for government offices, employers, etc.
Wohnungsgeberbestaetigung (German) — Landlord registration confirmation. Context: WOHNUNGSGEBERBESTAETIGUNG certificate request type. Legally required (Par. 19 BMG) document the landlord must provide for the tenant's address registration.
Beleg (German) — Receipt / voucher / proof. Context: beleg on WegRuecklageBuchung. Reference to a supporting document for a financial transaction.
Heizung (German) — Heating (system). Context: HEIZUNG ticket category, cost type. One of the most common ticket and cost categories.
Sanitaer (German) — Plumbing. Context: SANITAER ticket category. Plumbing-related issues and maintenance.
Elektrik (German) — Electrical. Context: ELEKTRIK ticket category. Electrical system issues.
Schimmel / Feuchtigkeit (German) — Mold / moisture. Context: SCHIMMEL_FEUCHTIGKEIT ticket category. A frequent and legally sensitive issue in German rental law.
Dach / Fassade (German) — Roof / facade. Context: DACH_FASSADE ticket category, DACH component category. Structural elements of the building.
Daemmung (German) — Insulation. Context: DAEMMUNG component category. Building insulation, increasingly important due to GEG requirements.
Treppenhaus (German) — Stairwell. Context: TREPPENHAUS component category. Common area maintained by the WEG community.
Allgemeinstrom (German) — Common area electricity. Context: ALLGEMEINSTROM cost type. Electricity for shared spaces (hallways, stairwells, outdoor lighting).
Strassenreinigung (German) — Street cleaning. Context: STRASSENREINIGUNG cost type. Municipal street cleaning charges, allocable as operating costs.
Gartenpflege (German) — Garden maintenance. Context: GARTENPFLEGE cost type. Maintenance of outdoor green areas.
Muell / Muellentsorgung (German) — Waste / waste disposal. Context: MUELL cost type, MUELL_ENTSORGUNG ticket category. Waste collection and disposal costs.
8. AI Agents¶
Kommunikator (German) — Communicator. Context: KOMMUNIKATOR agent type. Handles tenant communication, auto-replies to tickets, translates messages, and drafts responses. Uses GPT-4o-mini.
Finanzwaechter (German) — Financial guardian / watchdog. Context: FINANZWAECHTER agent type. Monitors payments, triggers dunning escalation, detects payment anomalies. Tracks overdue amounts and generates payment reminders.
Ingenieur (German) — Engineer. Context: INGENIEUR agent type. Manages building component lifecycles, maintenance scheduling, damage analysis, and GEG compliance. Uses VDI 2067 lifespans for predictive maintenance.
Rechtswatcher (German) — Legal watcher. Context: RECHTSWATCHER agent type. Monitors legal compliance, lease terms, deadlines (Fristen), and regulatory changes. Uses Claude 3 Haiku for legal analysis.
Datenschutz(-Agent) (German) — Data protection (agent). Context: DATENSCHUTZ agent type. Monitors GDPR compliance, consent validity, and data access patterns.
Marktanalyst (German) — Market analyst. Context: MARKTANALYST agent type. Analyzes market conditions, rental comparisons, and property valuations. Uses Mietspiegel and Bodenrichtwert data.
Vertrags-Agent (German) — Contract agent. Context: VERTRAGS_AGENT agent type. Monitors lease terms, renewal dates, special clauses, and contractual obligations.
Energie-Agent (German) — Energy agent. Context: ENERGIE_AGENT agent type. Tracks energy certificates, GEG compliance, CO2 costs, and solar potential.
WEG-Spezialist (German) — WEG specialist. Context: WEG_SPEZIALIST agent type. Monitors WEG-specific matters: Hausgeld collection, assembly deadlines, resolution compliance, Ruecklage calculations (Peters'sche Formel), and Beschluss validity.
Gewerbe-Spezialist (German) — Commercial specialist. Context: GEWERBE_SPEZIALIST agent type. Handles commercial lease specifics: WAULT calculation, index rent adjustments, turnover rent anomaly detection, Buergschaft expiry monitoring.
Score-Agent (German) — Score agent. Context: SCORE_AGENT agent type. Calculates and updates the Xolib Score (property rating 0-100) based on 5 categories and 20+ normalization functions.
Orchestrator / Mutter-Bot (German) — Orchestrator / "mother bot." Context: OrchestratorRun model. Cross-agent coordination system that triggers when complex events require input from multiple agents (e.g., water damage needs Ingenieur + Finanzwaechter + Kommunikator).
Briefing (German/English) — Daily briefing. Context: AI-generated summary of the day's priorities, pending actions, and alerts. Delivered via the dashboard.
Dossier (German/French) — Agent dossier / property dossier. Context: 23 parallel database queries building a comprehensive property profile for agent decision-making. Covers 23 data categories including tenants, payments, components, score, contractors, documents, and more.
9. Status Values & Common Terms¶
Entwurf (German) — Draft. Context: Initial status for settlements, resolutions, and plans. ENTWURF, WP_ENTWURF, JA_ENTWURF.
Berechnet (German) — Calculated. Context: Status after computation. BERECHNET, WP_BERECHNET, JA_BERECHNET.
Versendet (German) — Sent / dispatched. Context: Status after sending to recipients. VERSENDET, JA_VERSENDET.
Abgeschlossen (German) — Completed / closed. Context: Final status. ABGESCHLOSSEN, JA_ABGESCHLOSSEN.
Beschlossen (German) — Adopted / resolved. Context: BESCHLOSSEN, WP_BESCHLOSSEN, JA_BESCHLOSSEN. Status after formal approval by vote.
Rechtskraeftig (German) — Legally binding / final. Context: RECHTSKRAEFTIG. A WEG resolution becomes legally binding after the Anfechtungsfrist (challenge period) expires without challenge.
Aufgehoben (German) — Annulled / revoked. Context: AUFGEHOBEN. A resolution that was successfully challenged in court.
Geplant (German) — Planned. Context: GEPLANT. Initial status for assemblies and events.
Eingeladen (German) — Invited. Context: EINGELADEN. Status after invitations have been sent.
Laufend (German) — In progress / ongoing. Context: LAUFEND. Assembly currently taking place.
Wirksam (German) — Effective / in force. Context: WIRKSAM. An index adjustment that has taken effect.
Angekuendigt (German) — Announced / notified. Context: ANGEKUENDIGT. Status after formal notification to the tenant (e.g., rent adjustment).
Abgelehnt (German) — Rejected / declined. Context: ABGELEHNT. A proposed adjustment rejected by the tenant.
Ausstehend (German) — Pending / outstanding. Context: AUSSTEHEND. Awaiting submission.
Eingereicht (German) — Submitted. Context: EINGEREICHT. A report or document has been submitted.
Geprueft (German) — Reviewed / checked. Context: GEPRUEFT. A submission has been reviewed.
Akzeptiert (German) — Accepted. Context: AKZEPTIERT. A submission has been approved.
Beanstandet (German) — Contested / objected. Context: BEANSTANDET. A submission has been challenged or found incorrect.
Storniert (German) — Canceled / voided. Context: VB_STORNIERT. A transaction or document has been annulled.
Freigegeben (German) — Approved / released. Context: VB_FREIGEGEBEN, FREIGEGEBEN. Authorized for payment or release.
Teilweise freigegeben (German) — Partially released. Context: TEILWEISE_FREIGEGEBEN. Part of a deposit has been returned.
Verwertet (German) — Forfeited / claimed. Context: VERWERTET. A deposit has been claimed by the landlord due to damages or unpaid rent.
Offen (German) — Open / outstanding. Context: HG_OFFEN, VB_OFFEN. An item awaiting action or payment.
Ueberfaellig (German) — Overdue. Context: HG_UEBERFAELLIG. Past the due date.
Gemahnt (German) — Dunned. Context: HG_GEMAHNT. A formal payment reminder has been sent.
10. Ticket Categories¶
Heizung — Heating. Sanitaer — Plumbing. Elektrik — Electrical. Schimmel/Feuchtigkeit — Mold/moisture. Fenster/Tueren — Windows/doors. Dach/Fassade — Roof/facade. Aufzug — Elevator. Gemeinschaftsflaeche — Common area. Schloss/Schluessel — Lock/key. Schaedlinge — Pests. Laerm — Noise. Muell/Entsorgung — Waste/disposal. Garten/Aussenanlage — Garden/outdoor facilities. Sonstiges — Other/miscellaneous.
11. Ticket Statuses¶
Neu — New. In Bearbeitung — In progress. Wartend — Waiting. Eskaliert — Escalated. Geloest — Resolved. Geschlossen — Closed.
12. OpenImmo & Import¶
OpenImmo (German standard) — Open real estate data format. Context: XML v1.2.7 standard for property data exchange between German real estate platforms (ImmobilienScout24, Immowelt, Kleinanzeigen). The Xolib parser supports ZIP+XML import with dry-run preview and upsert logic.
13. Simulation Framework¶
IBB ProFIT (German) — Investitionsbank Berlin program for research and innovation funding. Context: The simulation framework is an anchor project for this FuE (Forschung und Entwicklung = R&D) funding program.
Autonomiestufe (German) — Autonomy level. Context: SimAutonomyLevel enum. Rating how independently the AI resolved a scenario: LEVEL_1 (fully autonomous) through LEVEL_5 (failure).
Simulation Modules (German enum values): FINANZEN (finance), WEG, OBJEKTE (properties), MIETER (tenants), GEWERBE (commercial), VERTRAEGE (contracts), DOKUMENTE (documents), TICKETS, HANDWERKER (contractors), EIGENTUEMER (owners), VERSICHERUNGEN (insurance), REPORTING, ONBOARDING, KOMMUNIKATION (communication).
14. Miscellaneous Codebase Terms¶
Mandant (German) — Client / tenant (in multi-tenant context). Context: Referred to as Tenant model in Prisma. The property management company using Xolib. Not to be confused with Mieter (renter).
Verwaltungsart (German) — Management type. Context: verwaltungsArt on Property. Whether the property is managed under WEG (condominium) or Mietverwaltung (rental management) rules.
Saldo (German) — Balance. Context: saldoNach on WegRuecklageBuchung, balance on settlement results. Running account balance.
Betrag (German) — Amount. Context: Used throughout (betrag, sollBetrag, istBetrag, planBetrag). A monetary amount.
Buchung (German) — Booking / transaction entry. Context: WegRuecklageBuchung, buchungsart. An accounting entry.
Buchungsart (German) — Transaction type. Context: buchungsart on WegRuecklageBuchung. EINZAHLUNG (deposit), ENTNAHME (withdrawal), ZINSEN (interest), KORREKTUR (correction).
Datum (German) — Date. Context: Used throughout (faelligDatum, rechnungsDatum, zahlungsDatum, abstimmungDatum). Standard field suffix for dates.
Faellig / Faelligkeit (German) — Due / due date. Context: faelligDatum on WegVerbindlichkeit. When a payment is due.
Monat (German) — Month. Context: monat on WegHausgeld. The billing month.
Jahrgang / Jahr (German) — Year. Context: year on various settlement and plan models.
Xolib Score (Mixed) — Property rating 0-100. Context: PropertyScore model. Composite score from 5 categories: Substanz (structural condition, 25%), Technik (technology/modernization, 25%), Ertrag (income/yield, 25%), Compliance (legal compliance, 15%), Instandhaltung (maintenance, 15%). Grades: A+ through F.
Willkommen (German) — Welcome. Context: WILLKOMMEN letter type. Welcome letter sent to new tenants.
Allgemein (German) — General. Context: ALLGEMEIN letter type. General correspondence.
Spickzettel (German) — Cheat sheet. Context: Referenced in simulation admin page tab. Quick-reference rules and guidelines for simulation scenarios.
Keine Referenzen gefunden.