Skip to content

MOP 4.3 — Temporary Vendor Permits (Food Trucks & Flea Market Stalls)

Audience: Vendor, Event Committee, society_admin Outcome: One-day or multi-day permits are issued for vendors to operate inside the society for a specific event (flea market, food truck festival, sports day food court, etc.) — with QR-coded entry passes validated by security guards.

1. End-to-end flow

Vendor (mobile)
  └─ POST /api/applications  (apply to event)
Event Committee (committee dashboard)
  ├─ Review applications
  └─ Approve / Reject  (can_view_vendor_applications must be true)
Society admin (admin dashboard)
  └─ Issues permit + QR (one per vendor per stall)
Vendor on event day
  ├─ Shows QR at gate
  └─ Security guard scans  (pass_scans table tracks every entry/exit)
Settlement
  └─ Society admin records: footfall, fees collected, security deposit refunded

2. Stall sizing & charges

Defined per event (MOP 3.1). Common items: - Stall space — calculated from events.stall_sizes - Security guards — ₹1,500 per guard (configurable in SOP) - Electrical points — common-area free, extra points charged - Cleaning — pre + post-event - Misc spot charges — at SPOC discretion

These are reflected as a checklist in the Event Wizard Step 2 (logistics) and consolidated into the committee finance ledger.

3. APIs touched

Method Endpoint
POST /api/applications (vendor applies)
GET /api/committee/applications
PUT /api/committee/applications/{id}/decision?status=approved\|rejected
POST /api/admin/passes (generates QR)
POST /api/security-guard/scan (QR validation)
GET /api/admin/passes/scans?event_id=...
POST /api/admin/events/{id}/settle

4. Permit / QR data model

event_passes
  id, event_id, vendor_id, agency_id?, stall_no,
  qr_token (unique, signed),
  valid_from, valid_to, max_scans, scan_count,
  issued_by, issued_at, status
pass_scans
  id, pass_id, guard_id, scanned_at, direction (in|out), location_lat, location_lng

5. Edge cases & FAQ

  • Lost QR → Society admin re-issues; old QR is revoked.
  • Pass used outside its time window → backend returns expired, guard sees a red banner.
  • Multiple stalls / vendor → multiple event_passes rows; each pass is independent.
  • Refund of security deposit is recorded as a finance entry by the committee treasurer (MOP 3.3).
  • MOP 3.1 — Event Lifecycle
  • MOP 4.1 — Vendor Onboarding
  • MOP 2.1 — Security Guards (the scanners)
  • MOP 2.5 — Committee Approvals (Step 5 SPOC sign-off ≈ pass issuance trigger)