diff options
Diffstat (limited to 'design-documents/017-backoffice-inventory-management.rst')
-rw-r--r-- | design-documents/017-backoffice-inventory-management.rst | 129 |
1 files changed, 129 insertions, 0 deletions
diff --git a/design-documents/017-backoffice-inventory-management.rst b/design-documents/017-backoffice-inventory-management.rst new file mode 100644 index 00000000..e8c1a333 --- /dev/null +++ b/design-documents/017-backoffice-inventory-management.rst @@ -0,0 +1,129 @@ +Design Doc 017: Backoffice Inventory Management +############################################### + +Summary +======= + +This document describe the complete list features for inventory management and +how will be shown. + +Motivation +========== + +User will use the backoffice to manage their inventory, prices and update stock. + +Requirements +============ + +Access all information provided from the Merchant Backend API in a +understandable and accessible way + +User should use the backoffice to manage inventory by: + +* creating new products +* updating the products information +* inspecting inventory list +* deleting products from the inventory list + +Proposed Solution +================= + +Inspecting inventory +-------------------- + +.. image:: ../backoffice-product-list.svg + :width: 800 + +Listing the product will shown this columns: + +* image +* description +* sell price +* total taxes +* profit (price - taxes) +* stock left (with next_restock in days if present) +* stock sold + +Actions will be + +* modify +* delete: with a confirm popup, it may fail if have some locked + +Create and Update Product form +------------------------------ + +Creating without stock +********************** + +.. image:: ../backoffice-product-create.with-stock.svg + :width: 800 + +Creating with defined stock +*************************** + +.. image:: ../backoffice-product-create.without-stock.svg + :width: 800 + +Updating +*************************** + +.. image:: ../backoffice-product-update.svg + :width: 800 + +Update product will use the same form except for the ``product_id`` + +* product_id: BACKOFFICE_URL + id +* description: split in two fields, concatenated with a line separator + + * name: required, one line + * extra: optional, free text area + +* description localized: list with + + * lang: dropdown list with supported lang + custom + * description: text area + +* unit: string +* price: amount +* image: image box that allows upload when clicked +* taxes: list with + + * name: string + * value: amount + +* Stock: button that opens more fields for stock control + + * initial stock: number + * address: first collapsed, then field for Location + * next_restock: date + * cancel: button to set the stock to infinity, closing the section + + +Alternatives +============ + +* price and stock columns in the list can be merged into a more complex column + with the same information + +* rows in the table can be expandable when clicked to get access to some common + actions like increase stock or change price + +.. image:: ../backoffice-product-list.actions.svg + :width: 800 + +* detail page was intentionally left out since all information can be access + from the update page + +Q&A +=== + +* can we add the quantity locked in the product description? so we can add it + to the inventory list to reflect the current activity. + +* can we allow add extra data like order has in contractTerm?, this could be + useful for frontend apps. example of usage: country/state to where the product + is sold since taxes may vary + + + + |