Skip to main content
Mobile Applications Β· Services

On-Demand Home Services Booking App

An on-demand home services platform where customers book vetted plumbers, electricians and cleaners, track them to the door and pay in the app once the job is done.

On-Demand Home Services Booking App cover

Project overview

We built an on-demand home services marketplace for a startup connecting households with independent plumbers, electricians and cleaners. Customers describe the job, choose a time, see the assigned professional travelling to them and pay after completion; providers manage availability, accept jobs and get paid through their own app.

The engagement covered discovery, UX, two Flutter apps, a Firebase back end, payments and an operations panel. It draws on our on-demand app development experience and shares its dispatch patterns with our ride-hailing app.

The client and the challenge

The startup had been taking bookings by phone and messaging apps. Dispatchers matched jobs to providers manually, customers called repeatedly to ask when someone would arrive, and disputes about extra work or pricing were settled over the phone with no record.

They wanted self-service booking for common jobs, fair automatic matching, clear quotes before extra work started and trust signals for customers letting a stranger into their home. Providers often worked in basements and areas with patchy signal, so the provider app had to cope with poor connectivity. Pricing also varied: cleaning could be sold at a fixed price per room, while electrical faults needed an inspection before anyone could quote.

Solution architecture & delivery

We used Flutter for both the customer and provider apps, sharing models, booking screens and design components. Firebase Authentication handles phone-number sign-in, Cloud Firestore stores jobs, providers and messages, and Cloud Functions run the server-side logic so the startup did not need to manage servers. Security rules in Firestore ensure customers only read their own jobs and providers only see jobs offered or assigned to them, with contact details masked until a job is accepted.

When a customer books, a Cloud Function finds providers with the right skill, service area and free calendar slot, ranks them by distance and rating, and offers the job to them in turn with a short acceptance window. If nobody accepts, the job is escalated to the operations panel for manual assignment, so bookings never silently fail. Fixed-price jobs are booked straight away, while inspection jobs book a visit fee first and the full price is quoted on site.

Once a provider starts travelling, their app writes location updates to the job document and the customer sees them approach on a map. On arrival the provider confirms the scope; any extra work is added as a line-item quote that the customer must approve in the app before it begins. Firestore offline persistence lets providers keep updating job status and photos without signal, syncing when they reconnect. Customers and providers chat inside the job, so phone numbers do not need to be shared.

Payment is authorised at booking and captured after the customer confirms completion, with the provider's share recorded for payouts. Providers pass identity and document checks in the admin panel before receiving jobs, customers rate each visit, and support staff can see the full job timeline, messages and photos when resolving a dispute. Cancellation rules are applied automatically depending on how close to the appointment the customer cancels.

Key features we built

  • Service catalogue with fixed-price and inspection-based jobs
  • Automatic matching by skill, service area, availability and rating
  • Live provider tracking from departure to arrival
  • In-app quotes for extra work requiring customer approval
  • Payment authorised at booking and captured on completion
  • Offline-friendly provider app with photo uploads and job status
  • Provider verification, ratings and in-app chat
  • Admin panel for manual dispatch, payouts and dispute handling

How we delivered it

  1. Discovery. Interviews with dispatchers and providers to map the existing phone-based flow, common job types and dispute causes.
  2. UX and prototype. Clickable prototypes of booking, tracking and the extra-work approval flow tested with customers and providers.
  3. Build. Two-week sprints delivering both apps, Cloud Functions and the admin panel, with matching rules tuned against past bookings. Crash reporting and performance monitoring were set up from the first internal build.
  4. Soft launch. Launch in a limited service area with a small group of providers, while dispatchers monitored escalations closely.
  5. Expansion and support. New service categories and areas added over time, with maintenance and OS updates under a support agreement.

Technology choices

  • Flutter β€” two apps from shared code, with consistent booking, map and chat screens on iOS and Android.
  • Firebase β€” real-time job updates, phone authentication, offline sync for providers and serverless functions for matching and payments.

Outcomes

  • Customers book common jobs themselves instead of calling a dispatcher
  • Jobs are offered to suitable nearby providers automatically, with manual fallback
  • Customers see when their professional will arrive, reducing chase-up calls
  • Extra work is quoted and approved in the app, leaving a clear record
  • Providers keep working in low-signal locations and sync later
  • Operations staff resolve disputes from one job timeline

FAQ

How are service providers matched to bookings?

The system filters providers by skill, service area and available calendar slots, ranks them by distance and rating, then offers the job in turn. Unaccepted jobs escalate to the operations team. Admins can adjust the matching weights per service category.

How is extra work on site priced fairly?

Providers add extra items as a quote in the app, and nothing beyond the original booking is charged until the customer approves it. Both sides keep the record.

Why Firebase for an on-demand services app?

Real-time listeners, offline persistence and serverless functions suited a startup that wanted live tracking without running servers. For larger scale we plan for growth using ideas from our AWS architecture for high-traffic apps. Firestore security rules keep each customer's and provider's data separated.

What does a home services app cost to build?

It depends on the number of service types, payment and payout rules, and admin tooling. Use our app development cost calculator for an indicative range, or ask us for a fixed quote.

On-Demand Home Services Booking App screens

Build your next mobile applications product with Next Olive

Share your requirements β€” we will propose scope, timeline and stack within one business day.