@startuml actor User as u collections Cart as c database CartStorage as cs collections ProductService as p u -> c : POST /user//cart/\n\t- count activate c c -> p : GET /product/ activate p p -> c : \nResponse: 200 OK\n\t- name\n\t- price\n\t- sku deactivate p c -> c : validate product exists c -> cs : cart.AddItem() c -> u : Response: 200 OK deactivate c @enduml