A Pricing Hub
B Dimensional & Grid
C Modifiers & Rules
D Discounts & Waivers
E Live Calculator
Pricing Hub
9:41

Complex Pricing

Pricing Units
10 active units with dimensional tiers, per-unit/sqft/linear-ft/hourly rates
Grid Pricing
3 active matrices for multi-dimensional pricing (size x material)
Modifiers
8 modifier groups with percentage and flat-rate adjustments
Guarantees
4 warranty/guarantee waivers with optional pricing
Pro Tip
Use dimensional tiers for services priced by measurement (sq ft, linear ft). Use grid pricing for 2D combinations like size x material.
Dimensional Tiers
9:41

Tier Configuration

Tier Ranges
Define pricing tiers: 0-500 sqft, 501-1000 sqft, 1001+ sqft with per-tier rates
Quantity Pricing
Set base price + per-unit rate. Volume discounts auto-apply at higher tiers
Classifications
Group services into classifications for bulk pricing rules and modifier inheritance
Grid Matrix
9:41

Grid Pricing

2D Price Matrix
Rows = sizes, Columns = materials. Each cell has a unique price. Tap to edit any cell.
Add Dimensions
Add rows and columns dynamically. Supports up to 20x20 grid matrices.
Modifiers & Rules
9:41

Modifier Groups

Percentage Modifiers
Difficulty (+15%), Urgency (+25%), Weekend (+20%)
Flat-Rate Add-ons
Permit fee ($150), Disposal ($75), Travel ($50/mi)
Conditional Rules
IF category=Plumbing AND sqft>1000 THEN apply Commercial rate
Pro Tip
Stack modifiers in any order. The engine calculates: base + tiers + modifiers + rules = final price.
Live Calculator
9:41

Quote Builder

Build Quote
Select service, enter dimensions, add modifiers. See real-time price calculation.
Quote Summary
Itemized breakdown: base price, tier adjustment, modifiers, discounts, final total
Send Quote
Export to PDF or send directly to homeowner via the bidding system
Hub & Modifiers
9:41
Complex Pricing
Pricing Dashboard
Overview of all pricing units, grid matrices, modifier groups, and active rules. Quick-access navigation to any pricing section.
Pricing Units
10 active units with dimensional tiers. Per-unit, per-sqft, linear-ft, and hourly rate types.
Modifier Groups
8 groups: Difficulty, Urgency, Weekend, Materials, Travel, Permit, Disposal, and Custom modifiers.
Add / Edit Modifier
Modifier form with name, type (percentage/flat), value, scope, and applicable categories.
Task Modifiers
Per-task modifier assignment. Toggle which modifiers apply to each service type.
Tiers & Grid
9:41
Dimensional Pricing
Dimensional Tiers
Configure tier ranges (0-500, 501-1000, 1001+) with per-tier rates. Visual tier breakdown chart.
Grid Pricing Matrix
Interactive 2D matrix: rows = sizes, columns = materials. Tap any cell to edit. Supports up to 20x20 grids.
Classifications
Service classifications for bulk rule application. Group related services for consistent pricing policies.
Add Dimension
Add new rows or columns to pricing grids. Preview price impact before saving.
Rules & Calculator
9:41
Quote Builder
Conditional Rules
IF/THEN rule builder: IF category=Plumbing AND sqft>1000 THEN apply Commercial rate. Visual rule chain editor.
Discounts & Waivers
Percentage discounts, fixed-amount discounts, and guarantee/warranty waivers with optional pricing.
Live Calculator
Real-time quote builder: select service, enter dimensions, add modifiers. Shows itemized breakdown: base + tiers + modifiers + rules = final.
Quote Summary
Professional quote output with line items, subtotals, and export to PDF or direct send to homeowner.
Complex Pricing Dashboard
app.3bids.io/contractor/pricebook/advanced/modifiers
Pricebook — Advanced Pricing
Pricing Units 10
Grid Pricing 3
Modifiers 14
Classifications 4
Conditional Rules 6
Discount Rules 5
Guarantee Waivers 3
Modifiers
14 Active
All (14) Fabric (4) Lining (3) Length (2) Access (2) Time (1) Custom (2)
Silk Fabric+40%
Applies to: Labor
FabricExclusive
Blackout Lining+$25.00
Applies to: Total
LiningAdditive
Rush Fee (24hr)+$75.00
Applies to: Total
TimeAdditive
Pet Treatment+15%
Applies to: Base Price
CustomAdditive
Over 9ft Length+$35.00
Per panel
LengthAdditive
High Ladder Access+$50.00
2-man required
AccessExclusive

PricebookAdvancedDashboard

useQuery(api.pricebook.complexPricing.listModifiers)

Add / Edit Modifier
app.3bids.io/contractor/pricebook/advanced/modifiers/new
Add Modifier
Modifier Details
Code
Name
Category
Description
Applied to silk and delicate fabric draperies requiring special handling
Pricing
Amount
Applies To
Per Unit (disabled for % type)
Stacking Rules
Priority
Max Stack Multiplier
Exclusive modifiers override other modifiers in the same category when applied
Conditions (Optional)
Material Types
SilkVelvetOrganzaChiffonLace
Customer Visible
Customer-Facing Description

ModifierForm

useMutation(api.pricebook.complexPricing.createModifier)


Dimensional Tier Configuration
app.3bids.io/contractor/pricebook/advanced/units/drp_width_001
Pricing Units
Drapery Per-Width Pricing
Per Width
Price per panel based on width in inches
Tier Configuration
Dimension: Width Unit: inches
TierMin WidthMax WidthPrice/PanelDefault
Small0"48"$45.00
Medium49"72"$55.00Default
Large73"96"$70.00
Extra Large97"120"$85.00
Custom121"$95.00
Base Price & Escalation
Base Price
Escalation pricing
Escalation pricing automatically adjusts price per unit for very large items. Enable to set a threshold and percentage change.
0-48" Sm
49-72" Med
73-96" Lg
97-120" XL
121+ Custom

DimensionalTierForm

useMutation(api.pricebook.complexPricing.createDimensionalTiers)

Grid Pricing Matrix (2D)
app.3bids.io/contractor/pricebook/advanced/grids/grid_roller_001
Grid Pricing
Roller Shade Pricing
Grid (Width x Style)
2D matrix — prices by width range and shade style
Plain HemScallopFabric ValanceMotorized
Up to 36"$45$55$65$125
37" – 48"$55$65$80$150
49" – 60"$65$80$95$175
61" – 72"$80$95$115$210
73" – 96"$95$115$135$250
Click any cell to edit. Tab to move between cells.
Per-Unit Surcharges
If length > 6ft, add $7.00/ft

GridPricingEditor

useMutation(api.pricebook.complexPricing.updateGridCell)

Classifications
app.3bids.io/contractor/pricebook/advanced/classifications
Classifications
Area Rug Classifications
4 Classes
Group items by class for consistent pricing and risk management
Class A — Machine Made
Low Risk
Pricing multiplier: 1.0x (base) Waiver: Not required
Karastan Stainmaster Shaw Mohawk
Class B — Handmade
Medium Risk
Pricing multiplier: 1.4x Waiver: Conditional
Persian Oriental Turkish Kilim Navajo
Special — Silk & Rayon
High Risk
Pricing multiplier: 2.5x Waiver: Always required
Silk Oriental Rayon Viscose Antique
Full Risk — Customer Liable
Full Customer Risk
Pricing: Quote on inspection Waiver: Required — informed consent
Water Damaged Pet Urine (heavy) Dry Rot

ClassificationList

useQuery(api.pricebook.complexPricing.listClassifications)


Modifier Groups
app.3bids.io/contractor/pricebook/advanced/modifier-groups
Modifier Groups
Modifier Groups
Bundle related modifiers and set selection rules
Fabric Type
Exclusive — pick one
Only one fabric modifier can apply per item
Silk +40% Velvet +30% Linen +15% Cotton (base)
Min: 0  •  Max: 1
Add-On Services
Additive — pick any
Multiple add-ons can stack
Stain Guard +$35 Deodorizer +$20 Scotchgard +$45 Pet Treatment +15%
Min: 0  •  Max: unlimited
Access Difficulty
Exclusive — pick one
Access surcharges do not stack
Standard (no charge) High Ladder +$50 2-Man Required +$75
Min: 0  •  Max: 1

ModifierGroupList

useQuery(api.pricebook.complexPricing.listModifierGroups)

Conditional Rules
app.3bids.io/contractor/pricebook/advanced/rules
Conditional Rules
Pricing Rules
6 Active
Automatic pricing adjustments based on job conditions
1
IF
Area > 1,500 sqft AND Service is Carpet Cleaning
THEN
Add flat surcharge $75 — “Large area — additional equipment required”
2
IF
Length > 9 feet
THEN
Add $35 per panel — “Extended length surcharge”
3
IF
Cleaning Code is ‘X’ (dry clean only)
THEN
Require on-site inspection — “Cannot quote remotely. Full customer risk.”
4
IF
Day of Week is Saturday OR Sunday
THEN
Apply modifier: Weekend Rate +25%
5
IF
Total Order Value > $2,000
THEN
Set minimum: Free pickup & delivery
6
IF
Material is ‘Silk’ AND Access is ‘High Ladder’
THEN
Require 2-man crew — “Safety protocol for delicate items at height”
Rules execute in priority order. First matching rule of each type applies.

ConditionalRulesList

useQuery(api.pricebook.complexPricing.listConditionalRules)

Add / Edit Rule
app.3bids.io/contractor/pricebook/advanced/rules/new
Add Rule
Rule Name & Priority
Name
Priority
Conditions (IF)
sqft
AND
Carpet Cleaning Tile Cleaning
Action (THEN)
Action Type
Amount
Message
Validity
Active
Date Range

ConditionalRuleForm

useMutation(api.pricebook.complexPricing.createConditionalRule)


Discount Rules
app.3bids.io/contractor/pricebook/advanced/discounts
Discount Rules
Discount Rules
5 Active
Cash & Carry — 30%
Cash & CarryCustomer picks up, no delivery
-30%
Applies to: All services  •  Exclusions: Minimum charges, special processing
Exclusive
Delivery Only — 20%
DeliveryCleaned off-site, delivered back
-20%
Applies to: All services
Exclusive
Maintenance Contract — 10%
LoyaltyAnnual maintenance agreement
-10%
Requires annual contract
Stackable
Volume Discount
VolumeTiered by order value
$500-999: 5%
$1,000-2,499: 10%
$2,500+: 15%
StackableMax 1 volume discount
Winter Special — 15%
SeasonalDec 1 — Feb 28
-15%
15% off Carpet Cleaning  •  Residential only
StackableSeasonal

DiscountRulesList

useQuery(api.pricebook.complexPricing.listDiscountRules)

Guarantee Waivers
app.3bids.io/contractor/pricebook/advanced/waivers
Guarantee Waivers
Guarantee Waivers
Risk categories requiring customer acknowledgment before service
RISK 1 — Low
Mini/Micro Blinds
Paint chipping · Plastic warping · Cord damage
Release: Conditional — if visibly worn
Informed consent
RISK 4 — Medium
Pleated Shades
Fabric delamination · Pleat relaxation · Color bleeding
Release: Always required
Signed waiver
RISK 8 — High
Antique & Fragile Textiles
Fiber breakdown · Dye migration · Structural failure · Irreversible damage
Release: Always required — Full customer risk
Full customer risk
Waivers protect your business when servicing items with inherent risks. The customer signs before work begins, acknowledging potential outcomes that are beyond your control.

GuaranteeWaiverList

useQuery(api.pricebook.complexPricing.listGuaranteeWaivers)


Price Calculator
app.3bids.io/contractor/pricebook/calculator
Price Calculator
Service
Service Type
Per Width
Dimensions
Width
Medium — $55/panel
Length
Over 9ft +$35
Panels
Material & Fabric
Classification
Standard
Fabric
Silk (+40%)
Lining
Blackout (+$25)
Add-Ons
Stain Guard +$35 Deodorizer +$20 Scotchgard +$45
Discounts
Cash & Carry -30% Maintenance -10%
Price Breakdown
Base (4 panels x $55)$220.00
Silk Fabric +40%+$88.00
Blackout Lining (4 x $25)+$100.00
Over 9ft Surcharge (4 x $35)+$140.00
Stain Guard+$35.00
Subtotal$583.00
Cash & Carry -30%-$174.90
Total$408.10
Good – Better – Best
Good
$408.10
Current selection
Better
$458.10
+ Scotchgard
Best
$498.10
+ Scotchgard + Deodorizer
This calculation uses your configured tiers, modifiers, and discount rules. Adjust inputs to see real-time price changes.

PriceCalculator — Split layout with sidebar inputs and content breakdown. 15 new foundation components.

useQuery(api.pricebook.complexPricing.listPricingUnits), useQuery(api.pricebook.complexPricing.listModifiers)

Quote Preview
app.3bids.io/contractor/pricebook/quotes/Q-2026-0847/preview
Quote Preview
COIT Cleaning Services
Licensed & Insured — Akron, OH
Service Quote
Q-2026-0847
Customer
Johnson Residence
1847 Oak Street, Akron, OH
Date
February 26, 2026
ServiceDetailsQtyUnit PriceTotal
Drapery Cleaning54" width, silk, blackout4 panels$55.00$220.00
— Silk Fabric Surcharge+40% on labor+$88.00
— Blackout LiningPer panel4$25.00+$100.00
— Extended Length (9.5ft)Per panel4$35.00+$140.00
— Stain GuardAdd-on1$35.00+$35.00
Subtotal$583.00
Cash & Carry (-30%)-$174.90
Total$408.10
This service includes items requiring a signed guarantee waiver. Customer will be asked to acknowledge risks before work begins.

QuotePreview — Print-ready document with branding, line items, and signature block.

useQuery(api.pricebook.quotes.getQuote), useMutation(api.pricebook.quotes.sendToCustomer)


Data Architecture
Backend (Convex)
Schema:
pricebookPricingUnits, pricebookDimensionalTiers, pricebookGridPricing, pricebookModifiers, pricebookModifierGroups, pricebookClassifications, pricebookClassificationMembers, pricebookConditionalRules, pricebookDiscountRules, pricebookGuaranteeWaivers, pricebookTaskModifiers
Mutations:
createPricingUnit, createDimensionalTiers, createGridPricing, createModifier, createModifierGroup, createClassification, createConditionalRule, createDiscountRule, createGuaranteeWaiver, updateGridCell, addTaskModifiers, addClassificationMembers
Queries:
listPricingUnits, listDimensionalTiers, listGridPricing, listModifiers, listModifierGroups, listClassifications, listConditionalRules, listDiscountRules, listGuaranteeWaivers, listTaskModifiers
Frontend
Components:
TaskCard, CategoryList, QuoteItem, QuoteSummary, PricebookImport, PricebookSkeleton, PricebookEmptyState, PricebookAnimations
Screens:
app/(contractor)/pricebook/index.tsx (3 tabs), [categoryId].tsx, quote/new.tsx, quote/[sessionId].tsx
Hooks:
useQuery(api.pricebook.complexPricing.listModifiers)
useMutation(api.pricebook.complexPricing.createModifier)
Onboarding Wizard Integration:
Phase 2.5 steps: pricing_units, pricing_grids, pricing_modifiers, pricing_classifications, pricing_rules, pricing_waivers
Session: convex/contractor/onboardingWizard.ts (22-step wizard, steps 6–11)