Valutierungsprozess

This commit is contained in:
Claus-Peter Hübner 2022-02-02 03:12:34 +01:00
parent 48bb8a433d
commit 4727160e7b
10 changed files with 417 additions and 91 deletions

View File

@ -90,23 +90,40 @@ Folgendes Regelwerk gilt es bei der Validierung auszuführen und zu überprüfen
#### Kontoverwaltung
Auch auf die Kontoverwaltung hat die Einführung einer asynchronen Transaktion gewisse Auswirkungen. So muss für die Anzeige der Tranaktionsübersicht eine Möglichkeit für den User geschaffen werden seine *gebuchten* sowie seine *vorgebuchten* Transaktionen auflisten zu können. Der existierende Dialog der Transaktionsübersicht
Auch auf die Kontoverwaltung hat die Einführung einer asynchronen Transaktion gewisse Auswirkungen. So muss für die Anzeige der Tranaktionsübersicht eine Möglichkeit für den User geschaffen werden seine *gebuchten* sowie seine *vorgebuchten* Transaktionen, aber auch die evtl. abgelaufenen Transaktionen auflisten zu können. Der existierende Dialog der Transaktionsübersicht
![./image/UC_Send_Users_Gradido_TxÜbersichtDialog.png](./image/UC_Send_Users_Gradido_TxÜbersichtDialog.png)
zeigt für das Gradido-Konto des Users die Liste der getätigten Transaktionen für GDD im linken Reiter und für GDT im rechten Reiter. Wie oben beschrieben wird mit Einführung von *asynchronen* Transaktionen es notwendig, eine evtl. mögliche Liste von offenen, sprich *vorgebuchten* Transaktionen für den User übersichtlich anzuzeigen. Zudem kommt hinzu, dass der User die Information über seinen noch zur Verfügung stehenden Verfügungsrahmen aus dem aktuellen Kontostand abzüglich aller *vorgebuchten* Beträge benötigt. Das folgende Bild zeigt einen Entwurf für den Transaktionsübersicht-Dialog:
zeigt für das Gradido-Konto des Users die Liste der getätigten Transaktionen für GDD im linken Reiter und für GDT im rechten Reiter.
##### Dialog gebuchte Transaktionen
Wie oben beschrieben wird mit Einführung von *asynchronen* Transaktionen es notwendig, eine evtl. mögliche Liste von offenen, sprich *vorgebuchten* Transaktionen für den User übersichtlich anzuzeigen. Zudem kommt hinzu, dass der User die Information über seinen noch zur Verfügung stehenden Verfügungsrahmen aus dem aktuellen Kontostand abzüglich aller *vorgebuchten* Beträge benötigt. Das folgende Bild zeigt einen Entwurf für den Transaktionsübersicht-Dialog:
![UC_Send_Users_Gradido_TxClosedFunds.png.png](./image/UC_Send_Users_Gradido_TxClosedFunds.png)
Der aktuelle Kontostand wird dabei weiterhin ganz oben und direkt darunter der freie Verfügungsrahmen zusätzlich angezeigt. Dieser kann, wie in den vorherigen Kapiteln beschrieben, durch vorhandene *vorgebuchte* Transaktionen geringer sein als der eigentliche Kontostand. Unterhalb der Anzeige von Kontostand und Verfügbarkeitsrahmen ist eine Combobox sichtbar, über die der User auswählen kann, ob die darunter liegende Transaktionsliste die schon *gebuchten* Transaktionen oder die *vorgebuchten* und somit noch offenen Transaktionen anzeigen soll. Im nachfolgenden Bild ist die Liste der vorgebuchten Transaktionen zu sehen, die per Combo-Box ausgewählt wurde:
Der aktuelle Kontostand wird dabei weiterhin ganz oben und direkt darunter der freie Verfügungsrahmen zusätzlich angezeigt. Dieser kann, wie in den vorherigen Kapiteln beschrieben, durch vorhandene *vorgebuchte* Transaktionen geringer sein als der eigentliche Kontostand.
##### Dialog vorgebuchte Transaktionen
Unterhalb der Anzeige von Kontostand und Verfügbarkeitsrahmen ist eine Combobox sichtbar, über die der User auswählen kann, ob die darunter liegende Transaktionsliste die schon *gebuchten* Transaktionen, die *vorgebuchten* und somit noch offenen Transaktionen oder die abgelaufenen und gar nicht valutierten Transaktionen anzeigen soll. Im nachfolgenden Bild ist die Liste der *vorgebuchten* Transaktionen zu sehen, die per Combo-Box ausgewählt wurde:
![UC_Send_Users_Gradido_TxReservedFunds.png](./image/UC_Send_Users_Gradido_TxReservedFunds.png)
Die Liste der angezeigten Transaktionen ist nach ihrem Generierungszeitpunkt sortiert. Das Icon links deutet an, ob die *vorgebuchte* Transaktion als *Link* oder als *QR-Code* generiert wurde. Dann erscheint der Betrag, die Transaktionsnachricht, der Generierungs- und der Ablaufzeitpunkt sowie die *vorgebuchte* Vergänglichkeit, die bis zum Ablaufzeitpunkt anfallen würde. Über alle *vorgebuchten* Transaktionen ergibt die jeweilige Summe von Betrag plus Vergänglichkeitsbetrag die Gesamtsumme, die vom Kontostand abgezogen und als verfügbarer Betrag angezeigt wird.
##### Dialog abgelaufene Transaktionen
Für den Fall, dass evtl. ein gesendeter Link bzw. QR-Code nicht rechtzeitig eingelöst und valuliert wurde, hat der User die Möglichkeit über die Combobox die Auswahl "abgelaufene Transaktionen" zu treffen und diese dann für evtl. Rückfragen vom verspäteten Empfänger angezeigt zu bekommen:
![UC_Send_Users_Gradido_TxPlusInvalidFunds.png](./image/UC_Send_Users_Gradido_TxPlusInvalidFunds.png)
Die Liste der *abgelaufenen* Transaktionen ist absteigend nach dem Zeitpunkt der Generierung sortiert. Die Beträge und Vergänglichkeiten dieser *abgelaufenen* Transaktionen haben keine Auswirkungen auf den Verfügbarkeitsrahmen noch auf den Kontostand. Die betraglichen Reservierungen auf dem Konto wurden mit Überschreiten des Ablaufzeitpunktes beim verschieben aus der vergebuchten Transaktions-Liste in die abgelaufene Transaktions-Liste korriegiert. Der User soll in dieser Liste die Möglichkeit haben einzelne *abgelaufene* Transaktionen über das Lösch-Icon gänzlich zu löschen, da diese keinerlei buchhalterische Relevanz mehr haben.
#### ToDo:
Die weiteren technischen Anforderungen, die sich aus der beschriebenen Anzeige und Verarbeitung von *gebuchten* und *vorgebuchten* Transaktionen für das Backend und die Persistenz ergeben, werden im noch zu erstellenden *Technischen Konzept* zu diesem UseCase beschrieben.
Die weiteren technischen Anforderungen, die sich aus der beschriebenen Anzeige und Verarbeitung von *gebuchten,* *vorgebuchten* und *abgelaufenen* Transaktionen für das Backend und die Persistenz ergeben, werden im noch zu erstellenden *Technischen Konzept* zu diesem UseCase beschrieben.
### Generierung des Links/QR-Codes
@ -120,6 +137,7 @@ Für die Generierung des Links und des QR-Codes werden folgende Daten benötigt:
* Betrag : die Summe, die der Sender dem Empfänger übertragen möchte
* Secret : ein Key, der zur Ausführung der asynchronen Transaktion die *ungebuchten* Transaktionsdaten beim Sender identifiziert und kryptographisch sicherstellt, dass die ursprünglich gesendeten Daten nicht verfälscht sind.
* Verwendungszweck : Nachricht, die den Zweck der Transaktion beschreibt
* Ablaufzeitpunkt : der Zeitpunkt an dem der Link bzw. QR-Code ungültig wird
Aus diesen Daten wird ein Link nach folgendem Pattern erzeugt:
@ -143,6 +161,12 @@ bzw. des QR-Codes aussehen könnte.
![UC_Send_Users_Gradido_TxPopupQRCode.png](./image/UC_Send_Users_Gradido_TxPopupQRCode.png)
Für die Anzeige des QR-Codes soll auch die Möglichkeit der Vergrösserung auf Fenster bzw. Bildschirmgrösse geschaffen werden - z.B. durch ein DoppelKlick auf den Code - um ein direktes Abfotographieren ohne sichtbare andere Details zu ermöglichen.
Der Button "in Zwischenablage kopieren" übernimmt den angezeigten Inhalt des Fensters (Nachricht mit Link bzw QR-Code) in die Zwischenablage, sodass dieser einfach in ein anderes Medium wie Email oder Messenger-Nachricht übertragen werden kann.
Mit dem "speichern"-Button soll eine Möglichkeit geschaffen werden, den Fensterinhalt als Datei zu speichern, um die generierte Nachricht mit Link /QR-Code zeitlich versetzt in ein anderes Medium wie Email oder Messenger-Nachricht zu übertragen. Es stellt sich die Frage, ob für eine zeitlich versetzte Verarbeitung eines Links / QR-Codes statt dem Speichern die erneute Ausgabe aus der vorgebuchten Transaktionsliste besser wäre? Da beide Varianten eine gute Lösung darstellen, wird diese Entscheidung auf später verschoben.
## Perspektive des Empfängers
In diesem Kapitel werden alle Aspekte aus Sicht des Empfängers beschrieben. Es werden dabei die Empfangs- und Aktivierungsmöglichkeiten sowie die Interpretation der erhaltenen Daten, die unterschiedlichen Szenarien, die der User durch eine Aktivierung durchlaufen kann und die logischen und finanzkalkulatorischen Schritte des Geldeingangs beschrieben.
@ -157,7 +181,7 @@ Der Link führt den User mit einem Request direkt an den Community-Server des Se
Leider ist die Gültigkeit des am <Erzeugungszeitpunkt> erzeugten Links am <Ablaufzeitpunkt> abgelaufen. Zur Klärung von Details und weiteren Fragen wenden sie sich bitte an den Absender, von dem sie diesen Link erhalten haben.
```
Es wird mit Absicht keine Detailinformationen des Absenders in der Fehlermeldung preisgegeben, da nicht bekannt bzw. sichergestellt ist, ob der User, der den Link aktiviert auch der ist, der den Link ursprünglich vom Empfänger erhalten hat.
Es wird mit Absicht keine Detailinformationen des Absenders in der Fehlermeldung preisgegeben, da nicht bekannt bzw. sichergestellt ist, ob der User, der den Link aktiviert auch der ist, der den Link ursprünglich vom Sender erhalten hat.
Im Falle eines noch gültigen Tokens wird im zweiten Schritt der im Token enthaltene Key verwendet, um die zu diesem Key gespeicherte *vorgebuchte* Transaktion zu lesen. Falls diese nicht mehr als offene Transaktion existiert, sprich evtl. schon vorher durch eine Aktivierung valutiert wurde, wird dem User eine Fehlermeldung angezeigt mit detaillierten Informationen wie:
@ -175,7 +199,7 @@ Ein mögliche Variante wäre, dass beim Generieren des Links eine Checksumme üb
### Start der Valutierung
Mit erfolgreicher *Validierung des Links* wird der User jetzt auf eine Seite geleitet, auf der er zwischen einem Login oder einer Registrierung auswählen kann. Sobald zukünftig Communities unterstützt werden, muss auf dieser Login- bzw. Registrierungsseite auch die Auswahl einer Community möglich sein. Der Login- bzw. Registrierungsprozess unterscheidet sich im Zusammenhang einer Valutierung von den Standard-Login- bzw. -Registrierungsprozessen dahin gehend, dass sie im Anschluss nach der erfolgreichen Anmeldung des Users direkt mit dem Valutierungsprozess weiter fortfahren. Dies muss auch gewährleistet sein, wenn sich der Empfänger bei einer anderen Community als der Sender-Community angemeldet hat. Dies zieht zusätzliche Kommunikationsschritte zwischen den beiden Community-Servern nach sich, da erst mit dem Login bzw. der Registrierung die eigentliche *Empfänger-ID* (Gradido-ID des Empfängers) bekannt und für den *Valutierungsprozess* nutzbar ist.
Mit erfolgreicher *Validierung des Links* wird der User jetzt auf eine Seite geleitet, auf der er zwischen einem Login oder einer Registrierung auswählen kann. Sobald zukünftig Communities unterstützt werden, muss auf dieser Login- bzw. Registrierungsseite auch die Auswahl einer Community möglich sein. Der Login- bzw. Registrierungsprozess unterscheidet sich im Zusammenhang einer Valutierung von den Standard-Login- bzw. -Registrierungsprozessen dahin gehend, dass sie im Anschluss nach der erfolgreichen Anmeldung des Users direkt mit dem Valutierungsprozess weiter fortfahren. Dies muss auch gewährleistet sein, wenn sich der Empfänger bei einer anderen Community als der Sender-Community angemeldet hat. Dies zieht zusätzliche Kommunikationsschritte zwischen den beiden Community-Servern nach sich, da erst mit dem Login bzw. der Registrierung die eigentliche *Empfänger-ID* (Gradido-ID des Empfängers) bekannt und für den *Valutierungsprozess* als Eingabeparameter notwendig ist. Für die Absicherung der Kommunikation zwischen den beiden Communities muss die lokale Community dem Aufruf der Login-Validierungs- bzw. Register-Validierungs-Seite auf der entfernten Community ein *Security-Key* mit übergeben werden, der von der entfernten Community in dem darauf folgenden *disburse*-Request wieder zurückgeliefert und zur Authenifizierung und Zuordnung zu dem ursprünglichen *send*-Request verwendet wird.
Um diese einzelnen Schritte nocheinmal zu verdeutlichen stellt das nachfolgende Bild dies schemenhaft dar:
@ -183,16 +207,37 @@ Um diese einzelnen Schritte nocheinmal zu verdeutlichen stellt das nachfolgende
### Valutierungsprozess
Der eigentliche Valutierungsprozess kann erst starten, sobald durch ein Login bzw. eine Registrierung die *Empfänger-ID* bekannt ist. Somit erhält der Valutierungsprozess folgende Eingabeparameter:
Der eigentliche Valutierungsprozess wird entweder direkt nach dem Login bzw. der Registrierung des Empfängers auf der gleichen Community des Senders oder durch den eingehenden *disburse*-Request von der entfernten Community, an der sich der Empfänger angemeldet bzw. registriert hat, aufgerufen. Bei beiden Varianten ist die *Empfänger-ID* der massgebliche Eingabeparameter neben den sonstigen Daten die aus dem anfänglichen *send*-Request inkl. Token herrühren.
#### Eingabeparameter
Als Eingabeparemeter für den Valutierungsprozess sind folgende Werte vorgesehen:
* Sender-ID : die Gradido-ID des Senders
* Empfänger-ID : die Gradido-ID des Empfängers
* Tx-Daten :
* die zuvor geprüften Daten aus dem *send*-Request:
* Betrag : der Betrag, der mit der vorgebuchten Transaktion ausgezahlt werden soll
* Nachricht : der Verwendungszweck der Transaktion
* Generierungszeitpunkt : der Zeitpunkt an dem die vorgebuchte Transaktion generiert wurde
* Ablaufzeitpunkt : der Zeitpunkt bis wann die vorgebuchte Transaktion spätestens valutiert werden kann
* Key : der Primärschlüssel der vorgebuchten Transaktion für einen Direktzugriff auf die schon gespeicherten Daten
#### Ablauflogik
Mit Start des Valutierungsprozesses werden im ersten Schritt die Eingangsparameter überprüft, ob alle notwendigen Daten übergeben wurden und bei fehlenden Daten wird der Prozess mit einer Fehlermeldung abgebrochen. Mit der Sender-ID und dem Key aus den Transaktionsdaten wird die vorgebuchte Transaktion erneut aus der Datenbank gelesen. Es erfolgt zur Sicherheit eine erneute Überbrüfung, ob die vorgebuchte Transaktion noch existiert und auch noch nicht abgelaufen ist. Dies basiert auf der Möglichkeit, dass der Login- bzw. der Registrierungsprozess, vor allem in einer fernen Community eine gewisse Zeit in Anspruch nehmen kann und dadurch evtl. die Gültigkeit doch noch überschritten werden könnte. Würde dies nicht geschehen, könnte im WorstCase der in der vorgebuchten Transaktion einkalkulierte Vergänglichkeitsbetrag nicht ausreichen und würde dann bei entsprechend niedrigem Kontostand bei einer Valutierung der *vorgebuchten* Transaktion zu einem negativen Kontostand führen. Dies ist finanzkalkulatorisch für ein Gradido-Konto nicht erlaubt und muss generell vermieden werden.
Sind diese Prüfungen erfolgreich absolviert, erfolgt die Valutierung der *vorgebuchten* Transaktion. Dabei wird aus den Daten der *vorgebuchten* Transaktion ein Datenobjekt *Abbuchungstransaktion* erzeugt. Es wird die Vergänglichkeit seit der letzten Transaktion auf dem aktuellen Kontostand ermittelt, dann der Betrag der *vorgebuchten* Transaktion und die ermittelte Vergänglichkeit vom Kontostand abgezogen. Alle weiteren Detaildaten, insbesonderen für die spätere Transaktionsdetailanzeige - Details siehe weiter unten, werden in das *Abbuchungstransaktion*-Objekt geschrieben und dieses dann in den schon existierenden Abbuchungsprozess gegeben. Der existierende Abbuchungsprozess vollzieht dann die Übertragung der Daten an das Empfängerkonto - auch Community übergreifend - und löst dort eine Eingangsbuchung aus. Da in einer *vorgebuchten* Transaktion neben dem eigentlichen zu transferierenden Betrag eine ausreichend große Summe für Vergänglichkeit auf dem Konto geblockt wurde, kann die Ablauflogik für eine ganz normale Abbuchung durchlaufen werden.
Es kommt aber zusätzlich zur normalen Abbuchung noch die *Valutiert-Markierung* der *vorgebuchten* Transaktion und ggf. die *Abgelaufen-Markierung* von schon abgelaufenen *vorgebuchten* Transaktionen im Nachgang hinzu. Das bedeutet, dass mit erfolgreicher Valutierung einer *vorgebuchten* Transaktion diese als *valutiert* markiert wird, so dass diese nicht mehr in der Liste der *vorgebuchten* Transaktionen im Dialog erscheint. Der User kann über die Detailanzeige der valutierenden Abbuchungstransaktion die Details der *vorgebuchten* Transaktion im nachhinein noch einsehen, um die Ursprünge der Transaktion buchhalterisch vollständig nachzuvollziehen.
Das nachfolgende Bild zeigt den logische Ablauf des Valutierungsprozesses:
![US-Send_Users_Gradido_Valutierungsprozess.png](./image/US-Send_Users_Gradido_Valutierungsprozess.png)
#### Dialog Transaktions-Details
Nachdem über den Valutierungsprozess die vorgebuchte Transaktion valutiert und damit abgeschlossen ist, kann der User diese Transaktion in seiner Liste der *gebuchten* Transaktionen sich anzeigen lassen. Dabei wird bei einer Transaktion, die aus einer *vorgebuchten* Transaktion resultiert, das Icon für ein Link oder ein QR-Code angezeigt, je nach dem welche Generierung dabei eingesetzt wurde. Über den "i"-Button können auch hier die Details der Transaktion aufgeblendet werden. Unterhalb der Transaktions-Nachricht sind bei dieser Transaktionsart der Generieungszeitpunkt und der Valutierungszeitpunkt angezeigt. Alle anderen Details bleiben unverändert.
![UC_Send_Users_Gradido_TxClosedDetaildFunds.png](./image/UC_Send_Users_Gradido_TxClosedDetaildFunds.png)
## Brainstorming

View File

@ -4,227 +4,227 @@
<root>
<mxCell id="0"/>
<mxCell id="1" parent="0"/>
<mxCell id="56" value="&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Sender-Community&lt;/b&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontSize=16;fillColor=#d5e8d4;gradientColor=#97d077;strokeColor=#82b366;align=left;verticalAlign=top;arcSize=9;" vertex="1" parent="1">
<mxCell id="56" value="&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Sender-Community&lt;/b&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontSize=16;fillColor=#d5e8d4;gradientColor=#97d077;strokeColor=#82b366;align=left;verticalAlign=top;arcSize=9;" parent="1" vertex="1">
<mxGeometry x="765" y="80" width="555" height="1200" as="geometry"/>
</mxCell>
<mxCell id="92" value="&lt;b&gt;&amp;nbsp; &amp;nbsp;Start der Valutierung&lt;/b&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;arcSize=5;align=left;verticalAlign=top;" vertex="1" parent="1">
<mxCell id="92" value="&lt;b&gt;&amp;nbsp; &amp;nbsp;Start der Valutierung&lt;/b&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;arcSize=5;align=left;verticalAlign=top;" parent="1" vertex="1">
<mxGeometry x="780" y="750" width="530" height="490" as="geometry"/>
</mxCell>
<mxCell id="91" value="&lt;b&gt;&amp;nbsp; &amp;nbsp;Validierung des Links&lt;/b&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;arcSize=5;align=left;verticalAlign=top;" vertex="1" parent="1">
<mxCell id="91" value="&lt;b&gt;&amp;nbsp; &amp;nbsp;Validierung des Links&lt;/b&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;arcSize=5;align=left;verticalAlign=top;" parent="1" vertex="1">
<mxGeometry x="780" y="200" width="530" height="530" as="geometry"/>
</mxCell>
<mxCell id="55" value="&lt;b&gt;&lt;font style=&quot;font-size: 16px&quot;&gt;Empfang und Aktivierung des Links&lt;/font&gt;&lt;/b&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;verticalAlign=top;" vertex="1" parent="1">
<mxCell id="55" value="&lt;b&gt;&lt;font style=&quot;font-size: 16px&quot;&gt;Empfang und Aktivierung des Links&lt;/font&gt;&lt;/b&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;verticalAlign=top;" parent="1" vertex="1">
<mxGeometry x="80" y="80" width="630" height="220" as="geometry"/>
</mxCell>
<mxCell id="4" value="" style="edgeStyle=none;html=1;" edge="1" parent="1" source="2" target="3">
<mxCell id="4" value="" style="edgeStyle=none;html=1;" parent="1" source="2" target="3" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="10" style="edgeStyle=none;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="2" target="9">
<mxCell id="10" style="edgeStyle=none;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="2" target="9" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="50" y="240"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="2" value="" style="ellipse;fillColor=#000000;strokeColor=none;" vertex="1" parent="1">
<mxCell id="2" value="" style="ellipse;fillColor=#000000;strokeColor=none;" parent="1" vertex="1">
<mxGeometry x="30" y="140" width="40" height="40" as="geometry"/>
</mxCell>
<mxCell id="6" value="" style="edgeStyle=none;html=1;" edge="1" parent="1" source="3" target="5">
<mxCell id="6" value="" style="edgeStyle=none;html=1;" parent="1" source="3" target="5" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="3" value="QR-Code erhalten" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxCell id="3" value="QR-Code erhalten" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="110" y="140" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="8" value="" style="edgeStyle=none;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="5" target="7">
<mxCell id="8" value="" style="edgeStyle=none;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="5" target="7" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="470" y="160"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="5" value="QR-Code in Link konvertieren" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxCell id="5" value="QR-Code in Link konvertieren" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="270" y="140" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="13" value="" style="edgeStyle=none;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="7" target="12">
<mxCell id="13" value="" style="edgeStyle=none;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="7" target="12" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="630" y="240"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="7" value="Link aktivieren" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxCell id="7" value="Link aktivieren" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="410" y="220" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="11" style="edgeStyle=none;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="9" target="7">
<mxCell id="11" style="edgeStyle=none;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="9" target="7" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="9" value="Link erhalten" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxCell id="9" value="Link erhalten" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="110" y="220" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="16" style="edgeStyle=none;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="12" target="15">
<mxCell id="16" style="edgeStyle=none;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="12" target="15" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points"/>
</mxGeometry>
</mxCell>
<mxCell id="12" value="Request an Community des Senders" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxCell id="12" value="Request an Community des Senders" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="570" y="140" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="18" value="" style="edgeStyle=none;html=1;" edge="1" parent="1" source="15" target="17">
<mxCell id="18" value="" style="edgeStyle=none;html=1;" parent="1" source="15" target="17" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="15" value="Request:&lt;br&gt;send/&amp;lt;Token&amp;gt;" style="shape=process;whiteSpace=wrap;html=1;backgroundOutline=1;fillColor=#008a00;fontColor=#ffffff;strokeColor=#005700;" vertex="1" parent="1">
<mxCell id="15" value="Request:&lt;br&gt;send/&amp;lt;Token&amp;gt;" style="shape=process;whiteSpace=wrap;html=1;backgroundOutline=1;fillColor=#008a00;fontColor=#ffffff;strokeColor=#005700;" parent="1" vertex="1">
<mxGeometry x="995" y="130" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="22" value="" style="edgeStyle=none;html=1;" edge="1" parent="1" source="17" target="21">
<mxCell id="22" value="" style="edgeStyle=none;html=1;" parent="1" source="17" target="21" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="17" value="decodiere &amp;lt;Token&amp;gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#60a917;fontColor=#ffffff;strokeColor=#2D7600;" vertex="1" parent="1">
<mxCell id="17" value="decodiere &amp;lt;Token&amp;gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#60a917;fontColor=#ffffff;strokeColor=#2D7600;" parent="1" vertex="1">
<mxGeometry x="995" y="210" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="24" value="" style="edgeStyle=none;html=1;" edge="1" parent="1" source="21" target="23">
<mxCell id="24" value="" style="edgeStyle=none;html=1;" parent="1" source="21" target="23" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="27" value="Ja" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="24">
<mxCell id="27" value="Ja" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="24" vertex="1" connectable="0">
<mxGeometry x="0.4" y="1" relative="1" as="geometry">
<mxPoint x="12" y="-1" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="29" value="" style="edgeStyle=none;html=1;" edge="1" parent="1" source="21" target="28">
<mxCell id="29" value="" style="edgeStyle=none;html=1;" parent="1" source="21" target="28" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="21" value="Token abgelaufen?&lt;br&gt;&lt;br&gt;" style="rhombus;whiteSpace=wrap;html=1;rounded=0;fillColor=#60a917;fontColor=#ffffff;strokeColor=#2D7600;" vertex="1" parent="1">
<mxCell id="21" value="Token abgelaufen?&lt;br&gt;&lt;br&gt;" style="rhombus;whiteSpace=wrap;html=1;rounded=0;fillColor=#60a917;fontColor=#ffffff;strokeColor=#2D7600;" parent="1" vertex="1">
<mxGeometry x="1015" y="280" width="80" height="80" as="geometry"/>
</mxCell>
<mxCell id="26" value="" style="edgeStyle=none;html=1;" edge="1" parent="1" source="23" target="25">
<mxCell id="26" value="" style="edgeStyle=none;html=1;" parent="1" source="23" target="25" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="23" value="Fehlermeldung" style="whiteSpace=wrap;html=1;rounded=0;fillColor=#ffcd28;gradientColor=#ffa500;strokeColor=#d79b00;" vertex="1" parent="1">
<mxCell id="23" value="Fehlermeldung" style="whiteSpace=wrap;html=1;rounded=0;fillColor=#ffcd28;gradientColor=#ffa500;strokeColor=#d79b00;" parent="1" vertex="1">
<mxGeometry x="810" y="290" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="25" value="" style="ellipse;html=1;shape=endState;fillColor=#000000;strokeColor=#000000;" vertex="1" parent="1">
<mxCell id="25" value="" style="ellipse;html=1;shape=endState;fillColor=#000000;strokeColor=#000000;" parent="1" vertex="1">
<mxGeometry x="720" y="305" width="30" height="30" as="geometry"/>
</mxCell>
<mxCell id="31" value="" style="edgeStyle=none;html=1;" edge="1" parent="1" source="28" target="30">
<mxCell id="31" value="" style="edgeStyle=none;html=1;" parent="1" source="28" target="30" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="28" value="lese mit Token-Key die Tx-Daten aus der Datenbank" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#60a917;fontColor=#ffffff;strokeColor=#2D7600;" vertex="1" parent="1">
<mxCell id="28" value="lese mit Token-Key die Tx-Daten aus der Datenbank" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#60a917;fontColor=#ffffff;strokeColor=#2D7600;" parent="1" vertex="1">
<mxGeometry x="995" y="380" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="35" value="" style="edgeStyle=none;html=1;" edge="1" parent="1" source="30" target="33">
<mxCell id="35" value="" style="edgeStyle=none;html=1;" parent="1" source="30" target="33" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="36" value="Nein" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="35">
<mxCell id="36" value="Nein" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="35" vertex="1" connectable="0">
<mxGeometry x="-0.525" relative="1" as="geometry">
<mxPoint x="-7" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="45" style="edgeStyle=none;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="30" target="40">
<mxCell id="45" style="edgeStyle=none;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="30" target="40" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="1055" y="540" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="30" value="Tx-Daten&lt;br&gt;&amp;nbsp;zu Key &lt;br&gt;gefunden?&lt;br&gt;" style="rhombus;whiteSpace=wrap;html=1;rounded=0;fillColor=#60a917;fontColor=#ffffff;strokeColor=#2D7600;" vertex="1" parent="1">
<mxCell id="30" value="Tx-Daten&lt;br&gt;&amp;nbsp;zu Key &lt;br&gt;gefunden?&lt;br&gt;" style="rhombus;whiteSpace=wrap;html=1;rounded=0;fillColor=#60a917;fontColor=#ffffff;strokeColor=#2D7600;" parent="1" vertex="1">
<mxGeometry x="995" y="440" width="120" height="80" as="geometry"/>
</mxCell>
<mxCell id="32" value="" style="edgeStyle=none;html=1;" edge="1" parent="1" source="33" target="34">
<mxCell id="32" value="" style="edgeStyle=none;html=1;" parent="1" source="33" target="34" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="33" value="Fehlermeldung" style="whiteSpace=wrap;html=1;rounded=0;fillColor=#ffcd28;gradientColor=#ffa500;strokeColor=#d79b00;" vertex="1" parent="1">
<mxCell id="33" value="Fehlermeldung" style="whiteSpace=wrap;html=1;rounded=0;fillColor=#ffcd28;gradientColor=#ffa500;strokeColor=#d79b00;" parent="1" vertex="1">
<mxGeometry x="810" y="450" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="34" value="" style="ellipse;html=1;shape=endState;fillColor=#000000;strokeColor=#000000;" vertex="1" parent="1">
<mxCell id="34" value="" style="ellipse;html=1;shape=endState;fillColor=#000000;strokeColor=#000000;" parent="1" vertex="1">
<mxGeometry x="720" y="465" width="30" height="30" as="geometry"/>
</mxCell>
<mxCell id="46" value="" style="edgeStyle=none;html=1;" edge="1" parent="1" source="40" target="42">
<mxCell id="46" value="" style="edgeStyle=none;html=1;" parent="1" source="40" target="42" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="47" value="Nein" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="46">
<mxCell id="47" value="Nein" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="46" vertex="1" connectable="0">
<mxGeometry x="-0.5" y="1" relative="1" as="geometry">
<mxPoint x="-6" y="-1" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="54" value="" style="edgeStyle=none;html=1;" edge="1" parent="1" source="40" target="50">
<mxCell id="54" value="" style="edgeStyle=none;html=1;" parent="1" source="40" target="50" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="40" value="Tx noch offen?" style="rhombus;whiteSpace=wrap;html=1;rounded=0;fillColor=#60a917;fontColor=#ffffff;strokeColor=#2D7600;" vertex="1" parent="1">
<mxCell id="40" value="Tx noch offen?" style="rhombus;whiteSpace=wrap;html=1;rounded=0;fillColor=#60a917;fontColor=#ffffff;strokeColor=#2D7600;" parent="1" vertex="1">
<mxGeometry x="995" y="540" width="120" height="80" as="geometry"/>
</mxCell>
<mxCell id="41" value="" style="edgeStyle=none;html=1;" edge="1" parent="1" source="42" target="43">
<mxCell id="41" value="" style="edgeStyle=none;html=1;" parent="1" source="42" target="43" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="42" value="Fehlermeldung" style="whiteSpace=wrap;html=1;rounded=0;fillColor=#ffcd28;gradientColor=#ffa500;strokeColor=#d79b00;" vertex="1" parent="1">
<mxCell id="42" value="Fehlermeldung" style="whiteSpace=wrap;html=1;rounded=0;fillColor=#ffcd28;gradientColor=#ffa500;strokeColor=#d79b00;" parent="1" vertex="1">
<mxGeometry x="810" y="550" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="43" value="" style="ellipse;html=1;shape=endState;fillColor=#000000;strokeColor=#000000;" vertex="1" parent="1">
<mxCell id="43" value="" style="ellipse;html=1;shape=endState;fillColor=#000000;strokeColor=#000000;" parent="1" vertex="1">
<mxGeometry x="720" y="565" width="30" height="30" as="geometry"/>
</mxCell>
<mxCell id="48" value="" style="edgeStyle=none;html=1;" edge="1" parent="1" source="50" target="52">
<mxCell id="48" value="" style="edgeStyle=none;html=1;" parent="1" source="50" target="52" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="49" value="Nein" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="48">
<mxCell id="49" value="Nein" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="48" vertex="1" connectable="0">
<mxGeometry x="-0.5" y="1" relative="1" as="geometry">
<mxPoint x="-6" y="-1" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="58" value="" style="edgeStyle=none;html=1;fontSize=12;" edge="1" parent="1" source="50" target="57">
<mxCell id="58" value="" style="edgeStyle=none;html=1;fontSize=12;" parent="1" source="50" target="57" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="50" value="Linkinhalt &lt;br&gt;passt zu gelesenen Tx-Daten?" style="rhombus;whiteSpace=wrap;html=1;rounded=0;fillColor=#60a917;fontColor=#ffffff;strokeColor=#2D7600;" vertex="1" parent="1">
<mxCell id="50" value="Linkinhalt &lt;br&gt;passt zu gelesenen Tx-Daten?" style="rhombus;whiteSpace=wrap;html=1;rounded=0;fillColor=#60a917;fontColor=#ffffff;strokeColor=#2D7600;" parent="1" vertex="1">
<mxGeometry x="995" y="640" width="120" height="80" as="geometry"/>
</mxCell>
<mxCell id="51" value="" style="edgeStyle=none;html=1;" edge="1" parent="1" source="52" target="53">
<mxCell id="51" value="" style="edgeStyle=none;html=1;" parent="1" source="52" target="53" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="52" value="Fehlermeldung" style="whiteSpace=wrap;html=1;rounded=0;fillColor=#ffcd28;gradientColor=#ffa500;strokeColor=#d79b00;" vertex="1" parent="1">
<mxCell id="52" value="Fehlermeldung" style="whiteSpace=wrap;html=1;rounded=0;fillColor=#ffcd28;gradientColor=#ffa500;strokeColor=#d79b00;" parent="1" vertex="1">
<mxGeometry x="810" y="650" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="53" value="" style="ellipse;html=1;shape=endState;fillColor=#000000;strokeColor=#000000;" vertex="1" parent="1">
<mxCell id="53" value="" style="ellipse;html=1;shape=endState;fillColor=#000000;strokeColor=#000000;" parent="1" vertex="1">
<mxGeometry x="720" y="665" width="30" height="30" as="geometry"/>
</mxCell>
<mxCell id="60" value="" style="edgeStyle=none;html=1;fontSize=12;" edge="1" parent="1" target="59">
<mxCell id="60" value="" style="edgeStyle=none;html=1;fontSize=12;" parent="1" target="59" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="1055" y="900" as="sourcePoint"/>
</mxGeometry>
</mxCell>
<mxCell id="57" value="&lt;font style=&quot;font-size: 12px&quot;&gt;Seite: &lt;br&gt;Begrüßung zur Valutierung &lt;br&gt;mit Auswahl:&lt;br&gt;&lt;div style=&quot;text-align: left&quot;&gt;&lt;span&gt;- Community&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left&quot;&gt;&lt;span&gt;- Login&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left&quot;&gt;&lt;span&gt;- Registrierung&lt;/span&gt;&lt;/div&gt;&lt;/font&gt;" style="shape=process;whiteSpace=wrap;html=1;backgroundOutline=1;fontSize=16;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
<mxCell id="57" value="&lt;font style=&quot;font-size: 12px&quot;&gt;Seite: &lt;br&gt;Begrüßung zur Valutierung &lt;br&gt;mit Auswahl:&lt;br&gt;&lt;div style=&quot;text-align: left&quot;&gt;&lt;span&gt;- Community&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left&quot;&gt;&lt;span&gt;- Login&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left&quot;&gt;&lt;span&gt;- Registrierung&lt;/span&gt;&lt;/div&gt;&lt;/font&gt;" style="shape=process;whiteSpace=wrap;html=1;backgroundOutline=1;fontSize=16;fillColor=#b0e3e6;strokeColor=#0e8088;" parent="1" vertex="1">
<mxGeometry x="975" y="770" width="160" height="130" as="geometry"/>
</mxCell>
<mxCell id="69" style="edgeStyle=none;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fontSize=12;" edge="1" parent="1" source="59" target="67">
<mxCell id="69" style="edgeStyle=none;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fontSize=12;" parent="1" source="59" target="67" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="845" y="960"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="70" style="edgeStyle=none;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fontSize=12;" edge="1" parent="1" source="59" target="68">
<mxCell id="70" style="edgeStyle=none;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fontSize=12;" parent="1" source="59" target="68" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="975" y="960"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="71" value="Nein" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=12;" vertex="1" connectable="0" parent="70">
<mxCell id="71" value="Nein" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=12;" parent="70" vertex="1" connectable="0">
<mxGeometry x="-0.8667" relative="1" as="geometry">
<mxPoint x="-10" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="59" value="&lt;font style=&quot;font-size: 12px&quot;&gt;andere Community?&lt;br&gt;&lt;br&gt;&lt;/font&gt;" style="rhombus;whiteSpace=wrap;html=1;fontSize=16;fillColor=#60a917;fontColor=#ffffff;strokeColor=#2D7600;" vertex="1" parent="1">
<mxCell id="59" value="&lt;font style=&quot;font-size: 12px&quot;&gt;andere Community?&lt;br&gt;&lt;br&gt;&lt;/font&gt;" style="rhombus;whiteSpace=wrap;html=1;fontSize=16;fillColor=#60a917;fontColor=#ffffff;strokeColor=#2D7600;" parent="1" vertex="1">
<mxGeometry x="1015" y="920" width="80" height="80" as="geometry"/>
</mxCell>
<mxCell id="61" value="&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Empfänger-Community&lt;/b&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontSize=16;fillColor=#d5e8d4;gradientColor=#97d077;strokeColor=#82b366;align=left;verticalAlign=top;" vertex="1" parent="1">
<mxCell id="61" value="&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Empfänger-Community&lt;/b&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontSize=16;fillColor=#d5e8d4;gradientColor=#97d077;strokeColor=#82b366;align=left;verticalAlign=top;" parent="1" vertex="1">
<mxGeometry x="1395" y="880" width="360" height="400" as="geometry"/>
</mxCell>
<mxCell id="80" style="edgeStyle=none;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fontSize=12;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="62" target="79">
<mxCell id="80" style="edgeStyle=none;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fontSize=12;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="62" target="79" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="1660" y="960"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="62" value="Seite:&lt;br&gt;Login-Valutierung" style="shape=process;whiteSpace=wrap;html=1;backgroundOutline=1;fontSize=12;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
<mxCell id="62" value="Seite:&lt;br&gt;Login-Valutierung" style="shape=process;whiteSpace=wrap;html=1;backgroundOutline=1;fontSize=12;fillColor=#b0e3e6;strokeColor=#0e8088;" parent="1" vertex="1">
<mxGeometry x="1455" y="930" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="81" style="edgeStyle=none;html=1;fontSize=12;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="63" target="79">
<mxCell id="81" style="edgeStyle=none;html=1;fontSize=12;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="63" target="79" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="1665" y="1080" as="targetPoint"/>
<Array as="points">
@ -232,22 +232,22 @@
</Array>
</mxGeometry>
</mxCell>
<mxCell id="82" value="Empfänger-ID" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=12;" vertex="1" connectable="0" parent="81">
<mxCell id="82" value="Security-Key Empfänger-ID" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=12;" parent="81" vertex="1" connectable="0">
<mxGeometry x="0.4963" y="1" relative="1" as="geometry">
<mxPoint as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="63" value="Seite:&lt;br&gt;Register-Valutierung" style="shape=process;whiteSpace=wrap;html=1;backgroundOutline=1;fontSize=12;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
<mxCell id="63" value="Seite:&lt;br&gt;Register-Valutierung" style="shape=process;whiteSpace=wrap;html=1;backgroundOutline=1;fontSize=12;fillColor=#b0e3e6;strokeColor=#0e8088;" parent="1" vertex="1">
<mxGeometry x="1455" y="1000" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="64" style="edgeStyle=none;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fontSize=12;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="59" target="62">
<mxCell id="64" style="edgeStyle=none;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fontSize=12;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="59" target="62" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="1295" y="960"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="65" style="edgeStyle=none;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fontSize=12;" edge="1" parent="1" source="59" target="63">
<mxCell id="65" style="edgeStyle=none;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fontSize=12;" parent="1" source="59" target="63" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="1360" y="960"/>
@ -255,75 +255,85 @@
</Array>
</mxGeometry>
</mxCell>
<mxCell id="66" value="Ja" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=12;" vertex="1" connectable="0" parent="65">
<mxCell id="66" value="Ja" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=12;" parent="65" vertex="1" connectable="0">
<mxGeometry x="-0.9327" y="-1" relative="1" as="geometry">
<mxPoint as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="74" style="edgeStyle=none;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fontSize=12;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="67" target="72">
<mxCell id="93" value="Security-Key" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="65">
<mxGeometry x="-0.1023" y="-2" relative="1" as="geometry">
<mxPoint as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="74" style="edgeStyle=none;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fontSize=12;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="67" target="72" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="845" y="1200"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="78" value="Empfänger-ID" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=12;" vertex="1" connectable="0" parent="74">
<mxCell id="78" value="Empfänger-ID" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=12;" parent="74" vertex="1" connectable="0">
<mxGeometry x="-0.6759" y="1" relative="1" as="geometry">
<mxPoint as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="67" value="Seite &lt;br&gt;Login-Valutierung" style="shape=process;whiteSpace=wrap;html=1;backgroundOutline=1;fontSize=12;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
<mxCell id="67" value="Seite &lt;br&gt;Login-Valutierung" style="shape=process;whiteSpace=wrap;html=1;backgroundOutline=1;fontSize=12;fillColor=#b0e3e6;strokeColor=#0e8088;" parent="1" vertex="1">
<mxGeometry x="785" y="1010" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="73" style="edgeStyle=none;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fontSize=12;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="68" target="72">
<mxCell id="73" style="edgeStyle=none;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fontSize=12;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="68" target="72" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="975" y="1200"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="77" value="Empfänger-ID" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=12;" vertex="1" connectable="0" parent="73">
<mxCell id="77" value="Empfänger-ID" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=12;" parent="73" vertex="1" connectable="0">
<mxGeometry x="-0.4625" y="1" relative="1" as="geometry">
<mxPoint as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="68" value="Seite &lt;br&gt;Register-Valutierung" style="shape=process;whiteSpace=wrap;html=1;backgroundOutline=1;fontSize=12;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1">
<mxCell id="68" value="Seite &lt;br&gt;Register-Valutierung" style="shape=process;whiteSpace=wrap;html=1;backgroundOutline=1;fontSize=12;fillColor=#b0e3e6;strokeColor=#0e8088;" parent="1" vertex="1">
<mxGeometry x="915" y="1010" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="86" style="edgeStyle=none;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fontSize=12;startArrow=classic;startFill=1;" edge="1" parent="1" source="72" target="85">
<mxCell id="86" style="edgeStyle=none;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fontSize=12;startArrow=classic;startFill=1;" parent="1" source="72" target="85" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="90" style="edgeStyle=none;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fontSize=12;startArrow=none;startFill=0;" edge="1" parent="1" source="72" target="89">
<mxCell id="90" style="edgeStyle=none;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fontSize=12;startArrow=none;startFill=0;" parent="1" source="72" target="89" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="72" value="Valutierungsprozess" style="shape=process;whiteSpace=wrap;html=1;backgroundOutline=1;fontSize=12;fillColor=#008a00;fontColor=#ffffff;strokeColor=#005700;" vertex="1" parent="1">
<mxCell id="72" value="Valutierungsprozess" style="shape=process;whiteSpace=wrap;html=1;backgroundOutline=1;fontSize=12;fillColor=#008a00;fontColor=#ffffff;strokeColor=#005700;" parent="1" vertex="1">
<mxGeometry x="1005" y="1170" width="160" height="60" as="geometry"/>
</mxCell>
<mxCell id="76" style="edgeStyle=none;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fontSize=12;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="75" target="72">
<mxCell id="76" style="edgeStyle=none;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fontSize=12;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="75" target="72" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="1085" y="1110"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="75" value="Request:&lt;br&gt;disburse/&amp;lt;Empfänger-ID&amp;gt;" style="shape=process;whiteSpace=wrap;html=1;backgroundOutline=1;fillColor=#008a00;fontColor=#ffffff;strokeColor=#005700;" vertex="1" parent="1">
<mxCell id="94" value="Empfänger-ID" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="76">
<mxGeometry x="0.0667" relative="1" as="geometry">
<mxPoint x="-15" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="75" value="Request:&lt;br&gt;disburse/&amp;lt;Empfänger-ID&amp;gt;" style="shape=process;whiteSpace=wrap;html=1;backgroundOutline=1;fillColor=#008a00;fontColor=#ffffff;strokeColor=#005700;" parent="1" vertex="1">
<mxGeometry x="1115" y="1080" width="180" height="60" as="geometry"/>
</mxCell>
<mxCell id="83" style="edgeStyle=none;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;fontSize=12;" edge="1" parent="1" source="79" target="75">
<mxCell id="83" style="edgeStyle=none;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;fontSize=12;" parent="1" source="79" target="75" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="84" value="Empfänger-ID" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=12;" vertex="1" connectable="0" parent="83">
<mxCell id="84" value="Security-Key, Empfänger-ID" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=12;" parent="83" vertex="1" connectable="0">
<mxGeometry x="-0.2724" y="1" relative="1" as="geometry">
<mxPoint as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="79" value="Disburse-Prozess" style="shape=process;whiteSpace=wrap;html=1;backgroundOutline=1;fillColor=#008a00;fontColor=#ffffff;strokeColor=#005700;" vertex="1" parent="1">
<mxCell id="79" value="Disburse-Prozess" style="shape=process;whiteSpace=wrap;html=1;backgroundOutline=1;fillColor=#008a00;fontColor=#ffffff;strokeColor=#005700;" parent="1" vertex="1">
<mxGeometry x="1585" y="1080" width="150" height="60" as="geometry"/>
</mxCell>
<mxCell id="85" value="Valutierungsprozess" style="shape=process;whiteSpace=wrap;html=1;backgroundOutline=1;fontSize=12;fillColor=#008a00;fontColor=#ffffff;strokeColor=#005700;" vertex="1" parent="1">
<mxCell id="85" value="Valutierungsprozess" style="shape=process;whiteSpace=wrap;html=1;backgroundOutline=1;fontSize=12;fillColor=#008a00;fontColor=#ffffff;strokeColor=#005700;" parent="1" vertex="1">
<mxGeometry x="1425" y="1170" width="160" height="60" as="geometry"/>
</mxCell>
<mxCell id="89" value="" style="ellipse;html=1;shape=endState;fillColor=#000000;strokeColor=#000000;fontSize=12;" vertex="1" parent="1">
<mxCell id="89" value="" style="ellipse;html=1;shape=endState;fillColor=#000000;strokeColor=#000000;fontSize=12;" parent="1" vertex="1">
<mxGeometry x="1070" y="1320" width="30" height="30" as="geometry"/>
</mxCell>
</root>

View File

@ -0,0 +1,271 @@
<mxfile host="65bd71144e">
<diagram id="dGNf3lpo_9IMpYIPCkMh" name="Seite-1">
<mxGraphModel dx="1088" dy="800" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="2336" pageHeight="1654" math="0" shadow="0">
<root>
<mxCell id="0"/>
<mxCell id="1" parent="0"/>
<mxCell id="2" value="&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Sender-Community&lt;/b&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontSize=16;fillColor=#d5e8d4;gradientColor=#97d077;strokeColor=#82b366;align=left;verticalAlign=top;arcSize=9;" vertex="1" parent="1">
<mxGeometry x="120" y="120" width="635" height="1460" as="geometry"/>
</mxCell>
<mxCell id="9" value="&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Valutierungsprozess&lt;/b&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;arcSize=5;align=left;verticalAlign=top;" vertex="1" parent="1">
<mxGeometry x="140" y="160" width="590" height="1410" as="geometry"/>
</mxCell>
<mxCell id="37" value="&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Abbuchungsprozess&lt;/b&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;fillColor=#f5f5f5;gradientColor=#808080;strokeColor=#666666;arcSize=5;align=left;verticalAlign=top;" vertex="1" parent="1">
<mxGeometry x="210" y="827" width="460" height="573" as="geometry"/>
</mxCell>
<mxCell id="3" value="&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Empfänger-Community&lt;/b&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontSize=16;fillColor=#d5e8d4;gradientColor=#97d077;strokeColor=#82b366;align=left;verticalAlign=top;arcSize=8;" vertex="1" parent="1">
<mxGeometry x="840" y="760" width="380" height="640" as="geometry"/>
</mxCell>
<mxCell id="7" value="" style="ellipse;fillColor=#000000;strokeColor=none;" vertex="1" parent="1">
<mxGeometry x="425" y="60" width="30" height="30" as="geometry"/>
</mxCell>
<mxCell id="8" style="edgeStyle=none;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="7" target="10">
<mxGeometry relative="1" as="geometry">
<mxPoint x="440" y="180" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="12" value="" style="edgeStyle=none;html=1;" edge="1" parent="1" source="10" target="11">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="10" value="prüfe Eingabe-Parameter" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#60a917;fontColor=#ffffff;strokeColor=#2D7600;" vertex="1" parent="1">
<mxGeometry x="380" y="190" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="14" value="" style="edgeStyle=none;html=1;" edge="1" parent="1" source="11" target="13">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="23" value="Nein" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="14">
<mxGeometry x="0.22" relative="1" as="geometry">
<mxPoint x="11" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="18" value="" style="edgeStyle=none;html=1;" edge="1" parent="1" source="11" target="17">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="19" value="Ja" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="18">
<mxGeometry x="-0.425" y="1" relative="1" as="geometry">
<mxPoint as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="11" value="alle Input-Werte vorhanden?" style="rhombus;whiteSpace=wrap;html=1;fillColor=#60a917;strokeColor=#2D7600;fontColor=#ffffff;rounded=0;" vertex="1" parent="1">
<mxGeometry x="380" y="260" width="120" height="80" as="geometry"/>
</mxCell>
<mxCell id="16" style="edgeStyle=none;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="13" target="15">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="13" value="Fehlermeldung" style="whiteSpace=wrap;html=1;fillColor=#ffcd28;strokeColor=#d79b00;rounded=0;gradientColor=#ffa500;" vertex="1" parent="1">
<mxGeometry x="210" y="270" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="15" value="" style="ellipse;html=1;shape=endState;fillColor=#000000;strokeColor=#000000;" vertex="1" parent="1">
<mxGeometry x="50" y="285" width="30" height="30" as="geometry"/>
</mxCell>
<mxCell id="22" value="" style="edgeStyle=none;html=1;" edge="1" parent="1" source="17" target="21">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="17" value="lese per Sender-ID und Tx-Key die vorgebuchte Transaktion aus DB" style="whiteSpace=wrap;html=1;fillColor=#60a917;strokeColor=#2D7600;fontColor=#ffffff;rounded=0;" vertex="1" parent="1">
<mxGeometry x="380" y="380" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="30" value="" style="edgeStyle=none;html=1;" edge="1" parent="1" source="21" target="29">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="31" value="Ja" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="30">
<mxGeometry x="-0.6" y="1" relative="1" as="geometry">
<mxPoint as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="21" value="vorgebuchte &lt;br&gt;Tx noch offen und nicht abgelaufen?&lt;br&gt;&lt;br&gt;" style="rhombus;whiteSpace=wrap;html=1;fillColor=#60a917;strokeColor=#2D7600;fontColor=#ffffff;rounded=0;" vertex="1" parent="1">
<mxGeometry x="380" y="470" width="120" height="80" as="geometry"/>
</mxCell>
<mxCell id="24" value="" style="edgeStyle=none;html=1;" edge="1" parent="1" target="27">
<mxGeometry relative="1" as="geometry">
<mxPoint x="380" y="510" as="sourcePoint"/>
</mxGeometry>
</mxCell>
<mxCell id="25" value="Nein" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="24">
<mxGeometry x="0.22" relative="1" as="geometry">
<mxPoint x="11" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="26" style="edgeStyle=none;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="27" target="28">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="27" value="Fehlermeldung" style="whiteSpace=wrap;html=1;fillColor=#ffcd28;strokeColor=#d79b00;rounded=0;gradientColor=#ffa500;" vertex="1" parent="1">
<mxGeometry x="210" y="480" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="28" value="" style="ellipse;html=1;shape=endState;fillColor=#000000;strokeColor=#000000;" vertex="1" parent="1">
<mxGeometry x="50" y="495" width="30" height="30" as="geometry"/>
</mxCell>
<mxCell id="33" value="" style="edgeStyle=none;html=1;" edge="1" parent="1" source="29" target="32">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="29" value="initialisiere AbbuchungTx-Objekt mit Input-Parameter" style="whiteSpace=wrap;html=1;fillColor=#60a917;strokeColor=#2D7600;fontColor=#ffffff;rounded=0;" vertex="1" parent="1">
<mxGeometry x="380" y="580" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="35" value="" style="edgeStyle=none;html=1;" edge="1" parent="1" source="32" target="34">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="32" value="berechne Vergänglichkeit auf Kontostand seit letzer Transaktion" style="whiteSpace=wrap;html=1;fillColor=#60a917;strokeColor=#2D7600;fontColor=#ffffff;rounded=0;" vertex="1" parent="1">
<mxGeometry x="380" y="660" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="40" value="" style="edgeStyle=none;html=1;" edge="1" parent="1" source="34" target="39">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="34" value="setze Vergänglichkeit und Betrag in AbbuchungsTx-Objekt" style="whiteSpace=wrap;html=1;fillColor=#60a917;strokeColor=#2D7600;fontColor=#ffffff;rounded=0;" vertex="1" parent="1">
<mxGeometry x="380" y="740" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="42" value="" style="edgeStyle=none;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="39" target="41">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="290" y="880"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="43" value="Ja" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="42">
<mxGeometry x="-0.5143" relative="1" as="geometry">
<mxPoint as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="52" style="edgeStyle=none;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="39" target="51">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="590" y="880"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="53" value="Nein" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="52">
<mxGeometry x="-0.5571" relative="1" as="geometry">
<mxPoint as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="39" value="Empfänger-Id&lt;br&gt;lokal?" style="rhombus;whiteSpace=wrap;html=1;fillColor=#60a917;strokeColor=#2D7600;fontColor=#ffffff;rounded=0;" vertex="1" parent="1">
<mxGeometry x="400" y="840" width="80" height="80" as="geometry"/>
</mxCell>
<mxCell id="45" value="" style="edgeStyle=none;html=1;" edge="1" parent="1" source="41" target="44">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="41" value="erzeuge für &lt;br&gt;Sender-ID eine AbbuchungsTx" style="whiteSpace=wrap;html=1;fillColor=#60a917;strokeColor=#2D7600;fontColor=#ffffff;rounded=0;" vertex="1" parent="1">
<mxGeometry x="230" y="910" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="47" value="" style="edgeStyle=none;html=1;" edge="1" parent="1" source="44" target="46">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="44" value="erzeuge für Empfänger-ID eine GutschiftTx" style="whiteSpace=wrap;html=1;fillColor=#60a917;strokeColor=#2D7600;fontColor=#ffffff;rounded=0;" vertex="1" parent="1">
<mxGeometry x="230" y="990" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="49" value="" style="edgeStyle=none;html=1;" edge="1" parent="1" source="46" target="48">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="46" value="speichere GutschiftTx für Empfänger-ID" style="whiteSpace=wrap;html=1;fillColor=#60a917;strokeColor=#2D7600;fontColor=#ffffff;rounded=0;" vertex="1" parent="1">
<mxGeometry x="230" y="1070" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="75" style="edgeStyle=none;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;startArrow=none;startFill=0;" edge="1" parent="1" source="48" target="73">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="290" y="1350"/>
<mxPoint x="440" y="1350"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="48" value="speichere AbbuchungsTx für Sender-ID" style="whiteSpace=wrap;html=1;fillColor=#60a917;strokeColor=#2D7600;fontColor=#ffffff;rounded=0;" vertex="1" parent="1">
<mxGeometry x="230" y="1150" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="50" value="&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Gutschriftenprozess&lt;/b&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;arcSize=5;align=left;verticalAlign=top;" vertex="1" parent="1">
<mxGeometry x="860" y="830" width="340" height="520" as="geometry"/>
</mxCell>
<mxCell id="55" style="edgeStyle=none;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;startArrow=none;startFill=0;" edge="1" parent="1" source="51" target="54">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="51" value="eröffne Kommunikation mit Empfänger-Community" style="whiteSpace=wrap;html=1;fillColor=#60a917;strokeColor=#2D7600;fontColor=#ffffff;rounded=0;" vertex="1" parent="1">
<mxGeometry x="530" y="910" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="57" style="edgeStyle=none;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;startArrow=none;startFill=0;" edge="1" parent="1" source="54" target="56">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="970" y="1010"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="58" value="AuthenticationToken" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="57">
<mxGeometry x="-0.45" y="3" relative="1" as="geometry">
<mxPoint x="-81" y="-3" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="54" value="openCommunication-Request" style="whiteSpace=wrap;html=1;fillColor=#60a917;strokeColor=#2D7600;fontColor=#ffffff;rounded=0;" vertex="1" parent="1">
<mxGeometry x="910" y="910" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="60" value="" style="edgeStyle=none;html=1;startArrow=none;startFill=0;" edge="1" parent="1" source="56" target="59">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="56" value="erzeuge für&lt;br&gt;Sender-ID eine AbbuchungsTx" style="whiteSpace=wrap;html=1;fillColor=#60a917;strokeColor=#2D7600;fontColor=#ffffff;rounded=0;" vertex="1" parent="1">
<mxGeometry x="530" y="980" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="62" style="edgeStyle=none;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;startArrow=none;startFill=0;exitX=1.004;exitY=0.119;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="59" target="61">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="63" value="AuthenticationToken + GutschirftTx" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="62">
<mxGeometry x="-0.5462" y="-1" relative="1" as="geometry">
<mxPoint x="71" y="-1" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="72" style="edgeStyle=none;html=1;startArrow=none;startFill=0;" edge="1" parent="1" source="59" target="71">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="59" value="sende an Empfänger-ID eine GutschiftTx &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;und &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;warte auf &lt;br&gt;credit-Confirmation" style="whiteSpace=wrap;html=1;fillColor=#60a917;strokeColor=#2D7600;fontColor=#ffffff;rounded=0;" vertex="1" parent="1">
<mxGeometry x="530" y="1060" width="120" height="240" as="geometry"/>
</mxCell>
<mxCell id="61" value="credit-Request" style="whiteSpace=wrap;html=1;fillColor=#60a917;strokeColor=#2D7600;fontColor=#ffffff;rounded=0;" vertex="1" parent="1">
<mxGeometry x="910" y="1060" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="65" value="" style="edgeStyle=none;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" target="67" source="61">
<mxGeometry relative="1" as="geometry">
<mxPoint x="1120" y="1120" as="sourcePoint"/>
<Array as="points">
<mxPoint x="1120" y="1090"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="66" value="" style="edgeStyle=none;html=1;" edge="1" parent="1" source="67" target="69">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="67" value="erzeuge für Empfänger-ID eine GutschiftTx" style="whiteSpace=wrap;html=1;fillColor=#60a917;strokeColor=#2D7600;fontColor=#ffffff;rounded=0;" vertex="1" parent="1">
<mxGeometry x="1060" y="1120" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="68" value="" style="edgeStyle=none;html=1;entryX=1;entryY=0.917;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="69" target="59">
<mxGeometry relative="1" as="geometry">
<mxPoint x="650" y="1300" as="targetPoint"/>
<Array as="points">
<mxPoint x="1120" y="1280"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="69" value="speichere GutschiftTx für Empfänger-ID" style="whiteSpace=wrap;html=1;fillColor=#60a917;strokeColor=#2D7600;fontColor=#ffffff;rounded=0;" vertex="1" parent="1">
<mxGeometry x="1060" y="1200" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="74" value="" style="edgeStyle=none;html=1;startArrow=none;startFill=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="71" target="73">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="440" y="1350"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="71" value="speichere AbbuchungsTx für Sender-ID" style="whiteSpace=wrap;html=1;fillColor=#60a917;strokeColor=#2D7600;fontColor=#ffffff;rounded=0;" vertex="1" parent="1">
<mxGeometry x="530" y="1320" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="77" value="" style="edgeStyle=none;html=1;startArrow=none;startFill=0;" edge="1" parent="1" source="73" target="76">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="73" value="markiere die vorgebuchte Tx als valutiert" style="whiteSpace=wrap;html=1;fillColor=#60a917;strokeColor=#2D7600;fontColor=#ffffff;rounded=0;" vertex="1" parent="1">
<mxGeometry x="380" y="1420" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="79" style="edgeStyle=none;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;startArrow=none;startFill=0;" edge="1" parent="1" source="76" target="78">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="76" value="markiere zur Sender-ID alle abgelaufenen vorgebuchte-Tx als abgelaufen" style="whiteSpace=wrap;html=1;fillColor=#60a917;strokeColor=#2D7600;fontColor=#ffffff;rounded=0;" vertex="1" parent="1">
<mxGeometry x="380" y="1500" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="78" value="" style="ellipse;html=1;shape=endState;fillColor=#000000;strokeColor=#000000;" vertex="1" parent="1">
<mxGeometry x="425" y="1600" width="30" height="30" as="geometry"/>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 228 KiB

After

Width:  |  Height:  |  Size: 231 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 145 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 98 KiB

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 99 KiB

After

Width:  |  Height:  |  Size: 108 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 KiB