summaryrefslogtreecommitdiff
path: root/design-documents/016-backoffice-order-managment.rst
blob: a8e868783f696fb8bf9f0cf8c1c492d5a34e7ef8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
Design Doc 015: Merchant backoffice Routing
###########################################

Summary
=======

This document describe the complete list features for orders management and how will be shown.

Motivation
==========

User will use the backoffice to manage their orders and verify the status of the current and past orders.

Listing orders
==============

.. image:: ../backoffice-order-list.png
  :width: 800

Will show the SearchBar component that allow multiple filter.
Filter will allow paid, refounded, wired status and date.
4 tabs will be show for a easy access to common filter

  * paid (default)
  * refounded
  * not wired
  * all (empty filter box)

Columns for the order listings will be:

  * date in 'dd/MM/yyyy HH:mm:ss' format
  * amount: value and currency
  * summary

Actions per row:

  * refound: pop up with amount and reason (select box and text)
  * copy payment id
  * send receipt (pop up with email) 
  * view details

An export button will allow the user to download the result page in CSV format.

An infinity scroll is propose instead of a pagination, reasons:
 * users usually does not jump from one page to anoter using random access
 * if the user want to search, is going to limit the result using filters
 * no need to go back after loading more result
 * it could be triggered by scrollin, with buttons (or both)


Create orders
=============

Form with 4 fields:

  * amount
  * summary
  * time until refound ( dropdown: 1week, 2weeks, custom )
  * description
  * payment method

Success page
------------

Payment successful
We've processed your charge for $10.00.

actions: 
  * create another payment: go to the create payment page again
  * view details: show details of the payment (see page)
  * send receipt: pop up asking for email

Order details
=============

Status text should be set with a backgournd color for easier recognition when indicated:

(paid: green, claimed: light-green, unpaid: grey, refounded: red)
  * paid: green
  * claimed: light-green
  * unpaid: grey
  * refounded: red

Header
------

This is a resume of most important information

  * big status with color 
  * date
  * total
    * deposit_total (if not refounded)
    * refund_amount (if status is refounded)
    * deposit_total - refound amount (if refounded partially)
  * order_status_url
  * taler_pay_uri (if unpaid)
  * actions: refound (if not refounded), add note, copy order_status_url

Timeline of events
------------------

Event of status changed over time describe vertically. 
Sorted from newest to oldest
On line per status updated, with time and short description.

Info taken from:
  * refund_details
  * wire_reports
  * wire_details
  * contractTerm.extra for custom notes ({date: timestamp, description: string})

Do we have the date-time of when the order goes from these states?
  * claimed => paid (maybe last wire_details.execution_time with confirmed = true )
  * unpaid => claimed (maybe contractTerm.timestamp)

Payment details
---------------

  * summary
  * amount (deposit_total)
  * fee 
  * refund_amount (if status is refounded)
  * net (amount - fee - refound)
  * current status

Contract Terms
--------------

collapsed as default
disabled if unpaid

should show merchant information?

  * summary
  * amount
  * fulfillment_url, if present
  * max fee
  * max fire fee
  * wire_fee_amortization
  * list of (exchange | auditor) name and url
  * products table: list of products, one row per product
    * description
    * quantity
    * total price
    * total tax
    * sum at the bottom
  * horizontal timeline of importants dates in the contract
    * start at contract creation time
    * show current date
    * pay_deadline
    * wire_transfer_deadline
    * refund_deadline
    * delivery_date (immediately if null)
    * auto_refund


  
Exchange responses
------------------

collapsed as default