include
UserRegisterClientBrowse the shopEdit profileSave basketLogin
extend
ClientPay basketFill missing bank accountEdit profile
UserRegisterLoginClientEdit profilePay basket
UserSystemUserManagerregister(clientName,password)clientExist(clientName)alttrueClient name takenaltfalsesaveClient(clientName,password)clientclient
UserSystemUserManagerlogin(clientName,password)clientHasPassword(clientName,password)altfalseKOalttrueOK + session cookie
UserSystemUserManagerStoragechangeProfile(clientName,password,bankAccount)changeProfile(...):Clientupdate(...)...clientclient
ClientSystemBasketManagerFactureManagerStorageGAFAPayServicepay()getBasket()read(...)...basketperformTransaction(client.account, basket.total)altKOKOOKfactureFromBasket()create(...)...facturefacture