MOP 4.2 — Service Marketplace: Booking Flow & Slot Management¶
Audience: Resident (mobile),
society_adminOutcome: Verified vendors offer recurring services (laundry, grocery, handyman …) inside a society. Residents can browse, book a slot, pay, and rate.
1. Concepts¶
service_categories # taxonomy (Cleaning, Tutoring, Salon, …)
vendor_services # a service offered by a vendor (price, slot rules)
service_slots # generated bookable slots
service_bookings # resident bookings + payment status
2. Vendor side (mobile)¶
Vendor → Services → + Add Service. Fields:
- category_id, title, description
- price, duration_minutes
- availability (days-of-week + windows)
- max_concurrent_slots
- service_area_radius_km (uses vendor_profiles.geo_point)
Backend nightly job pre-creates service_slots for the next N days based
on availability rules.
3. Resident side (mobile)¶
Services tab → category cards → service detail → pick slot → pay (Razorpay) → booking confirmed → push notif + calendar entry.
4. Society admin oversight¶
Sidebar → Vendors → Services. Filter by status.
Can:
- Disable a service (status = paused).
- Refund a booking on dispute.
- View booking heatmap to plan capacity.
5. APIs touched¶
| Method | Endpoint |
|---|---|
| GET | /api/services/categories |
| GET / POST | /api/vendor/services |
| POST | /api/vendor/services/{id}/availability |
| GET | /api/services/{id}/slots?from=&to= |
| POST | /api/services/{id}/book?slot_id=... |
| POST | /api/services/{id}/bookings/{booking_id}/cancel |
| GET / PUT | /api/admin/vendor-services |
6. Edge cases & FAQ¶
- Vendor cancels a slot → all booked residents get a Razorpay refund
- push notif.
- Vendor leaves a society →
status = inactive; existing bookings honored, no new slots generated. - Reviews — residents can review only after a booking is
completed.
7. Related MOPs¶
- MOP 4.1 — Vendor Onboarding
- MOP 4.3 — Temporary Permits (food trucks have their own permit flow)