@startuml
!include ..\..\.c4s\C4_Context.puml

AddElementTag("c4interflow:lifecycle:new", $bgColor=green, $fontColor=#ffffff, $borderColor=green, $shadowing="False")
AddElementTag("c4interflow:lifecycle:changed", $bgColor=orange, $fontColor=#ffffff, $borderColor=orange, $shadowing="False")
AddElementTag("c4interflow:lifecycle:removed", $bgColor=red, $fontColor=#ffffff, $borderColor=red, $shadowing="False")

AddRelTag("c4interflow:lifecycle:new", $textColor=green, $lineColor=green)
AddRelTag("c4interflow:lifecycle:changed", $textColor=orange, $lineColor=orange)
AddRelTag("c4interflow:lifecycle:removed", $textColor=red, $lineColor=red)

SHOW_PERSON_PORTRAIT()
LAYOUT_TOP_DOWN()

skinparam linetype polyline

title ECommercePlatform - CreateProduct - C4 - Context level

System(ECommercePlatform.CreateProduct.BuyingAndMerchandising.SoftwareSystems.BuyingAndMerchandisingApp, "Buying And Merchandising App", "")
System(ECommercePlatform.CreateProduct.BuyingAndMerchandising.SoftwareSystems.BuyingService, "Buying Service", "")
System(ECommercePlatform.CreateProduct.PriceManagement.SoftwareSystems.PricingService, "Pricing Service", "")
System(ECommercePlatform.CreateProduct.ProductInformationManagement.SoftwareSystems.PIMApp, "PIM App", "")
System(ECommercePlatform.CreateProduct.ProductInformationManagement.SoftwareSystems.ProductService, "Product Service", "")
System(ECommercePlatform.Deliver.Fulfilment.SoftwareSystems.WMS, "WMS", "")

Rel(ECommercePlatform.CreateProduct.BuyingAndMerchandising.SoftwareSystems.BuyingAndMerchandisingApp, ECommercePlatform.CreateProduct.BuyingAndMerchandising.SoftwareSystems.BuyingService, "Get Purchase Orders\nCreate Purchase Order\nUpdate Purchase Order\nDelete Purchase Order")
Rel(ECommercePlatform.CreateProduct.BuyingAndMerchandising.SoftwareSystems.BuyingAndMerchandisingApp, ECommercePlatform.CreateProduct.PriceManagement.SoftwareSystems.PricingService, "Get Product Prices\nUpdate Product Prices")
Rel(ECommercePlatform.CreateProduct.ProductInformationManagement.SoftwareSystems.PIMApp, ECommercePlatform.CreateProduct.ProductInformationManagement.SoftwareSystems.ProductService, "Get Products\nUpdate Product\nDelete Product")
Rel(ECommercePlatform.CreateProduct.BuyingAndMerchandising.SoftwareSystems.BuyingService, ECommercePlatform.Deliver.Fulfilment.SoftwareSystems.WMS, "Create Purchase Order\nUpdate Purchase Order\nDelete Purchase Order")
Rel(ECommercePlatform.CreateProduct.ProductInformationManagement.SoftwareSystems.ProductService, ECommercePlatform.CreateProduct.BuyingAndMerchandising.SoftwareSystems.BuyingService, "Receive Purchase Order Created Event\nReceive Purchase Order Updated Event")
Rel(ECommercePlatform.CreateProduct.PriceManagement.SoftwareSystems.PricingService, ECommercePlatform.CreateProduct.BuyingAndMerchandising.SoftwareSystems.BuyingService, "Receive Purchase Order Created Event\nReceive Purchase Order Updated Event")


SHOW_LEGEND()
@enduml
