Local Service Booking Website
A complete website for a local service business: services, trust, working booking requests, and local SEO basics.
The route
5 steps to Done
- 01
Structure the business content
Collect the real-world facts the whole site depends on.
Preview prompt + verify gate ▾ Hide ▴
Structure the site content. I will describe the business below. Produce: the service list (name, description, duration, price - push for real prices); business facts (hours, service area, phone, address if physical); the differentiators (what to emphasize: speed, guarantees, experience); the booking model (request-for-time vs pick-a-slot - recommend based on the business); and the page structure (home, services, booking, about/contact). BUSINESS: [describe here]
- ✓ Services have prices or honest ranges
- ✓ Hours and contact are real
- ✓ The booking model is chosen
- 02
Build home and services pages
Answer the visitor's three questions immediately: what, where, how much.
Preview prompt + verify gate ▾ Hide ▴
Build the homepage and services page. Homepage: what the business does and where (headline with service + area), a prominent Book Now button, top services with prices, trust strip (years, jobs done, rating if real), hours and contact visible, mobile-first layout. Services page: every service with description, duration, price, and a per-service book button carrying the selection into the form.
- ✓ The headline names the service and area
- ✓ Every service shows a price
- ✓ Book buttons carry the service selection
- 03
Build the booking request flow
The money feature: requests must persist for the owner.
Preview prompt + verify gate ▾ Hide ▴
Implement the booking flow per the chosen model: the form (name, phone, service select, preferred date/time, notes) with validation (phone format, future dates only) and inline errors; submission stores the request in the database with status 'new'; a success state confirming what happens next ('we confirm within X hours'); loading and error states. Verify a test submission persists and is retrievable.
- ✓ A test request exists in the database
- ✓ Validation blocks bad input
- ✓ Success sets response expectations
- 04
Build the owner's request view
The owner must see and manage incoming requests simply.
Preview prompt + verify gate ▾ Hide ▴
Implement the owner view (simple auth or admin route): incoming requests newest-first with all details and status (new/confirmed/completed/declined); status updates that persist; a phone/tap-to-call link on each request for quick confirmation; a badge or count of new requests; empty and loading states. Keep it dead simple - owners are busy.
- ✓ Requests appear with full details
- ✓ Status changes persist
- ✓ Tap-to-call works on mobile
- 05
Trust, contact, and mobile QA
Local trust signals plus a hard mobile pass close the job.
Preview prompt + verify gate ▾ Hide ▴
Finish trust and QA. Add: a reviews section (real reviews if provided; a labeled placeholder structure if not - never fabricated), service-area statement, an about section with the human behind the business, complete contact page (hours, phone with tel: link, address/map embed if physical), consistent business info in the footer. Then run the mobile QA: the full visitor journey (land, browse services, book) at 375px, tap targets, and form usability with the keyboard open. Fix everything found.
- ✓ No fabricated reviews exist
- ✓ Contact info is complete and consistent
- ✓ The 375px booking journey passes