summaryrefslogtreecommitdiff
path: root/design-documents
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2021-04-29 08:20:08 +0200
committerChristian Grothoff <christian@grothoff.org>2021-04-29 08:20:08 +0200
commit3d250ac0c1857dbe4fb64d9b46d572430d5b6450 (patch)
tree735111432edbd8cab7caacb6f5c7935fc8afd735 /design-documents
parente55b41c5c18719d3c08c4f8d81a02ae6eb5986f1 (diff)
downloaddocs-3d250ac0c1857dbe4fb64d9b46d572430d5b6450.tar.gz
docs-3d250ac0c1857dbe4fb64d9b46d572430d5b6450.tar.bz2
docs-3d250ac0c1857dbe4fb64d9b46d572430d5b6450.zip
integrate flow graphics into DD13
Diffstat (limited to 'design-documents')
-rw-r--r--design-documents/013-peer-to-peer-payments.rst104
-rw-r--r--design-documents/999-template.rst (renamed from design-documents/000-template.rst)0
-rw-r--r--design-documents/index.rst2
3 files changed, 105 insertions, 1 deletions
diff --git a/design-documents/013-peer-to-peer-payments.rst b/design-documents/013-peer-to-peer-payments.rst
index 9666a85b..914d87fe 100644
--- a/design-documents/013-peer-to-peer-payments.rst
+++ b/design-documents/013-peer-to-peer-payments.rst
@@ -18,6 +18,110 @@ needing to setup anything beyond their wallet(s).
This will be used for payments via e-mail and other messaging apps, as well as
possibly for transfers via NFC/QR code between mobile phones.
+Invoice Flow User Experience
+----------------------------------
+
+.. graphviz::
+
+ digraph invoice {
+ settings [
+ label = "Invoice flow";
+ ];
+ ranksep="0.5"
+ { rank = same; "inbox"; "begin"; }
+ { rank = same; "sending"; "receiving2"; }
+ { rank = same; "receiving"; "paying"; }
+ { rank = same; "mid"; "midbox"; }
+ { rank = same; "body"; "amount"; }
+ begin [label="Seller Inbox",shape=box];
+ body [label="compose\nE-mail message"];
+ amount [label="specify\ninvoice details"];
+ receiving [label="receiving...",shape=diamond];
+ sending [label="transmitting...",shape=diamond];
+ mid [label="Seller Inbox",shape=box];
+ notified [label="Notification:\npayment received"];
+ end [label="Seller Inbox",shape=box];
+ begin -> body [label="(1) new"];
+ body -> amount [label="(2) attach invoice"];
+ amount -> body [label="(3) Ok"];
+ body -> sending [label="(4) send"];
+ sending -> mid [style=dashed];
+ mid -> receiving [style=dashed];
+ receiving -> notified [style=dashed];
+ notified -> end [label="(9) Acknowledge"];
+ inbox [label="Buyer Inbox",shape=box];
+ receiving2 [label="receiving...",shape=diamond];
+ midbox [label="Buyer Inbox",shape=box];
+ open [label="message with\nattached invoice"];
+ confirm [label="review invoice"];
+ paying [label="paying...", shape=diamond];
+ paid [label="message with\npaid invoice"];
+ finbox [label="Buyer Inbox",shape=box];
+ inbox -> receiving2 [style=dashed];
+ receiving2 -> sending [label="Internet\n(pEp)",style=dashed,dir=back];
+ receiving2 -> midbox [style=dashed];
+ midbox -> open [label="(5) select message"];
+ open -> confirm [label="(6) view invoice"];
+ confirm -> paying [label="(7) pay"];
+ paying -> paid [style=dashed];
+ paid -> finbox [label="(8) back"];
+ paying -> receiving [style=dashed, label="Internet\n(Taler)"];
+ }
+
+Donation Flow User Experience
+-------------------------------------
+
+.. graphviz::
+
+ digraph donation {
+ ranksep="0.5"
+ settings [
+ label = "Donation flow";
+ ];
+ { rank = same; "inbox"; "begin"; }
+ { rank = same; "sending"; "receiving2"; }
+ { rank = same; "body"; "amount"; }
+ { rank = same; "mid"; "midbox"; }
+ { rank = same; "accepting"; "timeout"; "receiving"; }
+ begin [label="Donor Inbox",shape=box];
+ body [label="compose\nE-mail message"];
+ amount [label="specify\npayment details"];
+ receiving [label="receiving...",shape=diamond];
+ timeout [label="timeout...",shape=diamond];
+ sending [label="transmitting...",shape=diamond];
+ mid [label="Donor Inbox",shape=box];
+ notified [label="Notification:\npayment confirmed"];
+ notified2 [label="Notification:\npayment refunded"];
+ end [label="Donor Inbox",shape=box];
+ begin -> body [label="(1) new"];
+ body -> amount [label="(2) attach payment"];
+ amount -> body [label="(3) Ok"];
+ body -> sending [label="(4) send"];
+ sending -> mid [style=dashed];
+ mid -> receiving [style=dashed];
+ receiving -> notified [style=dashed];
+ mid -> timeout [style=dashed];
+ timeout -> notified2 [style=dashed];
+ notified -> end [label="(9a) Acknowledge"];
+ notified2 -> end [label="(9b) Acknowledge"];
+ inbox [label="Recipient Inbox",shape=box];
+ receiving2 [label="receiving...",shape=diamond];
+ midbox [label="Recipient Inbox",shape=box];
+ open [label="message with\nattached payment"];
+ confirm [label="accept payment?"];
+ accepting [label="accepting...", shape=diamond];
+ paid [label="message with\naccepted payment"];
+ finbox [label="Recipient Inbox",shape=box];
+ inbox -> receiving2 [style=dashed];
+ receiving2 -> sending [label="Internet\n(pEp)",style=dashed,dir=back];
+ receiving2 -> midbox [style=dashed];
+ midbox -> open [label="(5) select message"];
+ open -> confirm [label="(6) review payment details"];
+ confirm -> accepting [label="(7) yes"];
+ accepting -> paid [style=dashed];
+ paid -> finbox [label="(8) back"];
+ accepting -> receiving [style=dashed, label="Internet\n(Taler)"];
+ }
Requirements
============
diff --git a/design-documents/000-template.rst b/design-documents/999-template.rst
index f620248d..f620248d 100644
--- a/design-documents/000-template.rst
+++ b/design-documents/999-template.rst
diff --git a/design-documents/index.rst b/design-documents/index.rst
index b039ccdc..d0ccef22 100644
--- a/design-documents/index.rst
+++ b/design-documents/index.rst
@@ -9,7 +9,6 @@ and protocol.
.. toctree::
:glob:
- 000-template
001-new-browser-integration
002-wallet-exchange-management
003-tos-rendering
@@ -29,3 +28,4 @@ and protocol.
017-backoffice-inventory-management
018-contract-json
019-wallet-backup-merge
+ 999-template