Vendor Management¶
Overview¶
Vendor Management supports marketplace-style stall applications, document verification, deposits, Stripe payments, load-in QR passes, product catalogs, trading/settlement dashboards, and commission tracking.
Purpose¶
Operate fairs, festivals, and market events with vendor lifecycle from application through settlement.
Who should use it¶
- Festival organizers
- Market operators
- Vendors (
user_type=vendor) - Finance reviewing settlements
Benefits¶
- Stall size fee tiers + add-ons (power, water, equipment)
- Document verification gate
- Load-in scanning
- Post-event settlement and commission
Navigation path¶
| Action | Path |
|---|---|
| Vendors hub | /vendors/ |
| Opportunities | /vendors/opportunities/ |
| Apply | /vendors/opportunities/<pk>/<tag>/ |
| Event stalls | /vendors/events/<pk>/<tag>/stalls/ |
| Documents | /vendors/events/<pk>/<tag>/documents/ |
| Load-in | /vendors/events/<pk>/<tag>/loadin/ |
| Trading | /vendors/events/<pk>/<tag>/trading/ |
| Settlements | /vendors/events/<pk>/<tag>/settlements/ |
| Admin review | /vendors/admin/review/ |
Prerequisites¶
- Subscription: Operations Suite (
vendorstool key) - Event:
vendors_enabled=True - Wizard step
vendorscompleted - SMS optional:
sms_reminders_enabled+ provider for vendor SMS (vendors/sms.pylogs when unconfigured)
Step-by-step — Configure vendor event¶
- Enable Vendors on event.
- Wizard: stall fees, add-ons, load-in window, deposit rules, commission default.
- Set
vendor_require_verified_documentsif compliance needed. - Set application deadline.
Step-by-step — Vendor application lifecycle¶
- Vendor profile → apply to opportunity.
- Organizer reviews (
/applications/<pk>/review/). - Vendor uploads documents if required.
- Payment/deposit via
/applications/<pk>/pay/. - Stall setup → load-in QR → trading → settlement.
[SCREENSHOT: Vendor stall floor plan]
Field descriptions¶
| Event field | Description |
|---|---|
vendor_stall_fees |
small/medium/large/extra_large/custom |
vendor_addon_fees |
power, water, equipment |
vendor_deposit_required |
Boolean |
vendor_deposit_percent |
Default 50% |
vendor_commission_default |
Sales commission % |
vendor_load_in_* |
Door, start/end times, parking |
vendor_approval_type |
auto / organizer / admin |
Business rules¶
| Rule | Detail |
|---|---|
| Document gate | Approval blocked until verified when required |
| Deposit | Percent of total when enabled |
| Commission | Applied on organizer approval |
| Offline invoice | Manual payment recording supported |
| SMS | Requires sms_reminders_enabled; provider config |
Validation rules¶
- Application before deadline
- Document verify before approval (if flag on)
User permissions¶
| Role | Apply | Review | Settle |
|---|---|---|---|
| Vendor | ✅ | ❌ | View own |
| Host | ❌ | ✅ | ✅ |
| Staff | ❌ | ✅ admin | ✅ |
Workflow¶
flowchart LR
Apply --> Review --> Docs{Documents OK?}
Docs --> Pay --> Stall --> LoadIn --> Trading --> Settlement
Examples¶
Food festival: Medium stalls, power add-on, 50% deposit, load-in scan at 6am.
Best practices¶
- Publish load-in map in
vendor_parking_info - Verify insurance documents before approval
- Close trading dashboard after event for settlement
Tips¶
- Announcement blast:
/vendors/events/<pk>/<tag>/announcement/ - Product catalog per stall:
/applications/<pk>/products/
Common mistakes¶
| Mistake | Result | Fix |
|---|---|---|
| Skip document verify | Non-compliant vendors | Enable require flag |
| Wrong load-in times | Congestion | Update event fields |
FAQs¶
Are SMS reminders sent?
Only if sms_reminders_enabled and SMS provider configured; email is primary.
Troubleshooting¶
| Symptom | Cause | Fix |
|---|---|---|
| Can't approve | Documents pending | Verify uploads |
| Load-in scan fail | Wrong QR event | Match event pk/tag |
Related features¶
Screenshot placeholders¶
[SCREENSHOT: Vendor application review][SCREENSHOT: Load-in scan dashboard][SCREENSHOT: Settlement summary]
Administrator notes¶
- Admin review at
/vendors/admin/review/ - SMS logged to console without
SMS_PROVIDER
Developer/API notes¶
Load-in scan API: .../loadin/scan/api/
Models in vendors app.
See also: Events & Registration