🛠️ Service Catalog Widget

Display your services beautifully and let customers book appointments instantly - no phone calls required

250% More Online Bookings
24/7 Booking Availability
60% Fewer Phone Calls

🔧 Kitchen Remodel

Complete kitchen renovation services

$25,000+

🚿 Bathroom Renovation

Modern bathroom updates

$15,000+

Transform Your Services Page into a Booking Engine

📱

24/7 Online Booking

Customers can browse services and book appointments any time - even while you sleep. Never miss a booking opportunity.

💰

Display Pricing Confidently

Show starting prices or ranges to qualify leads. Customers appreciate transparency and are more likely to book.

📅

Smart Scheduling

Automatic availability checking syncs with your calendar. No double-bookings or back-and-forth scheduling.

🎯

Service Categories

Organize services by type - installation, repair, maintenance. Customers quickly find what they need.

🖼️

Rich Service Details

Add photos, descriptions, duration estimates, and included features. Show value before customers book.

🔍

Search & Filter

Built-in search and category filters help customers find the right service quickly, improving user experience.

How It Helps Your Business Grow

📞 Reduce Phone Time

Customers self-serve by browsing services and scheduling. Your office staff spends less time on the phone explaining services and more time on high-value tasks.

Save 15+ hours/week on scheduling calls

📈 Increase Booking Rate

Make it frictionless to book. Customers who can instantly schedule are 3x more likely to commit than those who have to call.

Contractors see 250% more online bookings vs. phone-only

💎 Showcase Premium Services

Highlight your high-margin services with photos and detailed descriptions. Customers naturally gravitate toward better-presented options.

Premium services see 180% more bookings when displayed visually

Configuration Guide

1

Configure Your Service Catalog

Define which services to display, add booking questions, and set up your scheduling preferences.

JavaScript
// Service Catalog Widget Configuration
const catalogConfig = {
  type: 'pricebook',
  name: 'Our Services',
  description: 'Browse services and book online',
  
  // Branding
  branding: {
    primaryColor: '#1890ff',
    secondaryColor: '#52c41a',
    fontFamily: 'Inter, sans-serif',
    logo: 'https://yoursite.com/logo.png'
  },
  
  // Display Settings
  priceBookSettings: {
    showImages: true,           // Show service photos
    showDescription: true,       // Show full descriptions
    showPricing: true,          // Display prices
    enableSearch: true,         // Add search bar
    enableFiltering: true,      // Category filters
    
    // Which categories to show
    categoriesFilter: [
      'Installation',
      'Repair', 
      'Maintenance',
      'Consultation',
      'Emergency Service'
    ],
    
    // Booking Questions - Shown during checkout
    bookingQuestions: [
      {
        id: 'property_access',
        question: 'How should we access your property?',
        type: 'select',
        required: true,
        options: [
          'I will be home',
          'Key under mat',
          'Garage code (provide in notes)',
          'Gate code required'
        ],
        showAt: 'pre-appointment'  // Ask before selecting time
      },
      {
        id: 'pets',
        question: 'Do you have pets?',
        type: 'radio',
        required: false,
        options: ['Yes', 'No'],
        showAt: 'with-form'  // Ask with contact info
      },
      {
        id: 'special_requests',
        question: 'Any special requests or concerns?',
        type: 'textarea',
        required: false,
        placeholder: 'Let us know if there\'s anything special we should know...',
        showAt: 'post-appointment'  // Ask after time selected
      }
    ],
    
    // Booking Settings
    jobScheduling: {
      enabled: true,
      requirePhone: true,
      requireAddress: true,
      
      // Calendar Integration
      timeSlotSelection: true,
      defaultDuration: 120,  // 2 hours
      
      // Business Hours (used if no specific tech availability)
      businessHours: {
        monday: { isOpen: true, start: '08:00', end: '17:00' },
        tuesday: { isOpen: true, start: '08:00', end: '17:00' },
        wednesday: { isOpen: true, start: '08:00', end: '17:00' },
        thursday: { isOpen: true, start: '08:00', end: '17:00' },
        friday: { isOpen: true, start: '08:00', end: '17:00' },
        saturday: { isOpen: true, start: '09:00', end: '15:00' },
        sunday: { isOpen: false, start: '10:00', end: '14:00' }
      }
    }
  },
  
  // Integration Settings
  integration: {
    domain: 'https://yourwebsite.com',
    allowedOrigins: ['https://yourwebsite.com'],
    
    // Webhook called when booking made
    webhookUrl: 'https://yourapi.com/webhooks/bookings',
    
    // Email notifications
    notifyEmails: ['bookings@yourcompany.com']
  },
  
  // Analytics
  analytics: {
    enabled: true,
    trackingId: 'GA-XXXXXXXXX',
    customEvents: [
      'service_viewed',
      'booking_started',
      'booking_completed'
    ]
  }
};
2

Mark Services as "Web Enabled"

In ServiceFlow Pro, go to Settings → Price Book and enable "Show on Website" for services you want to display.

💡 Pro Tip: Service Display

Only items marked as "Show on Website" will appear in the catalog. This gives you control over which services are bookable online vs. requiring a phone consultation.

  • ✓ Enable for common services (oil change, tune-up, inspection)
  • ✓ Disable for complex services requiring site visits first
  • ✓ Use "Starting at $X" pricing for variable services
3

Embed on Your Website

Add the widget to your services page or create a dedicated booking page.

HTML
<!-- Full Page Service Catalog -->
<div id="service-catalog"></div>

<script src="https://widgets.serviceflow-pro.com/sdk/v1/widget.js"></script>
<script>
  ServiceFlowWidget.create('service-catalog', {
    widgetId: 'YOUR-WIDGET-ID',
    type: 'pricebook',
    
    // Event handlers
    onBookingComplete: function(booking) {
      console.log('Booking confirmed:', booking);
      
      // Optional: redirect to thank you page
      window.location.href = '/thank-you?booking=' + booking.id;
    },
    
    onServiceViewed: function(service) {
      // Track which services get the most views
      console.log('Service viewed:', service.name);
    }
  });
</script>

<style>
  #service-catalog {
    width: 100%;
    min-height: 800px;
  }
</style>

Customer Booking Flow

Here's what your customers experience:

1

Browse Services

Customer lands on your services page and sees a beautiful grid of all your offerings with photos, descriptions, and prices.

2

Select Service

They click on a service they're interested in to see full details and the "Book Now" button.

3

Enter Information

A modal opens where they enter their name, email, phone, and service address. Custom questions appear based on your configuration.

4

Choose Time

Calendar shows available appointment times based on your team's availability. They select a convenient slot.

5

Confirmation

Booking confirmed! Customer receives email confirmation. You get instant notification and the appointment appears in your dashboard.

Powerful Features Built In

📸 Service Photo Galleries

Upload multiple photos for each service showing before/after, process photos, or finished projects. Visual content increases booking rates by 85%.

⏱️ Real-Time Availability

Syncs with your technician schedules in real-time. Only shows available slots based on your team's actual calendar availability.

📍 Service Area Checking

Automatically verify if an address is within your service area. Prevent bookings from areas you don't service.

💳 Optional Payment Collection

Collect deposits or full payment at booking time with Stripe integration. Reduce no-shows by 70%.

📧 Automated Confirmations

Customers receive professional email confirmations with appointment details, technician info, and cancellation options.

📊 Booking Analytics

See which services are most popular, peak booking times, conversion rates, and revenue by service type.

Perfect For These Industries

🔧 HVAC Companies

Maintenance plans, installations, repairs, and emergency service bookings.

  • ✓ Annual maintenance packages
  • ✓ Emergency service premium
  • ✓ Equipment installation estimates
  • ✓ Filter replacement subscriptions

🚰 Plumbing Services

Inspection, drain cleaning, fixture installation, and emergency plumbing.

  • ✓ Drain cleaning services
  • ✓ Water heater installation
  • ✓ Leak detection
  • ✓ Emergency plumbing rates

⚡ Electricians

Electrical inspection, panel upgrades, outlet installation, smart home setup.

  • ✓ Safety inspections
  • ✓ Panel upgrades
  • ✓ EV charger installation
  • ✓ Smart home wiring

🌳 Lawn Care & Landscaping

Mowing packages, landscaping design, irrigation, and seasonal services.

  • ✓ Weekly mowing plans
  • ✓ Landscape design consultation
  • ✓ Irrigation system install
  • ✓ Seasonal cleanup

Interactive Demo

Explore a fully functional service catalog:

Note: This is a live demo with sample services. Bookings will not be saved.

Frequently Asked Questions

Can I hide prices for certain services?

Yes! You can show "Contact for Quote" instead of prices for services that require site visits or have highly variable pricing. This lets you still display the service while controlling when pricing is revealed.

How does availability checking work?

The widget integrates with ServiceFlow Pro's scheduling system. It checks your technicians' availability in real-time and only shows open time slots. You can set business hours, block off personal time, and manage availability per technician.

Can customers reschedule or cancel?

Yes! Confirmation emails include links for customers to reschedule or cancel appointments (within your defined policy window). This reduces phone calls to your office.

What if I don't want online booking?

You can disable booking and use the widget as a pure service catalog display. Customers click "Request Quote" which sends you a lead instead of booking directly.

Can I require deposits for bookings?

Yes! Integrate with Stripe to collect deposits or full payment at booking time. This significantly reduces no-shows and ensures committed customers.

Does it work on WordPress, Wix, Squarespace?

Yes! The widget works on any website platform. We have specific plugins for WordPress and Squarespace, and simple embed codes for all other platforms.

Turn Your Services Page into a Booking Machine

Join contractors who've increased online bookings by 250% with our service catalog widget.

30-day money-back guarantee • No long-term contracts • Cancel anytime