How does booking actually work across such different event types?+
One engine handles all of it. Every listing has a resource with a capacity and, optionally, a fixed time-slot grid. A wedding venue is a resource with capacity 1 and no slot grid (book the whole day). A birthday party room is capacity 1 with fixed 3-hour blocks. A corporate meeting room is capacity 3 (several identical rooms) with hourly slots. The same conflict check — remaining = capacity minus what's already booked for that time — covers every case.
Why did my booking say 'pending approval' instead of confirming right away?+
Some vendors (wedding halls, by default) require manual approval before a booking is final. Your payment is authorized but not captured until they respond — you'll see it reflected in My Bookings either way.
What happens if I try to book a slot someone just took?+
The availability check re-runs inside the same transaction that creates the booking, so a race between two people booking the last spot is caught server-side, not just in the UI. You'll get an explicit "only 0 spots left" message rather than a silent failure.
How do refunds work if I cancel?+
Each vendor sets their own cancellation tiers (e.g. 100% refund if you cancel 48+ hours out, 0% inside 24 hours). You'll see the exact tiers on the listing page before you book, and the refund amount when you cancel.
I'm a vendor — why can't I see pricing/policy editing here?+
This demo's vendor tools cover the booking-management side (approve/decline, block dates). Full pricing and policy editing is scoped but not built — see docs/16-admin-vendor-dashboard.md for the intended design.
Is any of this real? Are payments actually charged?+
No — this is a planning/demo build. "Payment" is an instant mock confirmation, no card is ever collected, and no email/SMS is actually sent. See the webapp README for the full list of what's simulated vs. real.