Verbrauchsausweis Wohnen [Wenn der Kunde über das Dashboard über "Ausweis erstellen" kommt gibt es Daten aus der letzten aktuellen Vorlage. Die sollten nach klick auf den Button in LocalStorage inkl. Objekt ID geschrieben werden. Die Verknüpfung zum Gebäude/Objekt sollte dann gewährleistet sein.] if Domain hat bereits eine vorhandene ID? if LocalStorage hat Daten? Wir vergleichen ob der LocalStorage neuer ist als die Datenbank if LocalStorage is neuer? Wir benutzen LocalStorage else Wir benutzen Daten aus der Datenbank. else Daten werden aus der Datenbank geladen. else if LocalStorage hat Daten? Daten werden aus dem LocalStorage geladen. else Formular wird leer geliefert Benutzer gibt Daten ein. Wir speichern alles im LocalStorage mit dem aktuallen Timestamp *User lädt ein Bild hoch* if Ausweis hat bereits eine id Wir verknüpfen das Bild sofort mit dem Ausweis else Wir laden das Bild hoch ohne es mit dem Ausweis zu verknüpfen if *Klick auf Weiter || Klick auf Hilfe* Wir leiten weiter auf Kundendaten mit dem entsprechenden Produkt [Hier sollte auch geprüft werden ob Daten im LocalStorage vorliegen (so wie oben). Wenn Kundendaten leer sind sollen die Stammdaten geladen werden. Aber bitte nicht wenn der Aussteller/Admin eingeloggt ist] *User gibt Kundendaten ein* [Wir speichern alles im LocalStorage mit dem aktuallen Timestamp] if *Klick auf Speichern* if Ausweis hat bereits eine id? Wir updaten den bereits gespeicherten Ausweis mit den neuen Daten else if URL hat ein Objekt gegeben? Wir updaten das Objekt else Wir erstellen ein neues Objekt if URL hat eine Aufnahme gegeben? Wir updaten die bestehende Aufnahme else Wir erstellen eine neue Aufnahme Wir erstellen einen neuen Ausweis else [Bei schon bestellten Produkten (Beratung und Offline) kann man nicht nochmal bestellen sondern nur Freigeben. Statt Bestellbestätigung Freigabebestätigung] *User klickt auf Bestellen* [bzw. *User klickt auf Freigabe*] if Ausweis hat bereits eine id? Wir updaten den bereits gespeicherten Ausweis mit den neuen Daten else if URL hat ein Objekt gegeben? Wir updaten das Objekt else Wir erstellen ein neues Objekt if URL hat eine Aufnahme gegeben? Wir updaten die bestehende Aufnahme else Wir erstellen eine neue Aufnahme Wir erstellen einen neuen Ausweis if Bezahlart === "Rechnung" Wir erstellen eine Rechnung für den Ausweis und leiten auf die Payment Success Seite weiter. else Wir erstellen eine Rechnung für den Ausweis und holen uns die Checkout URL while Bezahlung ist nicht erfolgreich Wir leiten zurück auf die Kundendaten Seite zurück und fordern eine andere Bezahlart an. Wir leiten auf die Payment Success Seite weiter und senden eine Email elif *Klick auf Speichern* if Ausweis hat bereits eine id? Wir updaten den bereits gespeicherten Ausweis mit den neuen Daten else if URL hat ein Objekt gegeben? Wir updaten das Objekt else Wir erstellen ein neues Objekt if URL hat eine Aufnahme gegeben? Wir updaten die bestehende Aufnahme else Wir erstellen eine neue Aufnahme Wir erstellen einen neuen Ausweis