1 Catalog
2 Detail
3 Tiers
4 Packages
5 Coverage
6 Categories
7 Portfolio
8 Analytics
Services Dashboard
9:41
My Services
Active Services
12
3 this month
Views This Month
847
12%
Booking Rate
24%
3.2%
Avg. Job Value
$485
2.1%
Service Categories
Reorder
Plumbing
6 services · Active
Electrical
4 services · Active
HVAC
2 services · Inactive
General Repairs
3 services · Active

ServicesDashboard with drag-to-reorder category cards

useQuery(api.services.categories.list) · useMutation(api.services.categories.reorder)


Service Editor
9:41
Edit Service
Service Details
Water Heater Replacement
Plumbing
Full removal and installation of 40-80 gallon tank or tankless water heaters.
Pricing & Duration
2 hrs
to
4 hrs
Flat Rate
Hourly
Quote
$1,200
to
$3,500
Photos
Manage
Search Tags
water heater tankless hot water Add
Available for Booking
Visible on marketplace

ServiceEditor form with pricing mode segment control

useMutation(api.services.services.upsert) · useQuery(api.services.categories.list)


Pricing Tiers
9:41
Pricing Tiers
Water Heater Replacement
Plumbing · 3 tiers configured
Good
Standard Installation
$1,200
  • 40-gallon tank water heater
  • Standard installation
  • Old unit removal
  • Expansion tank
  • Extended warranty
Select Good
Best
Premium Package
$3,500
  • Tankless water heater
  • Premium installation
  • Old unit removal
  • Expansion tank included
  • 5-year extended warranty
Select Best

PricingTiers with ServiceTitan-inspired good/better/best layout

useQuery(api.services.tiers.byService) · useMutation(api.services.tiers.upsert)


Service Packages
9:41
Packages
Whole-Home Plumbing
15% Bundle Discount

INCLUDED SERVICES
Water Heater Replacement $2,100
Whole-House Repipe $4,500
Drain Inspection & Clean $350

$6,950 $5,907
Save $1,043
Winter Prep Bundle
Seasonal 10%

INCLUDED SERVICES
Furnace Tune-Up $180
Pipe Insulation $250
Thermostat Upgrade $320

$750 $675
Save $75
Available Oct–Mar

ServicePackages with Booksy-inspired bundle discount display

useQuery(api.services.packages.list) · useMutation(api.services.packages.create)


Coverage Zone
9:41
Service Area
Coverage Radius
25 mi
5 mi 50 mi
Travel Fee Settings
Free Within
No travel fee applied
15 mi
Per Additional Mile
Applied beyond free zone
$2.50
Max Travel Fee
Cap for distant jobs
$75
Covered Zip Codes
Edit
44301 44302 44303 44304 44305 44306 44311 +12 more
Excluded Zones
Add
44199
Downtown core — no parking

ServiceAreaMap with Thumbtack-inspired radius & zip selection

useQuery(api.services.areas.get) · useMutation(api.services.areas.update)


Category Manager
9:41
Categories
Marketplace Sync Active
Your categories match 3Bids search index
94%
Plumbing
6 sub-categories
Water Heaters
Matched
Drain Cleaning
Matched
Pipe Repair
Matched
Fixture Install
Custom
Sump Pump
Matched
Repiping
Matched
Electrical
4 sub-categories
HVAC
2 sub-categories
General Repairs
3 sub-categories
Marketplace Match Rate
94%
14 of 15 sub-categories match 3Bids search index. 1 custom category.

CategoryManager with marketplace sync & match-rate indicator

useQuery(api.services.categories.withMatches) · useMutation(api.services.categories.syncMarketplace)


Service Portfolio
9:41
Portfolio
All Services Plumbing Electrical HVAC
Tankless Water Heater Install
Plumbing · Jan 2026
Featured
Before
After
Detail
Replaced 15-year-old 50-gallon tank with Rinnai tankless unit. Upgraded gas line and added recirculation pump.
Sarah M.
"Incredible work. Endless hot water now and our gas bill dropped 30%."
Panel Upgrade 200A
Electrical · Dec 2025
Before
After
Upgraded from 100A to 200A service panel. Added EV charger circuit and whole-home surge protection.
Auto-Populate from Jobs
Import photos and details from your 8 completed jobs automatically.

ServicePortfolio with before/after photos & linked testimonials

useQuery(api.services.portfolio.list) · useMutation(api.services.portfolio.importFromJobs)


Service Analytics
9:41
Analytics
7D
30D
90D
1Y
Total Views
847
+12%
Inquiries
156
+8%
Bookings
38
+15%
Revenue
$18.4K
+22%
Conversion Funnel
Views
847
Inquiries
156
Quotes
82
Bookings
38
Overall conversion: 4.5% view-to-booking
Top Performing Services
1
Water Heater Replace
12 bookings · $8,400 revenue
2
Panel Upgrade
8 bookings · $4,800 revenue
3
Drain Cleaning
18 bookings · $3,200 revenue
Pricing vs Market
Water Heater Replace
You: $2,100 Avg: $2,350
11% below
Panel Upgrade
You: $1,800 Avg: $1,650
9% above
Drain Cleaning
You: $175 Avg: $195
10% below
Seasonal Demand Alert
Water heater searches up 34% in your area. Consider running a winter promotion.

ServiceAnalytics with funnel, rankings & market comparison

useQuery(api.services.analytics.dashboard) · useQuery(api.services.analytics.marketComparison)


Data Architecture

Schema Tables

serviceCategories // Plumbing, Electrical, etc.
serviceSubcategories // Water Heaters, Drains
services // Individual service listings
serviceTiers // Good/Better/Best per service
servicePackages // Bundled service groups
servicePackageItems // Package-service junction
serviceAreas // Coverage zones + travel fees
serviceAreaZips // Included/excluded zips
servicePortfolio // Project examples + photos
serviceAnalytics // Daily view/inquiry/booking

Queries

categories.list // With sub-count + status
categories.withMatches // Marketplace sync %
services.byCategory // Filtered service list
services.detail // Single service + tiers
tiers.byService // Good/Better/Best config
packages.list // All packages + savings
areas.get // Coverage + travel fees
portfolio.list // Projects + testimonials
analytics.dashboard // Metrics + funnel
analytics.marketComparison // Price vs avg

Mutations

services.upsert
  args: name, categoryId, description, pricing
categories.reorder
  args: orderedIds[] // Drag-and-drop
tiers.upsert
  args: serviceId, tiers[]{name, price, features}
packages.create
  args: name, serviceIds[], discount%
areas.update
  args: radius, freeWithin, perMile, zips[]
portfolio.importFromJobs
  args: jobIds[] // Auto-populate

Components

ServicesDashboard // FlatList + metrics
ServiceEditor // Full form + pricing mode
PricingTiers // Good/Better/Best cards
ServicePackages // Bundle list + savings
ServiceAreaMap // Leaflet + radius slider
CategoryManager // Tree view + sync
ServicePortfolio // Gallery + testimonials
ServiceAnalytics // Charts + funnel

Hooks

useServiceCategories() // Cached category list
useServiceDetail(id) // Service + tiers
useServiceArea() // Coverage + zip state
useServiceAnalytics(range) // Time-filtered
useMarketComparison() // Price benchmarks
useDragReorder(list) // Reorder gesture

Service Statuses

draft // Not yet published
   active // Visible on marketplace
   inactive // Hidden, keep data
   archived // Soft-deleted

Package Statuses
active | seasonal | expired | draft
Catalog & Pricing
9:41
Services & Offerings
Service Catalog
12
Services
8
Active
Services
Roof Replacement
3 tiers • $8,500 – $22,000
Active
Roof Repair
Flat rate • $500 – $3,000
Active
Gutter Installation
Per linear ft • $15 – $30
Active
Pricing Tiers — Roof Replacement
Good
$8,500
3-tab shingles
Better
$14,000
Architectural
Best
$22,000
Premium metal
Coverage & Analytics
9:41
Coverage & Analytics
Coverage Zone
Summit & Cuyahoga Counties • 25-mile radius
Service Analytics
47
Jobs YTD
$412K
Revenue
4.9
Avg Rating
Services Center
https://app.3bids.io/contractor/services
3Bids
Catalog ⌘1
Pricing ⌘2
Packages ⌘3
Coverage ⌘4
Categories ⌘5
Portfolio ⌘6
Analytics ⌘7
MK
Mike Kowalski
Contractor
Settings ⌘,

Services Center

12
Services
$412K
Revenue YTD
47
Jobs YTD
4.9
Avg Rating
Top Services
Roof Replacement
22 jobs • $264K revenue
Roof Repair
15 jobs • $98K revenue
Gutter Installation
10 jobs • $50K revenue
Revenue Trend