Overview
This document maps the three-step MaidCentral online booking process to the corresponding API endpoints, showing how each user interaction translates to specific API calls.
Step 1: Lead Information & Service Selection
Customer Actions:
Enters contact information (name, email, phone)
Enters postal code for service area validation
Selects scope group (service category)
Selects individual scopes (specific services)
Answers initial service-related questions
API Calls:
GET /api/Lead/ScopeGroups
GET /api/Lead/PostalCodes
GET /api/Lead/Scopes?scopeGroupId={id}
GET /api/Lead/Questions?scopeIds={ids}
POST /api/Lead/CreateOrUpdate
Key Data Collected:
Contact information
Service preferences
Postal code validation
Lead ID (for Step 2)
Step 2: Quote Creation & Pricing
Customer Actions:
Answers pricing questions (home size, specific requirements)
Enters service address information
Reviews calculated pricing
Confirms service selections
API Calls:
GET /api/Lead/Questions?scopeIds={ids}
GET /api/Lead/RateModifications?scopeId={id}
POST /api/Lead/CalculatePrice
POST /api/Lead/CreateOrUpdateQuote
Key Data Collected:
Service address
Pricing questions responses
Service specifications
Quote ID (for Step 3)
Step 3: Final Booking
Customer Actions:
Answers additional booking questions
Selects available service date
Enters payment information
Confirms final booking
API Calls:
GET /api/Lead/Questions?scopeIds={ids}
GET /api/Lead/Availability?scopeGroupId={id}&hours={hours}
GET /api/Lead/BillingTerms
POST /api/Lead/BookQuote
Key Data Collected:
Service dates
Payment information
Final booking confirmation
Booking notes
Data Flow Between Steps
Step 1 → Step 2: Lead ID from
CreateOrUpdate
responseStep 2 → Step 3: Quote ID from
CreateOrUpdateQuote
responseAll Steps: UTM parameters maintained throughout process
Key Integration Points
Questions Endpoint Usage:
Used in all three steps to get relevant questions for each stage
Same endpoint serves different purposes based on booking stage
Frequency Data:
Included in
ScopeGroups
payload, no separate API call needed
Error Handling:
Step 1: Postal code validation failures
Step 2: Address validation, pricing calculation errors
Step 3: Availability conflicts, payment processing errors
Performance Optimizations:
Cache static data (ScopeGroups, PostalCodes, BillingTerms)
Progressive question loading based on selections
Real-time availability checking
Required API Endpoints by Step
Required API Endpoints by Step
Step | Required Endpoints | Optional Endpoints |
1 | ||
2 | ||
3 |
Implementation Notes
Lead Creation: Occurs in Step 1 to track customer journey from start
Price Calculation: Use
CalculatePrice
before quote creation for better UXUTM Tracking: Include UTM parameters in all relevant API calls
Availability: Check availability before allowing date selection
Questions: Filter questions by step type to show relevant questions per stage
This mapping ensures seamless integration between the MaidCentral online booking experience and the API backend.