import React, { useState } from 'react'; import { PackageTier, VehicleType } from '../types'; const DetailRealityCheck: React.FC = () => { const [vehicleType, setVehicleType] = useState(VehicleType.CAR_4DR); const [dirtiness, setDirtiness] = useState(5); const [hasHair, setHasHair] = useState(false); const [hasStains, setHasStains] = useState(false); const [hasOdors, setHasOdors] = useState(false); const [year, setYear] = useState(new Date().getFullYear()); const [result, setResult] = useState<{ tier: PackageTier; price: string; reason: string } | null>(null); const calculate = () => { const isNew = (new Date().getFullYear() - year) <= 5; const isCar = vehicleType === VehicleType.CAR_2DR || vehicleType === VehicleType.CAR_4DR; let tier = PackageTier.MODERATE; let price = ""; let reason = ""; // VIP LIGHT CHECK ($250) if (isNew && isCar && !hasHair && !hasStains && !hasOdors && dirtiness <= 4) { tier = PackageTier.VIP_LIGHT; price = "$250"; reason = "Good news, this one behaves nicely, so you qualify for our VIP Light Detail at $250."; } // MINIVAN SPECIAL ($650+) else if (vehicleType === VehicleType.MINIVAN) { tier = PackageTier.MODERATE; price = dirtiness > 7 ? "$750+" : "$650+"; reason = "Minivans are large projects. " + (dirtiness > 7 ? "That level of cleaning" : "Standard care") + " starts around " + price + " to get it right."; } // EXTREME ($550+) else if (dirtiness >= 9 || (hasHair && hasStains && hasOdors)) { tier = PackageTier.EXTREME; price = vehicleType === VehicleType.SUV ? "$600+" : vehicleType === VehicleType.TRUCK ? "$650+" : "$550+"; reason = "That bumps it into our next tier so we can handle the heavy lifting. This requires a total restoration focus."; } // HEAVY (Fails 2+ VIP conditions) else if ([hasHair, hasStains, hasOdors, dirtiness > 5].filter(Boolean).length >= 2) { tier = PackageTier.HEAVY; price = vehicleType === VehicleType.SUV ? "$475-$525" : vehicleType === VehicleType.TRUCK ? "$500-$550" : "$425-$475"; reason = "Failing multiple VIP conditions moves this into our Heavy tier. We’ll need the extra time for pet hair or stains."; } // MODERATE (Fails 1 VIP condition) else { tier = PackageTier.MODERATE; price = vehicleType === VehicleType.SUV ? "$400-$425" : vehicleType === VehicleType.TRUCK ? "$425-$450" : "$350-$375"; reason = "That bumps it into our Moderate tier—our most common service for Knoxville daily drivers."; } setResult({ tier, price, reason }); }; return (

Screening Tool

🧠 The Reality Check

30 seconds. Zero judgment. Tell us what we're working with.

setYear(parseInt(e.target.value))} />
setDirtiness(parseInt(e.target.value))} />
1: Just Tidy Level: {dirtiness} 10: "No comment"
{[ { label: 'Hair', state: hasHair, set: setHasHair, icon: '🐶' }, { label: 'Stains', state: hasStains, set: setHasStains, icon: '🧃' }, { label: 'Odors', state: hasOdors, set: setHasOdors, icon: '👃' }, ].map(item => ( ))}
{result ? (

Professional Suggestion

{result.tier}

{result.price}

"{result.reason}"

) : (

Complete the quick screening
to reveal your tier

)}
); }; export default DetailRealityCheck;
top of page

Acerca de

Lose something? (our noise is on it)

Closeup of a Black Dog

FiFi is on the look for you..

We do our best to remove personal items that falls between seats. Items like jewerly, keys, credit cards are sometimes vacuumed up by mistake. On this page we will post photos of some items we found inside our vaccums. If you see an iemn on this page that belongs to you, please call us today. (865) 253-8899  

IMG_0283.jpg

See anything that belongs to you?

Thanks for submitting!
bottom of page