diff options
author | Sebastian <sebasjm@gmail.com> | 2021-04-05 15:21:35 -0300 |
---|---|---|
committer | Sebastian <sebasjm@gmail.com> | 2021-04-05 15:22:02 -0300 |
commit | 091815423d7a852000589911f543920297eb5c6f (patch) | |
tree | 4c69a5ae61037c64c3daf5cde4658d1a6565d3d4 /design-documents/016-backoffice-order-management.rst | |
parent | 383e625a857dc1067bf93d5248e37290384eeb74 (diff) | |
download | docs-091815423d7a852000589911f543920297eb5c6f.tar.gz docs-091815423d7a852000589911f543920297eb5c6f.tar.bz2 docs-091815423d7a852000589911f543920297eb5c6f.zip |
order creation
Diffstat (limited to 'design-documents/016-backoffice-order-management.rst')
-rw-r--r-- | design-documents/016-backoffice-order-management.rst | 67 |
1 files changed, 63 insertions, 4 deletions
diff --git a/design-documents/016-backoffice-order-management.rst b/design-documents/016-backoffice-order-management.rst index 61f17d13..d53a23a9 100644 --- a/design-documents/016-backoffice-order-management.rst +++ b/design-documents/016-backoffice-order-management.rst @@ -67,10 +67,49 @@ An infinity scroll is propose instead of a pagination, reasons: Create orders ------------- -Form with 2 fields from MinimalOrderDetail: -* amount -* summary + +* ``product``: optional, collapsed by default + + * ``name``: search box to select product by description field. if not found it + will be a 'create new' option leading to the create product without loosing + context + * ``quantity``: mandatory + * ``price``: taken from the product, but it can be overridden. + * ``add button``: will add the product to the list and calculate the total price + + +* ``amount``: default to the total price of product, but can be overridden. If + overridden, show a message with the discount in % + +* ``summary``: order description + +* ``fulfillment url``: url where the user will land after buying the product + +* ``payment``: all values should have default from instance configuration + + * ``exchanges``: default value from the instance, new exchanges will be added + using the url and public key will be taken from querying the url + + * ``auditors``: default value from the instance, new auditors will be added using + the url and name/pub_key will be taken from querying the url + + * ``wire method``: it should select one of supported from exchanges + * ``refund deadline``: calendar type of input + * ``pay deadline``: calendar type of input + * ``auto refund deadline``: calendar type of input + * ``max fee``: default value from the instance + + * ``max wire fee``: default value from the instance + + * ``wire_fee_amortization``: default value from the instance + +There were field not considered for this form, check Alternatives for more +information. + +.. image:: ../backoffice-order-create.svg + :width: 800 + Creation order success ********************** @@ -142,7 +181,7 @@ This section is not going to be shown if there is no error in the list show hint and error code * Exchange Error: connection with exchange failed, info taking from exchange_ec - and exhange_hc + and exchange_hc Payment details *************** @@ -276,3 +315,23 @@ Discussion / Q&A * claimed => paid (maybe last wire_details.execution_time with confirmed = true ) * unpaid => claimed (maybe contractTerm.timestamp) +* Refund button is being show if "not refunded" and "time < refund deadline". + should we consider partial refund? + +* Field left out in the order creation: + + * contractTerm.summary_i18n: it makes the UI complex + * contractTerm.order_id: should be created by the backend + * contractTerm.timestamp: defined by backend + * contractTerm.merchant_pub: filled by the backend + * contractTerm.merchant_base_url: filled by the backend + * contractTerm.h_wire: defined by the backend + * contractTerm.delivery_location: not used + * contractTerm.delivery_date: not used + * contractTerm.nonce: not used + * contractTerm.products[].description: defined by product_id + * contractTerm.products[].description_i18n: defined by product_id + * contractTerm.products[].unit: defined by product_id + * contractTerm.products[].image: defined by product_id + * contractTerm.products[].delivery_date: not used + * contractTerm.products[].taxes: defined by product_id |