Compare commits

...

3 Commits

Author SHA1 Message Date
b8147f6e61 Update cacheTimestamp and microtime values in config.php for improved caching 2026-01-25 12:13:04 +01:00
f7a24b8aef Enhance CKndigung entity: add new fields, update layouts, and implement document synchronization hook 2026-01-25 11:56:10 +01:00
292a0b57b9 Refactor termination and rental object entities
- Removed the "Kündigungen" field from the German and English rental object JSON files.
- Updated the termination JSON files to reflect new field names and structure, including renaming "kuendigungsart" to "beendigungsTatbestand" and "kuendigungsgrund" to "kuendigungsgrund" with updated options.
- Deleted the old "CKuendigung" entity definition and related metadata, consolidating functionality into "CKndigung".
- Adjusted the service logic to accommodate the new structure, ensuring proper linking of landlords and tenants.
- Updated dynamic visibility logic for fields based on conditions related to termination reasons and delivery methods.
- Cleaned up metadata definitions for both termination and rental object entities, removing unnecessary relationships and fields.
- Incremented cache and microtime values in the configuration file.
2026-01-25 11:41:57 +01:00
18 changed files with 275 additions and 797 deletions

View File

@@ -5,9 +5,8 @@
"tasks": "Aufgaben", "tasks": "Aufgaben",
"collaborators": "Mitarbeiter", "collaborators": "Mitarbeiter",
"vmhMietverhltnises": "Mietverhältnisse", "vmhMietverhltnises": "Mietverhältnisse",
"mietobjekte": "Mietobjekte", "kuendiger": "Vermieter",
"kuendiger": "Kündigende (Vermieter)", "gekuendigte": "Mieter",
"gekuendigte": "Gekündigte (Mieter)",
"dokumenteskuendigung": "Dokumente", "dokumenteskuendigung": "Dokumente",
"contactsKuendigung": "Portal-Freigaben" "contactsKuendigung": "Portal-Freigaben"
}, },
@@ -17,7 +16,6 @@
}, },
"fields": { "fields": {
"name": "Name", "name": "Name",
"description": "Beschreibung",
"assignedUser": "Zugewiesen", "assignedUser": "Zugewiesen",
"teams": "Teams", "teams": "Teams",
"createdAt": "Erstellt am", "createdAt": "Erstellt am",
@@ -30,39 +28,44 @@
"betnr": "Betreuernummer", "betnr": "Betreuernummer",
"advowareLastSync": "Letzter Sync", "advowareLastSync": "Letzter Sync",
"syncStatus": "Sync Status", "syncStatus": "Sync Status",
"kuendigungsart": "ndigungsart", "beendigungsTatbestand": "Beendigungstatbestand",
"kuendigungsgrund": "Kündigungsgrund", "kuendigungsgrund": "Kündigungsgrund",
"kuendigungsgrundDetails": "Kündigungsgrund Details", "kuendigungsgrundDetails": "Kündigungsgrund Details",
"kuendigungsdatum": "Kündigungsdatum", "kuendigungsdatum": "Kündigungsdatum",
"zustelldatum": "Zustelldatum", "zustelldatum": "Zustelldatum",
"kuendigungsfrist": "Kündigungsfrist",
"beendigungstermin": "Beendigungstermin", "beendigungstermin": "Beendigungstermin",
"status": "Status", "status": "Status",
"zustellart": "Zustellart", "zustellart": "Zustellart",
"reaktionMieter": "Reaktion Mieter", "sendungsverfolgungsnummer": "Sendungsverfolgungsnummer",
"notizen": "Notizen", "mietrueckstand": "Mietrückstand",
"rueckstandMiete": "Rückstand Miete", "mietkaution": "Mietkaution",
"rueckstandNebenkosten": "Rückstand Nebenkosten", "nebenkostenvorauszahlungen": "Nebenkostenvorauszahlungen",
"sonstigeForderungen": "Sonstige Forderungen", "vorzeitigeRaeumungZulaessig": "Vorzeitige Räumung zulässig",
"aussergerichtlicheGebuehren13": "Außergerichtliche Gebühren (1,3)" "beschreibungBesorgnisgrund": "Beschreibung Besorgnisgrund",
"gerichtsrubrum": "Gerichtsrubrum",
"gegenstandswert": "Gegenstandswert",
"kuendigungsservice": "Kündigungsservice",
"aussergerichtlicheGebuehren13": "Außergerichtliche Gebühren (1,3)",
"gerichtskosten1Instanz": "Gerichtskosten 1. Instanz",
"anwaltskosten1Instanz": "Anwaltskosten 1. Instanz"
}, },
"options": { "options": {
"kuendigungsart": { "beendigungsTatbestand": {
"Ordentlich": "Ordentlich", "Kündigung Vermieter": "Kündigung Vermieter",
"Ausserordentlich": "Außerordentlich", "Kündigung Mieter": "Kündigung Mieter",
"Fristlos": "Fristlos", "Aufhebungsvertrag": "Aufhebungsvertrag",
"AufgabeerklärungMieter": "Aufgabeerklärung Mieter" "Befristung": "Befristung",
"ZVG Zuschlagsbeschluss": "ZVG Zuschlagsbeschluss"
}, },
"kuendigungsgrund": { "kuendigungsgrund": {
"Zahlungsverzug": "Zahlungsverzug", "Mietrückstand": "Mietrückstand",
"Pflichtverletzung": "Pflichtverletzung",
"Eigenbedarf": "Eigenbedarf", "Eigenbedarf": "Eigenbedarf",
"Fehlverhalten": "Fehlverhalten",
"Verwertung": "Verwertung", "Verwertung": "Verwertung",
"VerhaltensbedingteLaermruhestoerung": "Verhaltensbedingte Lärm-/Ruhestörung", "ZVG Eigenbedarf": "ZVG Eigenbedarf",
"BeschaedigungSubstanz": "Beschädigung der Substanz", "573a Abs. 1 (nicht mehr als 2 Whng.)": "573a Abs. 1 (nicht mehr als 2 Wohnungen)",
"UnerlaubteUntervermietung": "Unerlaubte Untervermietung", "573a Abs. 2 (Einliegerwohnung)": "573a Abs. 2 (Einliegerwohnung)",
"StoerendeGeschaeftsfuehrung": "Störende Geschäftsführung", "GewerbeOrdentlich": "Gewerbe Ordentlich"
"Sonstiges": "Sonstiges"
}, },
"status": { "status": {
"Entwurf": "Entwurf", "Entwurf": "Entwurf",
@@ -76,9 +79,13 @@
"zustellart": { "zustellart": {
"Einschreiben": "Einschreiben", "Einschreiben": "Einschreiben",
"Persoenlich": "Persönlich", "Persoenlich": "Persönlich",
"Gerichtsvollzieher": "Gerichtsvollzieher", "Bote": "Bote",
"Oeffentlich": "Öffentlich", "Brief": "Brief"
"Sonstiges": "Sonstiges" },
"vorzeitigeRaeumungZulaessig": {
"Nein": "Nein",
"JaKeinWohnraum257ZPO": "Ja, Kein Wohnraum, § 257 ZPO",
"JaBesorgnisgrund259ZPO": "Ja, Besorgnis, § 259 ZPO"
}, },
"syncStatus": { "syncStatus": {
"clean": "Synchronisiert", "clean": "Synchronisiert",
@@ -89,6 +96,14 @@
"tooltips": { "tooltips": {
"advowareAktenzeichen": "Aktenzeichen aus Advoware für die Synchronisation", "advowareAktenzeichen": "Aktenzeichen aus Advoware für die Synchronisation",
"betnr": "Betreuernummer aus Advoware", "betnr": "Betreuernummer aus Advoware",
"syncStatus": "Status der Synchronisation mit Advoware" "syncStatus": "Status der Synchronisation mit Advoware",
"sendungsverfolgungsnummer": "Sendungsverfolgungsnummer für Einschreiben",
"mietrueckstand": "Gesamthöhe des Mietrückstands (nur bei Kündigungsgrund Mietrückstand)",
"mietkaution": "Einbehaltene oder ausstehende Mietkaution",
"nebenkostenvorauszahlungen": "Rückständige Nebenkostenvorauszahlungen",
"vorzeitigeRaeumungZulaessig": "Ist eine vorzeitige Räumung nach § 257 oder § 259 ZPO zulässig?",
"beschreibungBesorgnisgrund": "Beschreibung des Besorgnisgrunds für vorzeitige Räumung nach § 259 ZPO",
"gerichtsrubrum": "Rubrum für gerichtliche Unterlagen",
"kuendigungsservice": "Wird Kündigungsservice in Anspruch genommen?"
} }
} }

View File

@@ -1,94 +0,0 @@
{
"fields": {
"kuendigungsdatum": "Kündigungsdatum",
"kuendigungsfrist": "Kündigungsfrist / Auszugsdatum",
"kuendigungsgrund": "Kündigungsgrund",
"kuendigungsart": "Kündigungsart",
"kuendigenderPartei": "Kündigende Partei",
"status": "Status",
"zustellungsdatum": "Zustellungsdatum",
"zustellungsart": "Zustellungsart",
"rueckstandsbetrag": "Rückstandsbetrag",
"monateMietrückstand": "Monate Mietrückstand",
"schonfristGewaehrt": "Schonfrist gewährt",
"schonfristDatum": "Schonfrist Datum",
"besorgnisNichtRechtzeitigerAuszug": "Besorgnis nicht rechtzeitiger Auszug",
"anmerkungen": "Anmerkungen",
"vmhMietverhltnis": "Mietverhältnis",
"mietobjekt": "Mietobjekt",
"vermieter": "Vermieter",
"mieter": "Mieter",
"dokumenteKuendigung": "Dokumente",
"contactsKuendigung": "Freigegebene Nutzer"
},
"links": {
"vmhMietverhltnis": "Mietverhältnis",
"mietobjekt": "Mietobjekt",
"vermieter": "Vermieter",
"mieter": "Mieter",
"dokumenteKuendigung": "Dokumente",
"contactsKuendigung": "Freigegebene Nutzer",
"meetings": "Besprechungen",
"calls": "Anrufe",
"tasks": "Aufgaben",
"emails": "E-Mails",
"collaborators": "Mitarbeiter"
},
"labels": {
"Create CKuendigung": "Kündigung erstellen"
},
"options": {
"kuendigungsgrund": {
"Mietrückstand": "Mietrückstand",
"Eigenbedarf": "Eigenbedarf",
"Fehlverhalten": "Fehlverhalten",
"Verwertung": "Verwertung",
"ZVG Eigenbedarf": "ZVG Eigenbedarf",
"573a Abs. 1 (nicht mehr als 2 Whng.)": "§573a Abs. 1 (nicht mehr als 2 Wohnungen)",
"573a Abs. 2 (Einliegerwohnung)": "§573a Abs. 2 (Einliegerwohnung)",
"GewerbeOrdentlich": "Gewerbe ordentlich",
"Sonstige": "Sonstige"
},
"kuendigungsart": {
"Ordentlich": "Ordentlich",
"Außerordentlich (fristlos)": "Außerordentlich (fristlos)",
"Außerordentlich (mit sozialer Frist)": "Außerordentlich (mit sozialer Frist)"
},
"kuendigenderPartei": {
"Vermieter": "Vermieter",
"Mieter": "Mieter"
},
"status": {
"Entwurf": "Entwurf",
"Versendet": "Versendet",
"Zugestellt": "Zugestellt",
"Anerkannt": "Anerkannt",
"Bestritten": "Bestritten",
"Vollzogen": "Vollzogen",
"Widerrufen": "Widerrufen"
},
"zustellungsart": {
"Persönlich": "Persönlich",
"Einschreiben": "Einschreiben",
"Gerichtlicher Zustellungsbevollmächtigter": "Gerichtlicher Zustellungsbevollmächtigter",
"E-Mail (sofern vereinbart)": "E-Mail (sofern vereinbart)",
"Sonstige": "Sonstige"
}
},
"tooltips": {
"kuendigungsdatum": "Datum, an dem die Kündigung ausgesprochen wurde",
"kuendigungsfrist": "Datum, bis zu dem das Mietverhältnis beendet sein soll (Auszugsdatum)",
"kuendigungsgrund": "Rechtlicher Grund für die Kündigung (kann mehrere sein)",
"kuendigungsart": "Art der Kündigung: ordentlich mit Frist, außerordentlich fristlos oder mit sozialer Frist",
"kuendigenderPartei": "Welche Partei kündigt das Mietverhältnis",
"status": "Aktueller Bearbeitungsstatus der Kündigung",
"zustellungsdatum": "Datum, an dem die Kündigung dem Empfänger zugestellt wurde",
"zustellungsart": "Art der Zustellung (z.B. persönlich, Einschreiben)",
"rueckstandsbetrag": "Gesamtbetrag des Mietrückstands (bei Kündigung wegen Mietrückstand)",
"monateMietrückstand": "Anzahl der Monate, für die Mietrückstand besteht",
"schonfristGewaehrt": "Wurde eine Schonfrist nach § 569 Abs. 3 Nr. 2 BGB gewährt?",
"schonfristDatum": "Bis zu welchem Datum läuft die Schonfrist?",
"besorgnisNichtRechtzeitigerAuszug": "Besteht die Besorgnis, dass der Mieter nicht rechtzeitig auszieht? (Relevant für § 940a ZPO)",
"anmerkungen": "Zusätzliche Hinweise und Anmerkungen zur Kündigung"
}
}

View File

@@ -14,7 +14,6 @@
"contact2mietobjekt": "Kontakte", "contact2mietobjekt": "Kontakte",
"vmhRumungsklages": "Räumungsklagen", "vmhRumungsklages": "Räumungsklagen",
"mietinkassos": "Mietinkasso", "mietinkassos": "Mietinkasso",
"kndigungen": "Kündigungen",
"contactsMietobjekt": "Freigegebene Nutzer", "contactsMietobjekt": "Freigegebene Nutzer",
"dokumentesMietobjekt": "Dokumente" "dokumentesMietobjekt": "Dokumente"
}, },

View File

@@ -1,7 +1,6 @@
{ {
"fields": { "fields": {
"name": "Name", "name": "Name",
"description": "Description",
"assignedUser": "Assigned User", "assignedUser": "Assigned User",
"teams": "Teams", "teams": "Teams",
"createdAt": "Created At", "createdAt": "Created At",
@@ -14,21 +13,26 @@
"betnr": "Case Number", "betnr": "Case Number",
"advowareLastSync": "Last Sync", "advowareLastSync": "Last Sync",
"syncStatus": "Sync Status", "syncStatus": "Sync Status",
"kuendigungsart": "Termination Type", "beendigungsTatbestand": "Termination Event",
"kuendigungsgrund": "Termination Reason", "kuendigungsgrund": "Termination Reason",
"kuendigungsgrundDetails": "Termination Reason Details", "kuendigungsgrundDetails": "Termination Reason Details",
"kuendigungsdatum": "Termination Date", "kuendigungsdatum": "Termination Date",
"zustelldatum": "Delivery Date", "zustelldatum": "Delivery Date",
"kuendigungsfrist": "Notice Period",
"beendigungstermin": "End Date", "beendigungstermin": "End Date",
"status": "Status", "status": "Status",
"zustellart": "Delivery Method", "zustellart": "Delivery Method",
"reaktionMieter": "Tenant Response", "sendungsverfolgungsnummer": "Tracking Number",
"notizen": "Notes", "mietrueckstand": "Rent Arrears",
"rueckstandMiete": "Rent Arrears", "mietkaution": "Security Deposit",
"rueckstandNebenkosten": "Utility Arrears", "nebenkostenvorauszahlungen": "Utility Advance Payments",
"sonstigeForderungen": "Other Claims", "vorzeitigeRaeumungZulaessig": "Early Eviction Permitted",
"aussergerichtlicheGebuehren13": "Extrajudicial Fees (1.3)" "beschreibungBesorgnisgrund": "Description of Concern",
"gerichtsrubrum": "Court Heading",
"gegenstandswert": "Value in Dispute",
"kuendigungsservice": "Termination Service",
"aussergerichtlicheGebuehren13": "Extrajudicial Fees (1.3)",
"gerichtskosten1Instanz": "Court Costs 1st Instance",
"anwaltskosten1Instanz": "Attorney Fees 1st Instance"
}, },
"links": { "links": {
"meetings": "Meetings", "meetings": "Meetings",
@@ -36,9 +40,8 @@
"tasks": "Tasks", "tasks": "Tasks",
"collaborators": "Collaborators", "collaborators": "Collaborators",
"vmhMietverhltnises": "Tenancies", "vmhMietverhltnises": "Tenancies",
"mietobjekte": "Properties", "kuendiger": "Landlord",
"kuendiger": "Terminating Party (Landlord)", "gekuendigte": "Tenant",
"gekuendigte": "Terminated Party (Tenant)",
"dokumenteskuendigung": "Documents", "dokumenteskuendigung": "Documents",
"contactsKuendigung": "Portal Access" "contactsKuendigung": "Portal Access"
}, },
@@ -47,22 +50,22 @@
"CKndigung": "Termination" "CKndigung": "Termination"
}, },
"options": { "options": {
"kuendigungsart": { "beendigungsTatbestand": {
"Ordentlich": "Regular", "Kündigung Vermieter": "Termination by Landlord",
"Ausserordentlich": "Extraordinary", "Kündigung Mieter": "Termination by Tenant",
"Fristlos": "Immediate", "Aufhebungsvertrag": "Termination Agreement",
"AufgabeerklärungMieter": "Tenant Surrender" "Befristung": "Fixed-term Expiry",
"ZVG Zuschlagsbeschluss": "Forced Sale Award"
}, },
"kuendigungsgrund": { "kuendigungsgrund": {
"Zahlungsverzug": "Payment Default", "Mietrückstand": "Rent Arrears",
"Pflichtverletzung": "Breach of Contract",
"Eigenbedarf": "Owner's Need", "Eigenbedarf": "Owner's Need",
"Fehlverhalten": "Misconduct",
"Verwertung": "Exploitation", "Verwertung": "Exploitation",
"VerhaltensbedingteLaermruhestoerung": "Behavioral - Noise/Disturbance", "ZVG Eigenbedarf": "Forced Sale Owner's Need",
"BeschaedigungSubstanz": "Property Damage", "573a Abs. 1 (nicht mehr als 2 Whng.)": "573a Par. 1 (no more than 2 units)",
"UnerlaubteUntervermietung": "Unauthorized Subletting", "573a Abs. 2 (Einliegerwohnung)": "573a Par. 2 (granny flat)",
"StoerendeGeschaeftsfuehrung": "Disruptive Business Operations", "GewerbeOrdentlich": "Commercial Regular"
"Sonstiges": "Other"
}, },
"status": { "status": {
"Entwurf": "Draft", "Entwurf": "Draft",
@@ -76,9 +79,13 @@
"zustellart": { "zustellart": {
"Einschreiben": "Registered Mail", "Einschreiben": "Registered Mail",
"Persoenlich": "Personal Delivery", "Persoenlich": "Personal Delivery",
"Gerichtsvollzieher": "Bailiff", "Bote": "Courier",
"Oeffentlich": "Public Notice", "Brief": "Mail"
"Sonstiges": "Other" },
"vorzeitigeRaeumungZulaessig": {
"Nein": "No",
"JaKeinWohnraum257ZPO": "Yes, Non-Residential, § 257 ZPO",
"JaBesorgnisgrund259ZPO": "Yes, Concern, § 259 ZPO"
}, },
"syncStatus": { "syncStatus": {
"clean": "Synchronized", "clean": "Synchronized",
@@ -89,6 +96,14 @@
"tooltips": { "tooltips": {
"advowareAktenzeichen": "File number from Advoware for synchronization", "advowareAktenzeichen": "File number from Advoware for synchronization",
"betnr": "Case number from Advoware", "betnr": "Case number from Advoware",
"syncStatus": "Synchronization status with Advoware" "syncStatus": "Synchronization status with Advoware",
"sendungsverfolgungsnummer": "Tracking number for registered mail",
"mietrueckstand": "Total amount of rent arrears (only for termination reason rent arrears)",
"mietkaution": "Withheld or outstanding security deposit",
"nebenkostenvorauszahlungen": "Outstanding utility advance payments",
"vorzeitigeRaeumungZulaessig": "Is early eviction permitted under § 257 or § 259 ZPO?",
"beschreibungBesorgnisgrund": "Description of the concern for early eviction under § 259 ZPO",
"gerichtsrubrum": "Heading for court documents",
"kuendigungsservice": "Is termination service being used?"
} }
} }

View File

@@ -1,94 +0,0 @@
{
"fields": {
"kuendigungsdatum": "Termination Date",
"kuendigungsfrist": "Notice Period / Move-out Date",
"kuendigungsgrund": "Termination Reason",
"kuendigungsart": "Termination Type",
"kuendigenderPartei": "Terminating Party",
"status": "Status",
"zustellungsdatum": "Delivery Date",
"zustellungsart": "Delivery Method",
"rueckstandsbetrag": "Arrears Amount",
"monateMietrückstand": "Months of Arrears",
"schonfristGewaehrt": "Grace Period Granted",
"schonfristDatum": "Grace Period Date",
"besorgnisNichtRechtzeitigerAuszug": "Concern of Delayed Move-out",
"anmerkungen": "Notes",
"vmhMietverhltnis": "Rental Agreement",
"mietobjekt": "Property",
"vermieter": "Landlords",
"mieter": "Tenants",
"dokumenteKuendigung": "Documents",
"contactsKuendigung": "Shared Users"
},
"links": {
"vmhMietverhltnis": "Rental Agreement",
"mietobjekt": "Property",
"vermieter": "Landlords",
"mieter": "Tenants",
"dokumenteKuendigung": "Documents",
"contactsKuendigung": "Shared Users",
"meetings": "Meetings",
"calls": "Calls",
"tasks": "Tasks",
"emails": "Emails",
"collaborators": "Collaborators"
},
"labels": {
"Create CKuendigung": "Create Termination"
},
"options": {
"kuendigungsgrund": {
"Mietrückstand": "Rent Arrears",
"Eigenbedarf": "Personal Use",
"Fehlverhalten": "Misconduct",
"Verwertung": "Utilization",
"ZVG Eigenbedarf": "Foreclosure Personal Use",
"573a Abs. 1 (nicht mehr als 2 Whng.)": "§573a Para. 1 (max 2 units)",
"573a Abs. 2 (Einliegerwohnung)": "§573a Para. 2 (granny flat)",
"GewerbeOrdentlich": "Commercial Regular",
"Sonstige": "Other"
},
"kuendigungsart": {
"Ordentlich": "Regular",
"Außerordentlich (fristlos)": "Extraordinary (without notice)",
"Außerordentlich (mit sozialer Frist)": "Extraordinary (with social grace period)"
},
"kuendigenderPartei": {
"Vermieter": "Landlord",
"Mieter": "Tenant"
},
"status": {
"Entwurf": "Draft",
"Versendet": "Sent",
"Zugestellt": "Delivered",
"Anerkannt": "Acknowledged",
"Bestritten": "Disputed",
"Vollzogen": "Completed",
"Widerrufen": "Revoked"
},
"zustellungsart": {
"Persönlich": "Personal",
"Einschreiben": "Registered Mail",
"Gerichtlicher Zustellungsbevollmächtigter": "Court Process Server",
"E-Mail (sofern vereinbart)": "E-Mail (if agreed)",
"Sonstige": "Other"
}
},
"tooltips": {
"kuendigungsdatum": "Date when the termination was issued",
"kuendigungsfrist": "Date by which the tenancy should end (move-out date)",
"kuendigungsgrund": "Legal reason(s) for termination",
"kuendigungsart": "Type of termination: regular with notice period, extraordinary without notice, or with social grace period",
"kuendigenderPartei": "Which party terminates the tenancy",
"status": "Current processing status of the termination",
"zustellungsdatum": "Date when the termination was delivered to the recipient",
"zustellungsart": "Method of delivery (e.g., personal, registered mail)",
"rueckstandsbetrag": "Total amount of rent arrears (for termination due to rent arrears)",
"monateMietrückstand": "Number of months for which rent is in arrears",
"schonfristGewaehrt": "Was a grace period granted according to § 569 Para. 3 No. 2 BGB?",
"schonfristDatum": "Until what date does the grace period run?",
"besorgnisNichtRechtzeitigerAuszug": "Is there concern that the tenant will not move out on time? (Relevant for § 940a ZPO)",
"anmerkungen": "Additional notes and comments about the termination"
}
}

View File

@@ -20,7 +20,6 @@
"contact2mietobjekt": "Contacts", "contact2mietobjekt": "Contacts",
"vmhRumungsklages": "Eviction Lawsuits", "vmhRumungsklages": "Eviction Lawsuits",
"mietinkassos": "Rent Collection", "mietinkassos": "Rent Collection",
"kndigungen": "Terminations",
"contactsMietobjekt": "Portal Users", "contactsMietobjekt": "Portal Users",
"dokumentesMietobjekt": "Documents" "dokumentesMietobjekt": "Documents"
}, },

View File

@@ -23,7 +23,7 @@
"_tabBreak_1": { "_tabBreak_1": {
"index": 2, "index": 2,
"tabBreak": true, "tabBreak": true,
"tabLabel": "Kündigende" "tabLabel": "Vermieter"
}, },
"kuendiger": { "kuendiger": {
"index": 3 "index": 3
@@ -31,7 +31,7 @@
"_tabBreak_2": { "_tabBreak_2": {
"index": 4, "index": 4,
"tabBreak": true, "tabBreak": true,
"tabLabel": "Gekündigte" "tabLabel": "Mieter"
}, },
"gekuendigte": { "gekuendigte": {
"index": 5 "index": 5
@@ -51,13 +51,5 @@
}, },
"dokumenteskuendigung": { "dokumenteskuendigung": {
"index": 9 "index": 9
},
"_tabBreak_5": {
"index": 10,
"tabBreak": true,
"tabLabel": "Mietobjekte"
},
"mietobjekte": {
"index": 11
} }
} }

View File

@@ -9,7 +9,7 @@
"name": "name" "name": "name"
}, },
{ {
"name": "kuendigungsart" "name": "beendigungsTatbestand"
}, },
{ {
"name": "status" "name": "status"
@@ -26,21 +26,19 @@
"name": "kuendigungsdatum" "name": "kuendigungsdatum"
}, },
{ {
"name": "zustelldatum" "name": "beendigungstermin"
},
{
"name": "zustellart"
} }
], ],
[ [
{ {
"name": "kuendigungsfrist" "name": "zustellart"
}, },
{ {
"name": "beendigungstermin" "name": "zustelldatum"
}, },
{}, {
{} "name": "sendungsverfolgungsnummer"
}
], ],
[ [
{ {
@@ -50,44 +48,66 @@
] ]
}, },
{ {
"label": "Finanzielle Forderungen", "label": "Finanzielle Details",
"style": "default", "style": "default",
"tabBreak": false, "tabBreak": false,
"rows": [ "rows": [
[ [
{ {
"name": "rueckstandMiete" "name": "mietrueckstand"
}, },
{ {
"name": "rueckstandNebenkosten" "name": "mietkaution"
}, },
{ {
"name": "sonstigeForderungen" "name": "nebenkostenvorauszahlungen"
},
{
"name": "aussergerichtlicheGebuehren13"
} }
] ]
] ]
}, },
{ {
"label": "Notizen & Reaktion", "label": "Vorzeitige Räumung",
"style": "default", "style": "default",
"tabBreak": false, "tabBreak": false,
"rows": [ "rows": [
[ [
{ {
"name": "reaktionMieter" "name": "vorzeitigeRaeumungZulaessig"
},
{
"name": "beschreibungBesorgnisgrund"
}
]
]
},
{
"label": "Gerichtskosten",
"style": "default",
"tabBreak": true,
"tabLabel": "Erweitert",
"rows": [
[
{
"name": "gerichtsrubrum"
} }
], ],
[ [
{ {
"name": "notizen" "name": "gegenstandswert"
},
{
"name": "kuendigungsservice"
} }
], ],
[ [
{ {
"name": "description" "name": "aussergerichtlicheGebuehren13"
},
{
"name": "gerichtskosten1Instanz"
},
{
"name": "anwaltskosten1Instanz"
} }
] ]
] ]
@@ -95,8 +115,7 @@
{ {
"label": "Advoware Sync", "label": "Advoware Sync",
"style": "default", "style": "default",
"tabBreak": true, "tabBreak": false,
"tabLabel": "Erweitert",
"rows": [ "rows": [
[ [
{ {

View File

@@ -60,12 +60,20 @@
"mietinkassos": { "mietinkassos": {
"index": 11 "index": 11
}, },
"_tabBreak_4": { "_tabBreak_7": {
"index": 12, "index": 12,
"tabBreak": true, "tabBreak": true,
"tabLabel": "Kündigungen"
},
"kndigungen": {
"index": 13
},
"_tabBreak_4": {
"index": 14,
"tabBreak": true,
"tabLabel": "Dokumente" "tabLabel": "Dokumente"
}, },
"dokumentesvmhMietverhltnisse": { "dokumentesvmhMietverhltnisse": {
"index": 13 "index": 15
} }
} }

View File

@@ -34,15 +34,48 @@
] ]
}, },
"iconClass": "fas fa-file-contract", "iconClass": "fas fa-file-contract",
"dynamicLogic": {
"fields": {
"sendungsverfolgungsnummer": {
"visible": {
"conditionGroup": [
{
"type": "equals",
"attribute": "zustellart",
"value": "Einschreiben"
}
]
}
},
"mietrueckstand": {
"visible": {
"conditionGroup": [
{
"type": "contains",
"attribute": "kuendigungsgrund",
"value": "Mietrückstand"
}
]
}
},
"beschreibungBesorgnisgrund": {
"visible": {
"conditionGroup": [
{
"type": "equals",
"attribute": "vorzeitigeRaeumungZulaessig",
"value": "JaBesorgnisgrund259ZPO"
}
]
}
}
}
},
"relationshipPanels": { "relationshipPanels": {
"vmhMietverhltnises": { "vmhMietverhltnises": {
"layout": null, "layout": null,
"selectPrimaryFilterName": null "selectPrimaryFilterName": null
}, },
"mietobjekte": {
"layout": null,
"selectPrimaryFilterName": null
},
"kuendiger": { "kuendiger": {
"layout": null, "layout": null,
"selectPrimaryFilterName": null "selectPrimaryFilterName": null

View File

@@ -1,55 +0,0 @@
{
"controller": "controllers/record",
"boolFilterList": [
"onlyMy"
],
"iconClass": "fas fa-file-contract",
"sidePanels": {
"detail": [
{
"name": "activities",
"reference": "activities"
},
{
"name": "history",
"reference": "history"
},
{
"name": "tasks",
"reference": "tasks"
}
]
},
"bottomPanels": {
"detail": [
{
"name": "activities",
"reference": "activities",
"disabled": true
},
{
"name": "history",
"reference": "history",
"disabled": true
}
]
},
"relationshipPanels": {
"vermieter": {
"layout": null,
"selectPrimaryFilterName": null
},
"mieter": {
"layout": null,
"selectPrimaryFilterName": null
},
"dokumenteKuendigung": {
"layout": null,
"selectPrimaryFilterName": null
},
"contactsKuendigung": {
"layout": null,
"selectPrimaryFilterName": "portalUsers"
}
}
}

View File

@@ -90,32 +90,75 @@
"tooltip": true, "tooltip": true,
"isCustom": true "isCustom": true
}, },
"kuendigungsart": { "gerichtsrubrum": {
"type": "enum", "type": "text",
"required": false, "required": false,
"isCustom": true
},
"gegenstandswert": {
"type": "currency",
"required": false,
"default": 0,
"isCustom": true
},
"kuendigungsservice": {
"type": "bool",
"required": false,
"default": false,
"isCustom": true
},
"aussergerichtlicheGebuehren13": {
"type": "currency",
"required": false,
"default": 0,
"isCustom": true
},
"gerichtskosten1Instanz": {
"type": "currency",
"required": false,
"default": 0,
"isCustom": true
},
"anwaltskosten1Instanz": {
"type": "currency",
"required": false,
"default": 0,
"isCustom": true
},
"beendigungsTatbestand": {
"type": "enum",
"required": true,
"options": [ "options": [
"Ordentlich", "Kündigung Vermieter",
"Ausserordentlich", "Kündigung Mieter",
"Fristlos", "Aufhebungsvertrag",
"AufgabeerklärungMieter" "Befristung",
"ZVG Zuschlagsbeschluss"
], ],
"default": "Ordentlich", "style": {
"Kündigung Vermieter": null,
"Kündigung Mieter": null,
"Aufhebungsvertrag": null,
"Befristung": null,
"ZVG Zuschlagsbeschluss": null
},
"default": "Kündigung Vermieter",
"isCustom": true "isCustom": true
}, },
"kuendigungsgrund": { "kuendigungsgrund": {
"type": "enum", "type": "multiEnum",
"required": false, "required": false,
"options": [ "options": [
"Zahlungsverzug", "Mietrückstand",
"Pflichtverletzung",
"Eigenbedarf", "Eigenbedarf",
"Fehlverhalten",
"Verwertung", "Verwertung",
"VerhaltensbedingteLaermruhestoerung", "ZVG Eigenbedarf",
"BeschaedigungSubstanz", "573a Abs. 1 (nicht mehr als 2 Whng.)",
"UnerlaubteUntervermietung", "573a Abs. 2 (Einliegerwohnung)",
"StoerendeGeschaeftsfuehrung", "GewerbeOrdentlich"
"Sonstiges"
], ],
"tooltip": true,
"isCustom": true "isCustom": true
}, },
"kuendigungsgrundDetails": { "kuendigungsgrundDetails": {
@@ -165,44 +208,55 @@
"options": [ "options": [
"Einschreiben", "Einschreiben",
"Persoenlich", "Persoenlich",
"Gerichtsvollzieher", "Bote",
"Oeffentlich", "Brief"
"Sonstiges"
], ],
"isCustom": true "isCustom": true
}, },
"reaktionMieter": { "sendungsverfolgungsnummer": {
"type": "varchar",
"required": false,
"maxLength": 100,
"tooltip": true,
"isCustom": true
},
"vorzeitigeRaeumungZulaessig": {
"type": "enum",
"required": false,
"options": [
"Nein",
"JaKeinWohnraum257ZPO",
"JaBesorgnisgrund259ZPO"
],
"default": "Nein",
"tooltip": true,
"isCustom": true
},
"beschreibungBesorgnisgrund": {
"type": "text", "type": "text",
"required": false, "required": false,
"tooltip": true,
"isCustom": true "isCustom": true
}, },
"notizen": { "mietrueckstand": {
"type": "text",
"required": false,
"isCustom": true
},
"rueckstandMiete": {
"type": "currency", "type": "currency",
"required": false, "required": false,
"default": 0, "default": 0,
"tooltip": true,
"isCustom": true "isCustom": true
}, },
"rueckstandNebenkosten": { "mietkaution": {
"type": "currency", "type": "currency",
"required": false, "required": false,
"default": 0, "default": 0,
"tooltip": true,
"isCustom": true "isCustom": true
}, },
"sonstigeForderungen": { "nebenkostenvorauszahlungen": {
"type": "currency",
"required": false,
"default": 0,
"isCustom": true
},
"aussergerichtlicheGebuehren13": {
"type": "currency", "type": "currency",
"required": false, "required": false,
"default": 0, "default": 0,
"tooltip": true,
"isCustom": true "isCustom": true
} }
}, },
@@ -254,14 +308,6 @@
"audited": false, "audited": false,
"isCustom": true "isCustom": true
}, },
"mietobjekte": {
"type": "hasMany",
"relationName": "cMietobjektKuendigung",
"foreign": "kndigungen",
"entity": "CMietobjekt",
"audited": false,
"isCustom": true
},
"freigeschalteteNutzer": { "freigeschalteteNutzer": {
"type": "belongsTo", "type": "belongsTo",
"foreign": "cKndigungen", "foreign": "cKndigungen",

View File

@@ -1,338 +0,0 @@
{
"fields": {
"name": {
"type": "varchar",
"required": true,
"pattern": "$noBadCharacters"
},
"description": {
"type": "text"
},
"createdAt": {
"type": "datetime",
"readOnly": true
},
"modifiedAt": {
"type": "datetime",
"readOnly": true
},
"createdBy": {
"type": "link",
"readOnly": true,
"view": "views/fields/user"
},
"modifiedBy": {
"type": "link",
"readOnly": true,
"view": "views/fields/user"
},
"assignedUser": {
"type": "link",
"required": false,
"view": "views/fields/assigned-user"
},
"teams": {
"type": "linkMultiple",
"view": "views/fields/teams"
},
"collaborators": {
"type": "linkMultiple",
"view": "views/fields/collaborators",
"maxCount": 30,
"fieldManagerParamList": [
"readOnly",
"readOnlyAfterCreate",
"audited",
"autocompleteOnEmpty",
"maxCount",
"inlineEditDisabled",
"tooltipText"
]
},
"kuendigungsdatum": {
"type": "date",
"required": true,
"tooltip": true,
"isCustom": true
},
"kuendigungsfrist": {
"type": "date",
"required": true,
"after": "kuendigungsdatum",
"tooltip": true,
"isCustom": true
},
"kuendigungsgrund": {
"type": "multiEnum",
"required": true,
"options": [
"Mietrückstand",
"Eigenbedarf",
"Fehlverhalten",
"Verwertung",
"ZVG Eigenbedarf",
"573a Abs. 1 (nicht mehr als 2 Whng.)",
"573a Abs. 2 (Einliegerwohnung)",
"GewerbeOrdentlich",
"Sonstige"
],
"default": ["Mietrückstand"],
"tooltip": true,
"isCustom": true
},
"kuendigungsart": {
"type": "enum",
"required": true,
"options": [
"Ordentlich",
"Außerordentlich (fristlos)",
"Außerordentlich (mit sozialer Frist)"
],
"style": {
"Ordentlich": "success",
"Außerordentlich (fristlos)": "danger",
"Außerordentlich (mit sozialer Frist)": "warning"
},
"default": "Ordentlich",
"tooltip": true,
"isCustom": true
},
"kuendigenderPartei": {
"type": "enum",
"required": true,
"options": [
"Vermieter",
"Mieter"
],
"style": {
"Vermieter": "primary",
"Mieter": "info"
},
"default": "Vermieter",
"tooltip": true,
"isCustom": true
},
"status": {
"type": "enum",
"required": true,
"options": [
"Entwurf",
"Versendet",
"Zugestellt",
"Anerkannt",
"Bestritten",
"Vollzogen",
"Widerrufen"
],
"style": {
"Entwurf": null,
"Versendet": "warning",
"Zugestellt": "info",
"Anerkannt": "success",
"Bestritten": "danger",
"Vollzogen": "success",
"Widerrufen": null
},
"default": "Entwurf",
"tooltip": true,
"isCustom": true
},
"zustellungsdatum": {
"type": "date",
"required": false,
"tooltip": true,
"isCustom": true
},
"zustellungsart": {
"type": "enum",
"required": false,
"options": [
"Persönlich",
"Einschreiben",
"Gerichtlicher Zustellungsbevollmächtigter",
"E-Mail (sofern vereinbart)",
"Sonstige"
],
"tooltip": true,
"isCustom": true
},
"rueckstandsbetrag": {
"type": "currency",
"required": false,
"onlyDefaultCurrency": true,
"conversionDisabled": true,
"min": 0,
"decimal": true,
"tooltip": true,
"isCustom": true
},
"monateMietrückstand": {
"type": "int",
"required": false,
"min": 0,
"tooltip": true,
"isCustom": true
},
"schonfristGewaehrt": {
"type": "bool",
"default": false,
"tooltip": true,
"isCustom": true
},
"schonfristDatum": {
"type": "date",
"required": false,
"tooltip": true,
"isCustom": true
},
"besorgnisNichtRechtzeitigerAuszug": {
"type": "bool",
"default": false,
"tooltip": true,
"isCustom": true
},
"anmerkungen": {
"type": "text",
"required": false,
"isCustom": true
},
"vmhMietverhltnis": {
"type": "link",
"required": false,
"isCustom": true
},
"mietobjekt": {
"type": "link",
"required": false,
"isCustom": true
}
},
"links": {
"createdBy": {
"type": "belongsTo",
"entity": "User"
},
"modifiedBy": {
"type": "belongsTo",
"entity": "User"
},
"assignedUser": {
"type": "belongsTo",
"entity": "User"
},
"teams": {
"type": "hasMany",
"entity": "Team",
"relationName": "entityTeam",
"layoutRelationshipsDisabled": true
},
"collaborators": {
"type": "hasMany",
"entity": "User",
"relationName": "entityCollaborator",
"layoutRelationshipsDisabled": true
},
"meetings": {
"type": "hasMany",
"entity": "Meeting",
"foreign": "parent"
},
"calls": {
"type": "hasMany",
"entity": "Call",
"foreign": "parent"
},
"tasks": {
"type": "hasChildren",
"entity": "Task",
"foreign": "parent"
},
"emails": {
"type": "hasChildren",
"entity": "Email",
"foreign": "parent",
"layoutRelationshipsDisabled": true
},
"vmhMietverhltnis": {
"type": "belongsTo",
"foreign": "kuendigungen",
"entity": "CVmhMietverhltnis",
"audited": false,
"isCustom": true
},
"mietobjekt": {
"type": "belongsTo",
"foreign": "kuendigungen",
"entity": "CMietobjekt",
"audited": false,
"isCustom": true
},
"vermieter": {
"type": "hasMany",
"relationName": "cBeteiligteKuendigungVermieter",
"foreign": "kuendigungenVermieter",
"entity": "CBeteiligte",
"audited": false,
"isCustom": true
},
"mieter": {
"type": "hasMany",
"relationName": "cBeteiligteKuendigungMieter",
"foreign": "kuendigungenMieter",
"entity": "CBeteiligte",
"audited": false,
"isCustom": true
},
"dokumenteKuendigung": {
"type": "hasMany",
"relationName": "cDokumenteKuendigung",
"foreign": "kuendigungDokumente",
"entity": "CDokumente",
"audited": false,
"isCustom": true
},
"contactsKuendigung": {
"type": "hasMany",
"relationName": "cKuendigungContact",
"foreign": "cKuendigungContact",
"entity": "Contact",
"audited": false,
"isCustom": true
}
},
"collection": {
"orderBy": "createdAt",
"order": "desc",
"textFilterFields": [
"name"
],
"fullTextSearch": false,
"countDisabled": false
},
"indexes": {
"name": {
"columns": [
"name",
"deleted"
]
},
"assignedUser": {
"columns": [
"assignedUserId",
"deleted"
]
},
"createdAt": {
"columns": [
"createdAt",
"deleted"
]
},
"kuendigungsdatum": {
"columns": [
"kuendigungsdatum",
"deleted"
]
}
}
}

View File

@@ -157,14 +157,6 @@
"entity": "CMietinkasso", "entity": "CMietinkasso",
"audited": false, "audited": false,
"isCustom": true "isCustom": true
},
"kndigungen": {
"type": "hasMany",
"relationName": "cMietobjektKuendigung",
"foreign": "mietobjekte",
"entity": "CKndigung",
"audited": false,
"isCustom": true
} }
}, },
"collection": { "collection": {

View File

@@ -288,14 +288,6 @@
"entity": "CMietobjekt", "entity": "CMietobjekt",
"audited": false, "audited": false,
"isCustom": true "isCustom": true
},
"kuendigungen": {
"type": "hasMany",
"relationName": "cKuendigungVmhMietverhltnis",
"foreign": "vmhMietverhltnis",
"entity": "CKuendigung",
"audited": false,
"isCustom": true
} }
}, },
"collection": { "collection": {

View File

@@ -1,11 +0,0 @@
{
"entity": true,
"layouts": true,
"tab": true,
"acl": true,
"customizable": true,
"type": "BasePlus",
"module": "Custom",
"object": true,
"isCustom": true
}

View File

@@ -426,59 +426,34 @@ class CVmhMietverhltnis extends \Espo\Services\Record
->getRelation($kuendigung, 'vmhMietverhltnises') ->getRelation($kuendigung, 'vmhMietverhltnises')
->relate($mietverhaeltnis); ->relate($mietverhaeltnis);
// 7. Get and link Mietobjekt // 7. Get Vermieter from Mietverhältnis
$mietobjekt = $this->entityManager
->getRepository('CVmhMietverhltnis')
->getRelation($mietverhaeltnis, 'vmhMietobjekt')
->findOne();
if ($mietobjekt) {
$kuendigungRepo
->getRelation($kuendigung, 'mietobjekte')
->relate($mietobjekt);
}
// 8. Get Vermieter (Kündigende) from Mietverhältnis
$vermieterBeteiligte = $this->entityManager $vermieterBeteiligte = $this->entityManager
->getRepository('CVmhMietverhltnis') ->getRepository('CVmhMietverhltnis')
->getRelation($mietverhaeltnis, 'vmhbeteiligtevermieter') ->getRelation($mietverhaeltnis, 'vmhbeteiligtevermieter')
->find(); ->find();
foreach ($vermieterBeteiligte as $vermieter) { foreach ($vermieterBeteiligte as $vermieter) {
// Link as Kündigende // Link as Kuendiger (Vermieter)
$kuendigungRepo $kuendigungRepo
->getRelation($kuendigung, 'kuendiger') ->getRelation($kuendigung, 'kuendiger')
->relate($vermieter); ->relate($vermieter);
} }
// 9. Get Mieter (Gekündigte) from Mietverhältnis // 8. Get Mieter from Mietverhältnis (NUR Mieter, NICHT sonstige Bewohner!)
$mieterBeteiligte = $this->entityManager $mieterBeteiligte = $this->entityManager
->getRepository('CVmhMietverhltnis') ->getRepository('CVmhMietverhltnis')
->getRelation($mietverhaeltnis, 'vmhbeteiligtemieter') ->getRelation($mietverhaeltnis, 'vmhbeteiligtemieter')
->find(); ->find();
foreach ($mieterBeteiligte as $mieter) { foreach ($mieterBeteiligte as $mieter) {
// Link as Gekündigte // Link as Gekuendigte (Mieter)
$kuendigungRepo $kuendigungRepo
->getRelation($kuendigung, 'gekuendigte') ->getRelation($kuendigung, 'gekuendigte')
->relate($mieter); ->relate($mieter);
} }
// 9b. Get Sonstige Bewohner (auch Gekündigte) from Mietverhältnis // 9. Copy all documents from Mietverhältnis and Beteiligte
$sonstigeBewohner = $this->entityManager // 9a. Dokumente vom Mietverhältnis
->getRepository('CVmhMietverhltnis')
->getRelation($mietverhaeltnis, 'sonstigebesitzervmhmietverhltnis')
->find();
foreach ($sonstigeBewohner as $bewohner) {
// Link as Gekündigte
$kuendigungRepo
->getRelation($kuendigung, 'gekuendigte')
->relate($bewohner);
}
// 10. Copy all documents from Mietverhältnis, Mietobjekt and Beteiligte
// 10a. Dokumente vom Mietverhältnis
$dokumenteMV = $this->entityManager $dokumenteMV = $this->entityManager
->getRepository('CVmhMietverhltnis') ->getRepository('CVmhMietverhltnis')
->getRelation($mietverhaeltnis, 'dokumentesvmhMietverhltnisse') ->getRelation($mietverhaeltnis, 'dokumentesvmhMietverhltnisse')
@@ -490,25 +465,10 @@ class CVmhMietverhltnis extends \Espo\Services\Record
->relate($dokument); ->relate($dokument);
} }
// 10b. Dokumente vom Mietobjekt // 9b. Dokumente von allen Beteiligten (Vermieter + Mieter)
if ($mietobjekt) {
$dokumenteMO = $this->entityManager
->getRepository('CMietobjekt')
->getRelation($mietobjekt, 'dokumentesMietobjekt')
->find();
foreach ($dokumenteMO as $dokument) {
$kuendigungRepo
->getRelation($kuendigung, 'dokumenteskuendigung')
->relate($dokument);
}
}
// 10c. Dokumente von allen Beteiligten (Vermieter + Mieter + Sonstige)
$alleBeteiligte = array_merge( $alleBeteiligte = array_merge(
iterator_to_array($vermieterBeteiligte), iterator_to_array($vermieterBeteiligte),
iterator_to_array($mieterBeteiligte), iterator_to_array($mieterBeteiligte)
iterator_to_array($sonstigeBewohner)
); );
foreach ($alleBeteiligte as $beteiligter) { foreach ($alleBeteiligte as $beteiligter) {
@@ -524,7 +484,7 @@ class CVmhMietverhltnis extends \Espo\Services\Record
} }
} }
// 11. Copy portal contacts from Mietverhältnis (nur vom Mietverhältnis!) // 10. Copy portal contacts from Mietverhältnis (nur vom Mietverhältnis!)
$portalContacts = $this->entityManager $portalContacts = $this->entityManager
->getRepository('CVmhMietverhltnis') ->getRepository('CVmhMietverhltnis')
->getRelation($mietverhaeltnis, 'contactsMietverhltnis') ->getRelation($mietverhaeltnis, 'contactsMietverhltnis')
@@ -536,7 +496,7 @@ class CVmhMietverhltnis extends \Espo\Services\Record
->relate($contact); ->relate($contact);
} }
// 12. Commit transaction // 11. Commit transaction
$this->entityManager->getTransactionManager()->commit(); $this->entityManager->getTransactionManager()->commit();
return [ return [

View File

@@ -360,8 +360,8 @@ return [
0 => 'youtube.com', 0 => 'youtube.com',
1 => 'google.com' 1 => 'google.com'
], ],
'cacheTimestamp' => 1769255131, 'cacheTimestamp' => 1769339551,
'microtime' => 1769255131.563756, 'microtime' => 1769339551.259917,
'siteUrl' => 'https://crm.bitbylaw.com', 'siteUrl' => 'https://crm.bitbylaw.com',
'fullTextSearchMinLength' => 4, 'fullTextSearchMinLength' => 4,
'appTimestamp' => 1768843902, 'appTimestamp' => 1768843902,