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

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 (vendors tool key)
  • Event: vendors_enabled=True
  • Wizard step vendors completed
  • SMS optional: sms_reminders_enabled + provider for vendor SMS (vendors/sms.py logs when unconfigured)

Step-by-step — Configure vendor event

  1. Enable Vendors on event.
  2. Wizard: stall fees, add-ons, load-in window, deposit rules, commission default.
  3. Set vendor_require_verified_documents if compliance needed.
  4. Set application deadline.

Step-by-step — Vendor application lifecycle

  1. Vendor profile → apply to opportunity.
  2. Organizer reviews (/applications/<pk>/review/).
  3. Vendor uploads documents if required.
  4. Payment/deposit via /applications/<pk>/pay/.
  5. 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

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