# Auction functionality
###### tags: `user_role`
## Auction structure
* Buyer can make a bid
* Auction finished once time of auction finished
* Each participant need to make small deposit to enter auction
* All participants receive the notification if
* Someone make biggest bid
* Auction finished
* Participant win the auction
* Auction cancelled
* Participant loose the auction
* All managers and admins receive the notification if
* Auction started
* Auction finished
* Result of auction
* Auction cancelled
* Auction owner can edit auction
* To edit auction, the auction should be cancelled first
* To create auction, need to create cpecial new type of product
* Buy now product can not be changed to auction
* No one can see current actual bid of another user, everyone see next minimum bid.
* Once auction was won by user, the user will be immediately charged for full price of auction except of minimum deposit that user was charged once he enter auction.
* Each user who loose the auction shpuld be refunded with minimum deposit amount.
* The minimum deposit calculated automatically as % from first minimum bid.
* The % of deposit can be set by admin for whole system