@startuml
'https://plantuml.com/sequence-diagram

actor User
participant "Order service"
queue "Message broker"
participant "Billing service"
participant "Notification service"

title Создание заказа:
User -> "Order service": '/order/api/v1/create'
Activate "Order service"
note left
POST <b>/order</b>/api/v1/create
POST <b>/order</b>/api/v1/cancel
GET <b>/order</b>/api/v1/status
GET <b>/order</b>/api/v1/list
end note

"Order service" -> "Message broker": Заказ создан
Activate "Message broker"
"Message broker" --> "Billing service":
Activate "Billing service"
"Message broker" --> "Order service":
Deactivate "Message broker"
Deactivate "Order service"
note over "Billing service"
Снять деньги
end note

"Billing service" -> "Message broker": Деньги сняты
Deactivate "Billing service"
Activate "Message broker"
"Message broker" --> "Notification service":

Activate "Notification service"
note over "Notification service"
Отправить уведомление
end note

"Message broker" --> "Order service":
Deactivate "Message broker"
Activate "Order service"
note over "Order service"
Завершить заказ
end note

Deactivate "Notification service"
Deactivate "Order service"

@enduml