commit 56d5d0d8b3315cbb8c5c6ed51fb3715211367fbc
parent bfa912b3c689533692d8c217115f561bef147cc3
Author: Christian Grothoff <christian@grothoff.org>
Date: Sun, 16 Nov 2025 15:00:18 +0100
revise DD74
Diffstat:
1 file changed, 86 insertions(+), 88 deletions(-)
diff --git a/design-documents/074-merchant-backend-simplification.rst b/design-documents/074-merchant-backend-simplification.rst
@@ -76,109 +76,102 @@ Personas
Persona Definitions
^^^^^^^^^^^^^^^^^^^
-* Developer
+* ``Developer``
* Every feature flag on, developer mode on
-* Unattended simple in-person offline vending (minimal farm shop)
+* ``Unattended in-person offline vending`` (minimal farm shop) showing:
- * Only show:
+ * ``Orders``, but exclude ``+``-button for creating new orders manually,
+ that's already a power-user feature.
- * Orders
+ * ``Templates``, but exclude OTP devices, only useful for power-users.
- * But exclude "+" button for creating new orders manually,
- that's already a power-user feature.
+ * ``KYC status`` (but only if action required)
- * Templates
+ * ``Bank accounts``, including KYC status
- * But exclude OTP devices, again, HW doesn't exist yet,
+ * ``Settings``
+
+ * ``Logout``
+
+
+* ``Unattended in-person offline vending with inventory``,
+ (this choice should only be enabled once we have the next
+ version of templates with inventory!) showing:
+
+ * Orders, but exclude ``+`` button for creating new orders manually,
+ that's already a power-user feature.
+
+ * ``Inventory`` (once supported by templates!)
+
+ * ``Categories`` (once supported by templates!)
+
+ * ``Templates``, but exclude OTP devices, again, HW doesn't exist yet,
and only useful for power-users.
- * KYC status (if action required)
- * Bank accounts
- * Settings
- * Password
- * Logout
+ * ``KYC status`` (if action required)
+ * ``Bank accounts``
+ * ``Settings``
-* Unattended in-person offline vending with inventory (to be added later!):
+ * ``Logout``
- * Only show:
+* ``In-person online point-of-sale with inventory`` showing:
- * Orders
+ * ``Orders``, but exclude ``+``-button for creating new orders manually,
+ that's already a power-user feature.
- * But exclude "+" button for creating new orders manually,
- that's already a power-user feature.
+ * ``Inventory``
- * Inventory + Categories (once supported by templates!)
+ * ``Categories``
- * Templates
+ * ``Access tokens``
- * But exclude OTP devices, again, HW doesn't exist yet,
- and only useful for power-users.
+ * ``KYC status`` (if action required)
- * KYC status (if action required)
- * Bank accounts
- * Settings
- * Password
- * Logout
+ * ``Bank accounts``
-* Attended in-person online point-of-sale with inventory (Taler PoS-App)
+ * ``Settings``
- * Only show:
+ * ``Logout``
- * Orders
+* ``Digital publishing`` showing:
- * But exclude "+" button for creating new orders manually,
- that's already a power-user feature.
+ * ``Orders``, but exclude ``+``- button for creating new orders manually,
+ that's already a power-user feature.
- * Inventory + Categories
- * Access tokens
+ * ``Subscriptions and Discounts`` (only after v1.6)
- * KYC status (if action required)
- * Bank accounts
- * Settings
- * Password
- * Logout
+ * ``Access tokens``
-* Digital publishing (Turnstile, etc.):
+ * ``KYC status`` (if action required)
- * Only show:
+ * ``Bank accounts``
- * Orders
+ * ``Settings``
- * But exclude "+" button for creating new orders manually,
- that's already a power-user feature.
+ * ``Logout``
- * Subscriptions and discount tokens (after v1.6)
+* ``E-commerce site`` showing:
- * Access tokens
- * KYC status (if action required)
- * Bank accounts
- * Settings
- * Password
- * Logout
+ * ``Orders``, but exclude ``+``-button for creating new orders manually,
+ that's already a power-user feature.
-* E-commerce site (DrupalCommerce, etc.):
+ * ``Subscriptions and Discounts`` (only after v1.6)
- * Only show:
+ * ``Webhooks``
- * Orders
+ * ``Access tokens``
- * But exclude "+" button for creating new orders manually,
- that's already a power-user feature.
+ * ``KYC status`` (if action required)
- * Subscriptions and discount tokens (after v1.6)
+ * ``Bank accounts``
- * Webhooks
- * Access tokens
+ * ``Settings``
- * KYC status (if action required)
- * Bank accounts
- * Settings
- * Password
- * Logout
+ * ``Logout``
Proposed Solution (Iteration 2)
@@ -194,11 +187,12 @@ Proposed Solution (Iteration 2)
Simplication of Bank Account Settings
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-Currently we have three screens involving the bank account: "Bank account"
-(under configuration), "KYC Status" and "Wire transfers".
+Currently we have three screens involving the bank account:
+``Bank accounts`` (under configuration),
+``KYC Status`` and ``Wire transfers``.
-Since all of the activities done on this screen are related to the bank account,
-we can simplify it into one "Bank account" page.
+Since all of the activities done on this screen are related to the bank
+account, we can simplify it into one ``Bank accounts`` page.
.. note::
@@ -215,22 +209,25 @@ The wire transfers can be shown by clicking on the details page of a bank accoun
.. note::
This feature needs more testing, I think we should only show
- it in "show everyting" and/or "developer" modes for now.
+ it in ``Developer`` mode for now!
-The KYC status can also be shown there for every bank account.
+The KYC status can also be shown in the table of the bank accounts.
If KYC is required for a bank account, we can both highlight the bank account
-*and* also add a "KYC required" highlighted menu item that directly goes to the
-KYC status of the bank account that requires action.
+*and* also add a ``KYC required`` highlighted menu item that directly goes to
+the KYC status of a bank account that requires action.
Simplication of OTP devices
^^^^^^^^^^^^^^^^^^^^^^^^^^^
-OTP devices are only used for templates. They are not used for logins etc., which might make it confusing to always show them.
+``OTP devices`` are only used in combination with templates. They are not
+used for logins etc., which might make it confusing to always show them.
As a simplification, we could make the OTP devices *only* available via the
-"Templates" screen.
+``Templates`` screen. So the ``Templates`` screen would basically have two
+tables (and ``+``-buttons), one for ``Templates`` and a second below
+for ``OTP devices``.
Settings Structure
@@ -238,7 +235,7 @@ Settings Structure
Currently we have:
-* Settings: Contains five different types of settings:
+* ``Settings``: Contains five different types of settings:
* payment-technical settings: transaction fee, payment delay default
* contact information shown to the user
@@ -248,22 +245,28 @@ Currently we have:
* Interface: Contains user interface settings.
* Password: Change password
-We also might want to separate the phone number and email shown to the user and
-the one used for authentication. By default, they can be the same.
+We should also separate the phone number and email shown to the user and
+the one used for 2FA.
Suggested restructuring:
-* Settings
+* ``Settings`` gets sub-menus:
+
+ * ``Personalization`` (was: Interface, only UI settings, *maybe* link to other settings)
- * User Interface (only UI settings, *maybe* link to other settings)
- * Profile (Contact settings as seen by the wallet users via contract terms)
+ * ``Payment options`` (was: Settings, with Taler-specific options, like default payment, refund and wire delays and STEFAN option on payment fees
- * We should add e-mail and phone number under the merchant "address"
+ * ``Public profile`` (Contact settings as seen by the wallet users via contract terms)
+
+ * We should add e-mail and phone number under the merchant ``address``
in the contract terms (after all, they are contact addresses for the
merchant). Many advantages, starting with no change required in the
backend.
- * Security (both password and 2FA-related fields)
+ * ``Security`` (both password and 2FA-related fields)
+
+ * This will include the phone number and e-mail address used for 2FA
+
Definition of Done
==================
@@ -285,9 +288,4 @@ Discussion / Q&A
* Can the be changed while being logged in?
- * Yes, under "Personalization", just like the language and date format.
-
-* Do we show access tokens under "Simple Shop"?
-
- * No, as we also don't show the inventory,
- so it doesn't make sense to show access tokens.
+ * Yes, under ``Personalization``, just like the language and date format.