@startuml
skinparam nodesep 10
skinparam ranksep 1
[*] -> Registered
state Attributes {
state Broken : cannot turn on
state Owners
state Usufructuarees
state Reservees
state "Physical\nPossessor"
state "Waste\n\Product"
state problems : List of current events \nwith Warn/Error
state privacy : Set of\ncurrent erasures
state working : List of current events\naffecting working
}
state Physical {
Registered --> Preparing : ToPrepare
Registered --> ToBeRepaired : ToRepair
ToBeRepaired --> Repaired : Repair
Repaired -> Preparing : ToPrepare
Preparing --> Prepared : Prepare
Prepared --> ReadyToBeUsed : ReadyToUse
ReadyToBeUsed --> InUse : Live
InUse -> InUse : Live
state DisposeWaste
state Recover
state Trading {
Registered --> Reserved : Reserve
Registered --> Sold : Sell
Reserved -> Sold : Sell
Reserved --> Cancelled : Cancel
Sold --> Cancelled : Cancel
Sold --> Payed : Pay
Registered --> ToBeDisposed : ToDisposeProduct
ToBeDisposed --> ProductDisposed : DisposeProduct
Registered --> Donated: Donate
Registered --> Renting: Rent
Donated --> Cancelled : Cancel
Renting --> Cancelled : Cancel
@enduml