Appearance
Coins
Overview
Coins are the platform's internal credit. Every user account holds a coin balance. Coins are spent when performing certain actions (creating a showroom or a chain). Users receive an initial balance when they register; they can purchase more at any time through available recharge packages. Every coin movement — spend or purchase — is recorded as a transaction.
Fields
Coin balance (on the user account)
| Field | What it represents |
|---|---|
| Coins | The user's current coin balance |
Recharge package
| Field | What it represents |
|---|---|
| Quantity | Number of coins the package grants |
| Price | Cost of the package in real currency |
| SKU | Product identifier used by the payment provider |
| Active | Whether this package is currently available for purchase |
Transaction
| Field | What it represents |
|---|---|
| Amount | Number of coins transferred |
| Type | The action that triggered the transaction (e.g. showroom creation, chain creation, coin purchase) |
| Credit | Whether this is an incoming credit (purchase) or an outgoing debit (spend) |
| Price | The real-currency value, if applicable (used for purchase transactions) |
Relations
Business Rules
- When a user registers, they receive an initial coin balance determined by their assigned plan — see Plans.
- Creating a showroom costs coins. If the user's balance is insufficient, the showroom is not created and the user is notified — see Notifications.
- Creating a chain costs coins. If the user's balance is insufficient, the chain is not created and the user is notified — see Notifications.
- Users can purchase additional coins by selecting an active recharge package and completing payment.
- Every coin movement is recorded as a transaction, whether it is a debit (spending coins on an action) or a credit (purchasing coins).
- Transaction types include: showroom creation, chain creation, and coin purchase. Other types exist in the system for future features.
Constraints
- A coin balance cannot fall below zero; actions that would require more coins than the user holds are blocked.