Software für die Mietverwaltung

Software für die Mietverwaltung

Itransition hat einen Abonnementdienst für Web und Mobiltelefon entwickelt, der es Mietern ermöglicht, Immobilien zu mieten, ohne eine Kaution zu hinterlegen, und gleichzeitig den Vermietern einen finanziellen Schutz bietet.

Kontext

Der Kunde, Hamilton Fraser, ist ein in Großbritannien ansässiges Unternehmen, das seit mehr als zwei Jahrzehnten Lösungen für den Immobiliensektor und den Bereich der medizinischen Entschädigung anbietet. Eines ihrer wichtigsten Produkte ist eine staatlich zugelassene Lösung zur Absicherung von Mietkautionen für Vermieter, Makler und Mieter, die von mehr als 150.000 Vermietern und Maklern genutzt wird und über 1,5 Millionen Kautionen erfolgreich geschützt hat.

Mit dem Ziel, seinen Marktanteil zu vergrößern, erwog der Kunde, eine Alternative zu den herkömmlichen Lösungen für die Verwaltung von Mietkautionen anzubieten. Er hatte eine Idee für einen abonnementbasierten Dienst, der es Mietern ermöglichen würde, eine Immobilie zu mieten und eine feste monatliche Gebühr anstelle einer hohen Kaution zu zahlen. Die nicht erstattungsfähige Gebühr würde einem Hundertstel der herkömmlichen Kaution entsprechen.

Der Kunde wollte sowohl Web- als auch mobile Anwendungen für den neuen Dienst entwickeln und es Vermietern und Immobilienagenturen ermöglichen, ihre Systeme nahtlos damit zu verbinden. Der Kunde hat bereits mit Itransition bei der Entwicklung seiner einheitlichen Mietkautionslösung zusammengearbeitet und war mit unserer Expertise in der Sondersoftwareentwicklung gut vertraut, so dass er uns dieses Projekt anvertraut hat. Unser Team war für die komplette Entwicklung von Web- und mobilen Anwendungen verantwortlich, einschließlich Geschäftsanalyse, UX/UI-Design, Entwicklung, Tests und DevOps.

Lösung

Geschäftsanalyse

Der Kunde stellte uns eine Dokumentation zur Verfügung, in der er seine Gesamtvision für die Lösung und ihre Funktionen beschrieb, die unsere Business-Analysten sorgfältig studierten und weiter ausarbeiteten. Unsere Spezialisten definierten den Umfang der wichtigsten Funktionen für eine MVP-Version, die Landing Pages, Vermieter-, Agentur- und Mieterportale sowie Integrationen mit Zahlungs-, E-Mail- und SMS-Diensten umfasste.

Für die endgültige Version des Produkts planten wir, die MVP-Funktionalität mit zusätzlichen Funktionen wie Mietvertragsende- und Auflösungsmanagement zu erweitern und ein Admin-Panel für die Webanwendung sowie eine API für die Integration mit den Systemen der Endkunden zu implementieren.

Da Vermieter und Makler hauptsächlich Firmenkunden sind und während ihrer Arbeitszeit wahrscheinlich eine Weblösung nutzen, entschied der Kunde, dass die mobile App nur mieterorientierte Funktionen unterstützen sollte.

UX/UI-Design

Da der Kunde bereits vor Projektbeginn einige Ideen zum Design der Anwendung hatte, erstellte er Design-Mockups zusammen mit den Farbschemata, Stilen und Workflow-Diagrammen der App. Da der Kunde umfassende UX/UI-Designdienstleistungen benötigte, setzten wir unsere UX- und UI-Designer für das Projekt ein.

The landlord sign-up page mockup vs the final design
The end-of-tenancy interface mockup vs the final design

Das Team des Kunden war aktiv in die Entwurfsphase eingebunden. Es klärte unsere Designer über seine Anforderungen auf, prüfte die von uns erstellten Wireframes und Prototypen und gab seine Kommentare ab. Nachdem der Kunde alle Anwendungsprototypen genehmigt hatte, wurden sie an das Entwicklungsteam weitergeleitet.

Der Funktionsumfang

Itransition entwickelte Ome, einen versicherungsgestützten Kautionsersatzdienst, der als Web- und Mobilanwendung verfügbar ist und es Mietern ermöglicht, Immobilien von Vermietern oder Immobilienmaklern zu mieten, ohne eine Kaution hinterlegen zu müssen.

Die von uns gelieferte MVP-Version der Anwendung erleichterte die monatlichen Abonnementzahlungen von Mietern, automatische E-Mail-Benachrichtigungen, die Kommunikation zwischen Mietern und Immobilienverwaltern sowie den Kundendienst für alle Arten von Benutzern.

Die endgültige Version der Anwendung verfügt über eine API, die es Immobilienagenturen und Softwareanbietern ermöglicht, sie in ihre interne Software wie CRM-Systeme zu integrieren und verschiedene Arten von Daten zwischen den Systemen zu synchronisieren.

Mietvertragsanbahnung

Der anfängliche Vermietungsprozess, einschließlich der Suche nach einer Immobilie, der Bewerbung und der Zahlung der Gebühr, findet außerhalb der App über Drittsysteme statt. Um ein Mietverhältnis zu registrieren und seinem Portfolio hinzuzufügen, müssen Makler zunächst den Vermieter hinzufügen oder einladen und ihm die Immobilie zuweisen.

Es gibt die folgenden Vermietungsstatus:

  • Leben - das Objekt hat bestätigte Mieter und es sind keine Aktionen von Mietern oder Vermietern erforderlich.
  • Leer - keine Mieter sind mit dem Objekt verbunden.
  • Ausstehende Mieteraktion - Einladungen wurden verschickt, aber einer der Mieter hat sie noch nicht bestätigt. Dieser Status wird auch zugewiesen, wenn eine Aktion des Mieters erforderlich ist.
The tenants invitation screen

Wenn beide Parteien der Nutzung des Kautionsersatzsystems zustimmen, fügt der Vermieter oder der von ihm beauftragte Makler die Immobilie dem System hinzu und sendet dem Mieter eine Einladung. Nachdem der Mieter die Einladung angenommen hat, erstellt er ein Konto und prüft die vorgeschlagene monatliche Gebühr, die sich aus dem traditionellen Kautionsbetrag für die betreffende Immobilie errechnet. Alternativ können sich die Mieter auch selbst registrieren, ohne Zugang zu den Mietverträgen zu haben. Nachdem der Mieter eine bestätigte Zahlung geleistet hat, erhält der Makler oder Vermieter eine Bestätigung über seine Mitgliedschaft, und der Mieter kann in die Immobilie einziehen.

Tenant membership confirmation

Bezahlung und Rechnungsstellung

Mieter müssen eine einmalige Anmeldegebühr und monatliche, nicht erstattungsfähige Mitgliedsbeiträge nach Beginn ihres Mietverhältnisses zahlen. Das System generiert einen Standard-Mitgliedsvertrag im PDF-Format, der alle Bedingungen enthält und automatisch die Höhe des Mitgliedsbeitrags und die Haushaltszusammensetzung einträgt. Die Vereinbarung wird an das erstellte Mietverhältnis angehängt und ist für alle Parteien einsehbar.

The tenant membership and billing screen, web and mobile

Wohnen mehrere Mieter in einem Haushalt, kann der Hauptmieter die Zahlungen für alle übernehmen. Andernfalls können die Mieter getrennt zahlen, wobei die Mietzahlungen und die Mitgliedsbeiträge zu gleichen Teilen auf sie aufgeteilt werden.

Wenn es Änderungen im Haushalt gibt, erstellt das System einen neuen Vertrag und sendet die Benachrichtigung an alle beteiligten Parteien. Dies ist auch der Zeitpunkt, an dem der Eigentümer den Hauptmieter oder das Zahlungsschema ändern kann.

Ende des Mietverhältnisses

Die Beendigung des Mietverhältnisses findet statt, wenn die Mieter die Immobilie verlassen, und kann entweder von den Mietern oder der Hausverwaltung eingeleitet werden, wobei der Verlauf für alle Beteiligten sichtbar ist. Der Prozess kann drei verschiedene Szenarien durchlaufen:

  • Tausch, wenn ein neuer Mieter den bestehenden Mieter ersetzt.
  • Splitting, wenn ein Mieter auszieht und kein neuer Mieter einzieht.
End of tenancy, the split scenario
  • Ausgang, wenn alle Mieter ausziehen.
End of tenancy, the exit scenario

Schadensregulierung

Die Regulierungsfunktion ermöglicht es Eigentümern und Hausverwaltern, einen Streitfall zu melden, wenn ein Schaden an ihrem Eigentum entstanden ist. Der Initiator kann dem Schadenfall Bilder oder Dokumente als Beweismittel beifügen, Kommentare hinzufügen und die zu erstattende Summe angeben. Der mit der Forderung verknüpfte Mieter sollte den Vergleich annehmen oder ablehnen, und wenn Mieter und Vermieter den Streit nicht gütlich beilegen können, müssen sie dies außerhalb des Systems tun.

Adding settlements

DevOps-Automatisierung

Wir richteten die Entwicklungs-, Test- und Produktionsumgebungen mit Azure Cloud, Azure DevOps, Azure Portal, Azure App Service und anderen Azure-Tools ein und konfigurierten die Dienste, um sicherzustellen, dass sie nahtlos miteinander kommunizierten. Außerdem haben wir die Umgebungen mit GitHub integriert, um Codezusammenführungen zu verhindern, die den Build stören könnten.

Außerdem richteten wir CI/CD-Prozesse ein, die es uns ermöglichten, häufig zusammenfließenden Code zu ändern und Unit-Tests in Azure DevOps durchzuführen, was langfristig zu einer hohen Codequalität und zur Automatisierung des Lieferprozesses beitrug.

Qualitätssicherung

Itransition bezog unsere unabhängige QA-Abteilung in das Projekt ein, wobei die Spezialisten Tests für neue Funktionen, Leistungstests, API-Tests und Regressionstests durchführten. Die Tests wurden sowohl auf Desktop- als auch auf Mobilgeräten durchgeführt, um genaue, effiziente und benutzerspezifische Tests in einer realen Umgebung zu gewährleisten. Die Tests mit realen Geräten halfen uns auch dabei, eine breite Palette von Problemen zu prüfen, mit denen Endbenutzer konfrontiert werden können, wie z. B. Probleme mit der Benutzerfreundlichkeit, Batterieentladung oder Überhitzung usw., und den Betrieb der App bei Unterbrechungen wie Push-Benachrichtigungen, Nachrichten oder Anrufen zu bewerten.

Nachdem die Entwicklung der Anwendung abgeschlossen war, wurden die User Stories zum Testen verschickt. Wenn eine Geschichte nicht mit den Anforderungen übereinstimmte, wurde ein Fehler aufgezeichnet und vom Entwicklungsteam behoben, wobei die Korrekturen anschließend bei der Fehlervalidierung überprüft wurden. Sobald ein bestimmter Satz von Stories die Validierung bestanden hatte, wurden sie für die Auslieferung geplant, wobei das QA-Team anschließend Regressionstests durchführte.

Da die entwickelte Lösung die Verbindung mit anderen Systemen über APIs ermöglicht, wurde ein separater Satz von Tests zur Überprüfung der API-Daten durchgeführt. Alle Testfälle wurden mit dem TestRail-Testfallmanagement-Tool beschrieben.

 

Technologien und Werkzeuge

Wir haben den serverseitigen Teil der Lösung mit dem ASP.NET Core-Framework aufgebaut, an den der Frontend-Teil der Web-App und die mobilen Apps angeschlossen wurden. Die Web-App wurde als PWA mit der JavaScript-Bibliothek React entwickelt und unterstützt das responsive Design, das wir mit der Material UI-Bibliothek erstellt haben. Die plattformübergreifende mobile App haben wir mit dem React Native Framework erstellt.

Die Kommunikation zwischen dem Backend-Teil und dem Frontend der Web-App sowie der mobilen App erfolgt über HTTPS-Anfragen, während das Identity Server Verification Framework für die Authentifizierung von Benutzern und Apps eingesetzt wird.

Wir haben die Web- und Mobil-Lösungen auf Microsoft Azure App Service gehostet und Azure SQL Database für Benutzer- und Unternehmensdaten, Azure Blob Storage für die Dateispeicherung und Azure Storage für die von den Benutzern hochgeladenen Dateien verwendet. Um die Leistung der Apps zu überwachen, setzten wir Azure Application Insights ein.

Für die Qualitätssicherung der Lösung setzten wir die folgenden Tools ein:

  • JMeter für Leistungstests
  • Fiddler zur Untersuchung des Netzwerkverkehrs zwischen Testcomputern und dem Webserver während der Leistungstests
  • BrowserStack für Cross-Browser-Tests und Tests auf echten mobilen Geräten
  • Azure SQL App Service für die Datenmigration und Funktionstests
  • Postman für REST-API-Tests

Wir haben das System auch mit einer Reihe von Drittanbieterdiensten integriert:

  • Twilio für SMS-Nachrichten
  • Stripe für Zahlungen und Produktabonnements
  • Sendgrid für E-Mail-Benachrichtigungen

Ergebnisse

Wir haben für Hamilton Fraser eine Kautionsersatzmitgliedschaft entwickelt, die eine Alternative zu den herkömmlichen Mietkautionsdiensten darstellt und auf die individuellen Wünsche der Mieter eingeht.

Dieser Service kommt sowohl den Mietern zugute, die eine kleine und überschaubare Gebühr anstelle einer Kaution zahlen können, als auch den Vermietern und Maklern, die geringere Kautionssicherungsgebühren und ein geringeres Risiko von Bußgeldern im Zusammenhang mit der Kaution haben.

Nach der Einführung ihrer neuen Lösung hat Hamilton Fraser bereits im ersten Jahr das Ziel von 12.000 Transaktionen erreicht, die alle mit wenig bis gar keiner menschlichen Interaktion abgewickelt wurden.