forked from CGM_Public/pretix_original
35 lines
1.2 KiB
Plaintext
35 lines
1.2 KiB
Plaintext
@startuml
|
|
|
|
participant User
|
|
collections "OrderPayment\nOrderRefund" as P
|
|
collections "Order\nOrderPosition" as O
|
|
collections "Invoice\nInvoiceLine" as I
|
|
|
|
User -> O: Order placed (€100)
|
|
rnote over O #6DD96D: Order A1B2C\nstatus = **n**\ntotal = €100
|
|
O -> P: Payment created
|
|
O -> I: Invoice created\n(can also happen later)
|
|
rnote over I #6DD96D: Invoice 00001\n€100
|
|
rnote over P #6DD96D: OrderPayment A1B2C-P-1\nstate = **created**
|
|
P -> User: Payment details (web, email)
|
|
User -> P: Payment performed
|
|
rnote over P #EFF46B: OrderPayment A1B2C-P-1\nstate = **confirmed**
|
|
P -> O: Order marked as paid
|
|
rnote over O #EFF46B: Order A1B2C\nstatus = **p**\ntotal = €100
|
|
User -> O: Data change (e.g. invoice address)
|
|
O -> I: Invoice reissued
|
|
rnote over I #6DD96D: Invoice 00002\n€-100
|
|
rnote over I #6DD96D: Invoice 00003\n€100
|
|
rnote over O #EFF46B: Order A1B2C\nstatus = **p**\ntotal = €100
|
|
User -> O: Order canceled
|
|
rnote over O #EFF46B: Order A1B2C\nstatus = **c**
|
|
O -> I: Invoice canceled
|
|
rnote over I #6DD96D: Invoice 00004\n€-100
|
|
O -> P: Refund started
|
|
rnote over P #6DD96D: OrderRefund\nA1B2C-R-1\nstate = **created**
|
|
P -> User: Money sent
|
|
rnote over P #EFF46B: OrderRefund\nA1B2C-R-1\nstate = **done**
|
|
|
|
@enduml
|
|
|