On-Demand Service Provider App Development -- 2

Job ID: 40073238

Budget: $10 – $30 CAD

1) Short Description (Elevator Pitch)

A mobile platform that connects customers with on-demand service providers (plumbers, electricians, towing, etc.). Results are sorted by proximity, hourly rate, and rating. A timer starts when both sides confirm arrival and stops at completion. The app charges a 5% commission on the total invoice. Future-ready for adding more service categories via the admin panel.

2) Roles

Customer

Provider (plumber, electrician, towing, etc.)

Admin

3) MVP Scope

Authentication (OTP via phone or email/password).

Provider profile (service type, hourly rate, documents, availability, location).

Customer request (address, description, optional photos).

Provider list sorted (nearest → highest rating → lowest price).

Request flow with status updates: accepted, en route, arrived, in progress, completed.

Dual confirmation for arrival and completion.

Automatic time tracking + billing.

Payments with automatic 5% commission deduction.

Ratings/reviews.

Push notifications.

Admin web dashboard to manage categories, providers, requests, commission, disputes.

4) User Flows
4.1 Customer

Create a service request with location and description.

See providers (distance, rating, hourly rate, ETA).

Select a provider → view estimated cost → confirm.

Track provider’s arrival in real time.

Confirm arrival → timer starts.

On completion, confirm invoice → make payment.

Leave a review.

4.2 Provider

Complete profile (documents, hourly rate, service area).

Receive nearby requests → accept.

Update status: en route → arrived (customer confirms) → timer starts.

End work → submit invoice (labor + optional materials).

See wallet, payouts, history, ratings.

4.3 Admin

Approve/reject providers.

Manage service categories, fees, commission.

Monitor requests, invoices, disputes.

Generate reports.

5) Business Rules

Commission: 5% (configurable).

Taxes: adjustable per country.

Cancellation rules:

Before acceptance → free.

After acceptance but before en route → fixed fee.

After arrival → minimum 1-hour charge (configurable).

Time tracking: starts only after dual confirmation of arrival.

Invoice: hourly rate × duration + materials.

Ranking default: nearest → rating → rate.

KYC verification required before provider account activation.

6) KPIs

Request acceptance rate.

Average arrival time vs ETA.

Completion rate without disputes.

Provider average rating.

Customer retention (30/60/90 days).

7) Main Screens

Onboarding.

Authentication (OTP).

Home (service categories, map).

Request form (description, photo upload).

Provider list + profile.

Live tracking (map + ETA).

Arrival/Start/Stop confirmations.

Invoice + payment.

Ratings.

Provider wallet & history.

Admin dashboard (web).

8) Simplified Data Model

Users

ProviderProfile

ServiceCategory

ServiceRequest

RequestAssignment

TimeLog

Invoice

Payout

Review

Dispute

9) Example APIs (REST)

POST /auth/otp

POST /requests / PATCH /requests/:id

GET /providers/nearby

POST /assignments/:id/accept

POST /assignments/:id/status

POST /invoices / PATCH /invoices/:id

POST /payments/charge

POST /reviews

POST /disputes

10) Location & ETA

GPS + Google Maps/Apple MapKit.

ETA from Maps API with traffic.

Location updates every 15–30s while en route.

11) Payments & Commission

Stripe Connect (or similar).

Customer pays via card / Apple Pay / Google Pay.

5% commission deducted automatically.

Net payout to provider wallet.

Provider can withdraw funds.

12) Notifications

Push notifications (FCM/APNs).

SMS fallback optional.

Events: new request, accepted, status change, payment, review, dispute.

13) Security & Compliance

Encrypted data storage and TLS.

KYC for providers.

Audit logs.

Terms of Service, Privacy Policy.

Dispute handling with photo/video evidence.

14) Edge Cases

No-show provider or customer.

Offline mode (sync when back online).

Disagreement on duration/materials.

Provider change request.

Disputes escalation.

15) Example Invoice Calculation

Labor: 1h 20m = 1.33h × $100 = $133

Materials = $25

Subtotal = $158

Tax 13% = $20.54

Total = $178.54

Commission (5% of subtotal) = $7.90

Provider net payout = $170.64

16) Acceptance Criteria

Timer only starts after both confirm arrival.

ETA updates every ≤30s.

No completion without invoice.

Customer can dispute within 24h.

Providers must pass verification before going live.

17) Tech Stack (suggested)

Mobile: Flutter or React Native.

Backend: Node.js (NestJS) or Python (Django/FastAPI).

DB: PostgreSQL + Redis.

Storage: AWS S3 or equivalent.

Payments: Stripe Connect.

Maps: Google Maps SDK.

Admin: React/Next.js.

18) Milestones

Authentication + provider profiles.

Service requests + provider matching.

Arrival confirmation + timer.

Invoicing + payments + commission.

Ratings + disputes + admin panel.

Enhancements (chat, promo codes, scheduling, etc.).