Purchase within budget
With €100 and no stock, buy 10 units costing €2 each. Cash becomes €80 and stock becomes 10. An additional €82 purchase is rejected without changing either balance.
A small business with decisions that add up.
A player wants to try running a small campus business and see the consequences of their decisions. We need a short simulation where prices affect demand, stock limits sales, and the financial results are understandable.
Deliver one business with at least three products and a five-day trading run. Begin with €100 cash and zero stock. Give each product a fixed unit purchase cost and a fixed reference selling price, both positive. Choose the business theme and catalogue; a café, snack stand, or merchandise stall would work.
The player starts a run, buys stock, sets selling prices, and opens for one day. The app reports what sold and updates cash and stock. The player repeats these decisions until day five, then sees the final result. They can leave and resume between trading days.
Show the current day, available cash, stock by product, and progress through the five-day run. Ask for confirmation before replacing a run.
Let the player buy a positive whole-number quantity of a product. Show the total cost, reject unaffordable purchases, and update cash and stock together.
Let the player set a positive selling price for each product before trading. Show the demand rule so players can make informed decisions.
Run one trading day using the current stock and prices. Show units sold, revenue, cost of goods sold, and gross profit by product and in total.
Keep a history of completed days. After day five, show final cash, remaining stock at purchase cost, and the overall gain or loss. Further buying and trading must stop.
For each product per day, demand is 10 units when its selling price is at or below its reference price, 5 units when above the reference price but no more than twice it, and 0 units above twice it. There is no randomness in the first release.
Units sold equal the smaller of demand and available stock. Unsold stock carries forward. There are no running costs, spoilage, borrowing, or stock returns in this release.
Use euro amounts with at most two decimal places. Purchases reduce cash by quantity × unit cost. Trading increases cash by units sold × selling price. Cash and stock must never become negative.
Daily gross profit is revenue minus the purchase cost of the units sold. Overall gain or loss is final cash plus remaining stock at purchase cost minus the initial €100. Do not deduct stock purchases a second time from cash when calculating sales.
A completed day is recorded once. Refreshing or reopening the app must not repeat its sales. Each explicit trade action advances exactly one day; after day five the run is complete.
Keep the product catalogue, costs, and reference prices. Save the run’s cash, stock, chosen selling prices, current day, and daily results. Save accepted purchases and price changes immediately, and save each day’s results together with its updated balances.
With €100 and no stock, buy 10 units costing €2 each. Cash becomes €80 and stock becomes 10. An additional €82 purchase is rejected without changing either balance.
For a reference price of €4, prices of €4, €4.01, €8, and €8.01 produce demand of 10, 5, 5, and 0 respectively. A zero or negative selling price is rejected.
With €80 cash, 10 units costing €2 each, and a €4 price at the reference price, trade once with other products out of stock. Revenue is €40, cost of goods sold €20, gross profit €20, cash €120, and stock zero.
With only 3 units and demand of 10, sell 3 units. With zero stock, sell zero. Neither case produces negative stock.
Complete a day, stop and reopen the app, and verify cash, stock, prices, and history are unchanged. The completed day has only one record.
Finish day five and verify buying and trading are disabled. Confirming a new run restores €100, zero stock, day one, and empty history; cancelling preserves the previous run.
Random events, upgrades, competing businesses, and more complex demand models belong after the first release works.
Accepted changes must survive restarting the app. Rejected actions leave existing data unchanged. The core experience works with supplied content and without a paid service or live external integration.
Read the shared overview for course expectations. These scenarios are product acceptance checks, not the exam question template.