Skip to content

MOP 4.2 — Service Marketplace: Booking Flow & Slot Management

Audience: Resident (mobile), society_admin Outcome: 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 societystatus = inactive; existing bookings honored, no new slots generated.
  • Reviews — residents can review only after a booking is completed.
  • MOP 4.1 — Vendor Onboarding
  • MOP 4.3 — Temporary Permits (food trucks have their own permit flow)