@startuml
!include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Context.puml
' uncomment the following line and comment the first to use locally
' !include C4_Context.puml
 
LAYOUT_WITH_LEGEND()
 
title System Context diagram for Online clothing store (OCS)
 
Person(customer, "Сustomer", "A customer making purchases in the online clothing store.")
Person(content_manager, "Content manager", "An employee who forms the content of the site.")
Person(сall_center, "Call center operator", "An employee of the Call center who works with customer requests.")
Person(support, "Support staff member", "An employee who deals with user requests to work with the system.")
Person(administrator, "Administrator", "An employee who manages the role model and participates in incidents analysis.")
Person(order_picker, "Order picker", "An employee who selects a warehouse items and packages them for delivery.")
Person_Ext(sales_manager, "Sales manager", "An employee who works to increase sales and revenue.")

System(store_system, "Online clothing store", "Allows customers to make online orders for clothing purchases with online payment and delivery options.")
 
System_Ext(notification_system, "Omni notification System", "Provides sending notifications through different channels.")
System_Ext(payment_system, "Payment System", "Allows customers to make online payments.")
System_Ext(delivery_system, "Delivery service System", "Allows customers to receive information about the delivery status of an order.")
System_Ext(WMS, "Warehouse Management System", "Stores information about the remaining items.")
System_Ext(accounting_system, "Accounting System", "Manages financial information.")
System_Ext(BI, "BI System", "Provides analytics for decision support.")

Rel(customer, store_system, "Buys clothes using")
Rel(support, store_system, "Browses the site using")
Rel(administrator, store_system, "Configures permissions using")
Rel(сall_center, store_system, "Processes customer requests using")
Rel(content_manager, store_system, "Manages the content of the site using")
Rel_Back(customer, notification_system, "Sends notifications: push, e-mail, sms")
Rel_Neighbor(store_system, notification_system, "Sends notifications using")
Rel(store_system, payment_system, "Provides online payments using")
Rel(customer, payment_system, "Pays for order using")
Rel(order_picker, store_system, "Views orders using")
Rel(store_system, delivery_system, "Provides delivery using")
Rel(store_system, WMS, "Gets and modified information about the remaining items using")
Rel(store_system, BI, "Provides information for analytics to")
Rel(sales_manager, BI, "Analyzes using information from ")
Rel(store_system, accounting_system, "Sends information for accounting to")

@enduml
