{"openapi":"3.1.0","info":{"title":"NPCLocal — AI-callable local-services API","version":"1.0.0","summary":"Per-category calculators (quantity + cost + sizing) and lead routing for the Coastal Bend of South Texas, served as an open public API for AI agents and tooling.","description":"NPCLocal is a local-services lead network covering Corpus Christi and the Coastal Bend (17 cities, 113 service categories).\n\nThis API lets AI agents:\n  1. Discover and call any of 65 registered calculators (mortgage, hvac, roofing squares, mulch yards, generator kW, etc.) with typed inputs.\n  2. Get back a numeric result + interpretation + cost band + optional local provider routing in one HTTP call.\n  3. Submit leads when a user is ready to be contacted by the local provider.\n\nAll endpoints are public, rate-limited per IP, open CORS GET-only (except /api/lead-submit which is POST). No auth required.\n\nFirst-to-market posture + sourcing-independence record: https://github.com/northpointcomputers/npclocal-vps (see PROJECT_DOCS for evidence trail). Calculator formulas sourced from primary references (NEC, IPC, ASHRAE, IRS Pub 936, Fannie/Freddie); never derived from any third-party calculator aggregator.","contact":{"name":"NPCLocal","url":"https://npclocal.com"},"license":{"name":"API usage permitted under fair-use AI integration. See https://npclocal.com/llms.txt","url":"https://npclocal.com/llms.txt"}},"servers":[{"url":"https://npclocal.com","description":"Production"}],"tags":[{"name":"discovery","description":"Endpoint discovery + registry introspection"},{"name":"home","description":"Home + property services (roofing, hvac, plumbing, electrical, fence, etc.)"},{"name":"real-estate","description":"Mortgage, affordability, vacation-rental ROI, realtor commission"},{"name":"outdoor","description":"Landscaping, sod, mulch, sprinklers, tree, pool"},{"name":"auto","description":"Auto repair, towing, tire, mobile detail, window tint"},{"name":"shop","description":"CNC, laser, water-jet, 3D printing, precision machining"},{"name":"lead-routing","description":"Convert agent interactions to local-provider leads"}],"paths":{"/api/calc/roofing":{"get":{"operationId":"calc_roofing","summary":"Roof square footage estimator","description":"Roofers price by the 'square' (100 sq ft). Enter your roof footprint and pitch — we'll compute the total square footage and squares. Typical pricing: $4-$15 per square foot (Asphalt at the low end, metal/tile at the high end.).\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"roof square footage estimator\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["home"],"parameters":[{"in":"query","name":"footprint","required":false,"description":"Roof footprint. Floor plan area of the building (under the roof).. Unit: sq ft","schema":{"type":"number","default":1800,"minimum":200,"maximum":20000}},{"in":"query","name":"pitch","required":false,"description":"Roof pitch. Rise over run. 6/12 = 6 inches up per 12 inches across (most homes).","schema":{"type":"string","enum":["3_12","4_12","6_12","8_12","10_12","12_12"],"default":"6_12","description":"3_12=3/12 (low slope); 4_12=4/12 (mild); 6_12=6/12 (standard); 8_12=8/12 (steep); 10_12=10/12 (very steep); 12_12=12/12 (extreme)"}},{"in":"query","name":"wasteFactor","required":false,"description":"Waste factor. Extra material for cuts + valleys + ridge caps.","schema":{"type":"string","enum":["10","12","15","20"],"default":"12","description":"10=10% (simple gable); 12=12% (typical); 15=15% (complex / hips + valleys); 20=20% (very complex)"}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about roof square footage estimator in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/fence":{"get":{"operationId":"calc_fence","summary":"Fence linear footage + cost band","description":"Enter your fence run length and style. We'll show the linear feet and a rough installed cost range based on Coastal Bend pricing. Typical pricing: $18-$75 per linear foot.\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"fence linear footage + cost band\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["home"],"parameters":[{"in":"query","name":"length","required":false,"description":"Fence length. Unit: linear ft","schema":{"type":"number","default":120,"minimum":10,"maximum":5000}},{"in":"query","name":"style","required":false,"description":"Style + height","schema":{"type":"string","enum":["chainlink_4","chainlink_6","wood_6","wood_8","vinyl_6","iron_4","iron_6"],"default":"wood_6","description":"chainlink_4=Chain-link 4 ft; chainlink_6=Chain-link 6 ft; wood_6=Wood privacy 6 ft; wood_8=Wood privacy 8 ft; vinyl_6=Vinyl 6 ft; iron_4=Ornamental iron 4 ft; iron_6=Ornamental iron 6 ft"}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about fence linear footage + cost band in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/gutters":{"get":{"operationId":"calc_gutters","summary":"Gutter linear footage estimator","description":"Add up the eaves you want guttered. Get linear feet + a rough installed cost band. Typical pricing: $8-$22 per linear foot (Seamless aluminum standard; copper / oversized higher.).\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"gutter linear footage estimator\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["home"],"parameters":[{"in":"query","name":"eaves","required":false,"description":"Total eave length. Sum of every roof edge you want a gutter on. Single-story typical homes = ~120-200 ft.. Unit: linear ft","schema":{"type":"number","default":160,"minimum":20,"maximum":1500}},{"in":"query","name":"material","required":false,"description":"Material","schema":{"type":"string","enum":["aluminum","steel","copper"],"default":"aluminum","description":"aluminum=Aluminum (standard seamless); steel=Galvanized steel; copper=Copper (premium)"}},{"in":"query","name":"leafGuard","required":false,"description":"Leaf guard?","schema":{"type":"string","enum":["no","yes"],"default":"no","description":"no=No; yes=Yes (adds protection + cost)"}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about gutter linear footage estimator in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/concrete":{"get":{"operationId":"calc_concrete","summary":"Concrete cubic-yard calculator","description":"Enter slab dimensions. Output: cubic yards (how concrete is ordered) + a rough material cost. Typical pricing: $6-$14 per square foot.\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"concrete cubic-yard calculator\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["home"],"parameters":[{"in":"query","name":"length","required":false,"description":"Length. Unit: ft","schema":{"type":"number","default":20,"minimum":1,"maximum":200}},{"in":"query","name":"width","required":false,"description":"Width. Unit: ft","schema":{"type":"number","default":10,"minimum":1,"maximum":200}},{"in":"query","name":"thickness","required":false,"description":"Slab thickness","schema":{"type":"string","enum":["3.5","4","5","6","8"],"default":"4","description":"3.5=3.5 in (walkway); 4=4 in (patio / standard slab); 5=5 in (driveway); 6=6 in (heavy-load / RV pad); 8=8 in (commercial / shop floor)"}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about concrete cubic-yard calculator in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/mulch-delivery":{"get":{"operationId":"calc_mulch_delivery","summary":"Mulch cubic-yard calculator","description":"Measure your beds and pick a depth. Get cubic yards (how mulch is delivered) + bag-equivalent count. Typical pricing: $35-$80 per cubic yard.\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"mulch cubic-yard calculator\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["outdoor"],"parameters":[{"in":"query","name":"length","required":false,"description":"Bed length (sum of all beds). Unit: ft","schema":{"type":"number","default":40,"minimum":1,"maximum":1000}},{"in":"query","name":"width","required":false,"description":"Bed width (average). Unit: ft","schema":{"type":"number","default":6,"minimum":1,"maximum":50}},{"in":"query","name":"depth","required":false,"description":"Depth","schema":{"type":"string","enum":["2","3","4"],"default":"3","description":"2=2 in (refresh); 3=3 in (standard); 4=4 in (heavy / new bed)"}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about mulch cubic-yard calculator in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/painters":{"get":{"operationId":"calc_painters","summary":"Paint gallon estimator","description":"Wall square footage + coats → gallons. Standard coverage = 350 sq ft per gallon per coat. Typical pricing: $2-$7 per square foot (Interior toward the low end; exterior higher.).\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"paint gallon estimator\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["home"],"parameters":[{"in":"query","name":"wallSqft","required":false,"description":"Wall surface area. Sum of wall lengths × wall height. Don't subtract windows + doors unless they're huge.. Unit: sq ft","schema":{"type":"number","default":1200,"minimum":50,"maximum":20000}},{"in":"query","name":"coats","required":false,"description":"Coats","schema":{"type":"string","enum":["1","2","3"],"default":"2","description":"1=1 coat (touch-up); 2=2 coats (standard); 3=3 coats (color change / primer + 2)"}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about paint gallon estimator in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/lawn-care":{"get":{"operationId":"calc_lawn_care","summary":"Lawn service frequency + seasonal cost","description":"Lawn size + how often you want it mowed → annual budget. Typical pricing: $35-$110 per visit.\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"lawn service frequency + seasonal cost\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["outdoor"],"parameters":[{"in":"query","name":"lawnSqft","required":false,"description":"Lawn square footage. Typical Coastal Bend front + back yard = 4,000-8,000 sq ft.. Unit: sq ft","schema":{"type":"number","default":5000,"minimum":500,"maximum":100000}},{"in":"query","name":"frequency","required":false,"description":"Mow frequency","schema":{"type":"string","enum":["weekly","biweekly","monthly"],"default":"biweekly","description":"weekly=Weekly (best for growing season); biweekly=Every other week (typical); monthly=Monthly (slow growth / drought)"}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about lawn service frequency + seasonal cost in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/generators":{"get":{"operationId":"calc_generators","summary":"Whole-home generator size calculator","description":"Pick the loads you want to keep running during an outage. Output: minimum generator size (kW). Typical pricing: $4500-$14000 per system.\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"whole-home generator size calculator\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["home"],"parameters":[{"in":"query","name":"homeSize","required":false,"description":"Home size","schema":{"type":"string","enum":["small","med","large","xl"],"default":"med","description":"small=Small (<1,500 sqft); med=Medium (1,500-2,500 sqft); large=Large (2,500-4,000 sqft); xl=X-Large (>4,000 sqft)"}},{"in":"query","name":"coverage","required":false,"description":"Coverage scope","schema":{"type":"string","enum":["essentials","managed","whole"],"default":"managed","description":"essentials=Essentials only (fridge + lights + 1 window AC); managed=Managed whole-home (central AC, no electric range); whole=Whole-home (everything, no load shedding)"}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about whole-home generator size calculator in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/solar":{"get":{"operationId":"calc_solar","summary":"Solar system size calculator","description":"Average monthly electric bill (kWh) → system size + panel count. Coastal Bend sun-hours assumed at 5.0/day. Typical pricing: $18000-$42000 per system (Pre-incentive; federal credit + utility rebates reduce significantly.).\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"solar system size calculator\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["home"],"parameters":[{"in":"query","name":"monthlyKwh","required":false,"description":"Monthly electric usage. Average it across 12 months on your AEP / Centerpoint bill. Typical CC home: 1,200-2,000 kWh/mo.. Unit: kWh","schema":{"type":"number","default":1500,"minimum":200,"maximum":8000}},{"in":"query","name":"offset","required":false,"description":"Offset target","schema":{"type":"string","enum":["50","75","100","120"],"default":"100","description":"50=50% (partial); 75=75% (most); 100=100% (net zero); 120=120% (overproduce — sell back)"}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about solar system size calculator in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/sod":{"get":{"operationId":"calc_sod","summary":"Sod pallet calculator","description":"Lawn area → pallets of sod needed. One pallet = 450 sq ft. Typical pricing: $0.5-$1.6 per square foot.\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"sod pallet calculator\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["outdoor"],"parameters":[{"in":"query","name":"lawnSqft","required":false,"description":"Area to sod. Unit: sq ft","schema":{"type":"number","default":2000,"minimum":50,"maximum":30000}},{"in":"query","name":"type","required":false,"description":"Sod type","schema":{"type":"string","enum":["stAug","bermuda","zoysia"],"default":"stAug","description":"stAug=St. Augustine (Coastal Bend standard); bermuda=Bermuda (sun, low water); zoysia=Zoysia (premium, slow growth)"}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about sod pallet calculator in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/windows":{"get":{"operationId":"calc_windows","summary":"Window replacement cost estimator","description":"Window count + type → installed cost band. Typical pricing: $400-$1500 per window (Per opening, installed; impact-rated runs higher.).\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"window replacement cost estimator\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["home"],"parameters":[{"in":"query","name":"count","required":false,"description":"Number of windows","schema":{"type":"number","default":10,"minimum":1,"maximum":100}},{"in":"query","name":"type","required":false,"description":"Window type","schema":{"type":"string","enum":["vinyl_sh","vinyl_dh","vinyl_cs","fg_dh","wood","impact"],"default":"vinyl_dh","description":"vinyl_sh=Vinyl single-hung (budget); vinyl_dh=Vinyl double-hung (standard); vinyl_cs=Vinyl casement; fg_dh=Fiberglass double-hung; wood=Wood (premium); impact=Impact-rated (windstorm)"}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about window replacement cost estimator in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/doors":{"get":{"operationId":"calc_doors","summary":"Door replacement cost estimator","description":"Door count + type → installed cost band. Typical pricing: $400-$2200 per door.\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"door replacement cost estimator\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["home"],"parameters":[{"in":"query","name":"count","required":false,"description":"Number of doors","schema":{"type":"number","default":1,"minimum":1,"maximum":20}},{"in":"query","name":"type","required":false,"description":"Door type","schema":{"type":"string","enum":["entry_steel","entry_fg","entry_wood","patio_slider","patio_french","storm"],"default":"entry_steel","description":"entry_steel=Entry, steel; entry_fg=Entry, fiberglass; entry_wood=Entry, solid wood; patio_slider=Patio sliding glass; patio_french=Patio French (double); storm=Storm door"}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about door replacement cost estimator in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/garage-doors":{"get":{"operationId":"calc_garage_doors","summary":"Garage door + opener sizing","description":"Door type → recommended opener HP and installed cost band. Typical pricing: $800-$3500 per door.\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"garage door + opener sizing\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["home"],"parameters":[{"in":"query","name":"doorType","required":false,"description":"Door size","schema":{"type":"string","enum":["single","double","tall"],"default":"single","description":"single=Single (9x7); double=Double (16x7); tall=Tall double (16x8 or larger)"}},{"in":"query","name":"material","required":false,"description":"Material","schema":{"type":"string","enum":["steel","steel_insul","wood","glass"],"default":"steel_insul","description":"steel=Steel, non-insulated; steel_insul=Steel, insulated (standard); wood=Wood (premium); glass=Glass + aluminum (contemporary)"}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about garage door + opener sizing in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/patios-decks":{"get":{"operationId":"calc_patios_decks","summary":"Patio / deck cost estimator","description":"Surface area + material → installed cost band. Typical pricing: $18-$55 per square foot.\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"patio / deck cost estimator\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["home"],"parameters":[{"in":"query","name":"sqft","required":false,"description":"Surface area. Unit: sq ft","schema":{"type":"number","default":200,"minimum":20,"maximum":5000}},{"in":"query","name":"material","required":false,"description":"Material","schema":{"type":"string","enum":["concrete_plain","concrete_stamped","pavers","wood_pt","wood_cedar","composite"],"default":"concrete_plain","description":"concrete_plain=Plain concrete (broom finish); concrete_stamped=Stamped / stained concrete; pavers=Brick / stone pavers; wood_pt=Wood deck, pressure-treated; wood_cedar=Wood deck, cedar; composite=Composite deck (Trex, etc.)"}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about patio / deck cost estimator in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/power-washing":{"get":{"operationId":"calc_power_washing","summary":"Power-washing cost estimator","description":"Surface area + surface type → cost band. Typical pricing: $0.2-$0.55 per square foot.\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"power-washing cost estimator\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["home"],"parameters":[{"in":"query","name":"sqft","required":false,"description":"Area to wash. Unit: sq ft","schema":{"type":"number","default":1500,"minimum":50,"maximum":20000}},{"in":"query","name":"surface","required":false,"description":"Surface type","schema":{"type":"string","enum":["driveway","house","deck","roof"],"default":"driveway","description":"driveway=Driveway / sidewalk; house=House exterior (soft wash); deck=Deck / fence (wood); roof=Roof (soft wash — algae)"}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about power-washing cost estimator in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/carpet-cleaning":{"get":{"operationId":"calc_carpet_cleaning","summary":"Carpet cleaning cost estimator","description":"Room count + add-ons → cost band. Typical pricing: $0.3-$0.65 per square foot.\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"carpet cleaning cost estimator\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["home"],"parameters":[{"in":"query","name":"rooms","required":false,"description":"Rooms to clean","schema":{"type":"number","default":3,"minimum":1,"maximum":15}},{"in":"query","name":"addons","required":false,"description":"Add-ons","schema":{"type":"string","enum":["none","stairs","hall","stairs_hall"],"default":"stairs","description":"none=None; stairs=+ Stairs (1 flight); hall=+ Hallway; stairs_hall=+ Stairs + Hallway"}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about carpet cleaning cost estimator in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/air-duct-cleaning":{"get":{"operationId":"calc_air_duct_cleaning","summary":"Air duct cleaning cost estimator","description":"Home size → typical vent count + cost band. Typical pricing: $300-$750 per system.\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"air duct cleaning cost estimator\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["home"],"parameters":[{"in":"query","name":"sqft","required":false,"description":"Home size. Unit: sq ft","schema":{"type":"number","default":2000,"minimum":500,"maximum":10000}},{"in":"query","name":"systems","required":false,"description":"HVAC systems","schema":{"type":"string","enum":["1","2","3"],"default":"1","description":"1=1 system; 2=2 systems; 3=3 systems (large home)"}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about air duct cleaning cost estimator in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/chimney":{"get":{"operationId":"calc_chimney","summary":"Chimney service cost estimator","description":"Service type → cost band. Typical pricing: $150-$3500 per project.\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"chimney service cost estimator\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["home"],"parameters":[{"in":"query","name":"service","required":false,"description":"Service","schema":{"type":"string","enum":["sweep","insp","sweep_insp","cap","crown","reline"],"default":"sweep_insp","description":"sweep=Sweep only; insp=Inspection only (Level 1); sweep_insp=Sweep + Level 1 inspection; cap=Chimney cap install; crown=Crown repair / sealing; reline=Flue reline (metal liner)"}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about chimney service cost estimator in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/bathtub-refinishing":{"get":{"operationId":"calc_bathtub_refinishing","summary":"Bathtub refinishing / conversion cost","description":"Job type → cost band. Typical pricing: $400-$700 per project.\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"bathtub refinishing / conversion cost\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["home"],"parameters":[{"in":"query","name":"job","required":false,"description":"Job","schema":{"type":"string","enum":["reglaze_std","reglaze_claw","reglaze_tile","convert","walkin"],"default":"reglaze_std","description":"reglaze_std=Reglaze standard tub; reglaze_claw=Reglaze claw-foot tub; reglaze_tile=Reglaze tub + surround tile; convert=Tub-to-shower conversion; walkin=Walk-in tub install"}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about bathtub refinishing / conversion cost in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/landscape-rock":{"get":{"operationId":"calc_landscape_rock","summary":"Landscape rock + decorative gravel calculator","description":"Area × depth → cubic yards + tons (rock is heavy). Typical pricing: $55-$170 per cubic yard.\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"landscape rock + decorative gravel calculator\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["outdoor"],"parameters":[{"in":"query","name":"length","required":false,"description":"Length. Unit: ft","schema":{"type":"number","default":30,"minimum":1,"maximum":500}},{"in":"query","name":"width","required":false,"description":"Width. Unit: ft","schema":{"type":"number","default":8,"minimum":1,"maximum":100}},{"in":"query","name":"depth","required":false,"description":"Depth","schema":{"type":"string","enum":["2","3","4","6"],"default":"3","description":"2=2 in (groundcover); 3=3 in (standard); 4=4 in (heavy); 6=6 in (deep)"}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about landscape rock + decorative gravel calculator in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/fill-dirt":{"get":{"operationId":"calc_fill_dirt","summary":"Fill dirt / topsoil calculator","description":"Area × depth → cubic yards needed. Typical pricing: $15-$45 per cubic yard.\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"fill dirt / topsoil calculator\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["outdoor"],"parameters":[{"in":"query","name":"length","required":false,"description":"Length. Unit: ft","schema":{"type":"number","default":30,"minimum":1,"maximum":500}},{"in":"query","name":"width","required":false,"description":"Width. Unit: ft","schema":{"type":"number","default":20,"minimum":1,"maximum":500}},{"in":"query","name":"depth","required":false,"description":"Depth. Unit: in","schema":{"type":"number","default":6,"minimum":1,"maximum":36}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about fill dirt / topsoil calculator in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/landscaping":{"get":{"operationId":"calc_landscaping","summary":"Landscape project cost estimator","description":"Project size + scope → installed cost band. Typical pricing: $2000-$18000 per project.\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"landscape project cost estimator\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["outdoor"],"parameters":[{"in":"query","name":"sqft","required":false,"description":"Project area. Unit: sq ft","schema":{"type":"number","default":800,"minimum":50,"maximum":20000}},{"in":"query","name":"scope","required":false,"description":"Scope","schema":{"type":"string","enum":["cleanup","install","design"],"default":"install","description":"cleanup=Cleanup + refresh only; install=New install (plants + mulch); design=Full design + install (incl. hardscape)"}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about landscape project cost estimator in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/sprinklers":{"get":{"operationId":"calc_sprinklers","summary":"Sprinkler system sizing + cost","description":"Lawn size → zone count + installed cost band. Typical pricing: $2500-$6500 per system.\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"sprinkler system sizing + cost\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["outdoor"],"parameters":[{"in":"query","name":"sqft","required":false,"description":"Lawn / bed area. Unit: sq ft","schema":{"type":"number","default":5000,"minimum":500,"maximum":60000}},{"in":"query","name":"terrain","required":false,"description":"Terrain","schema":{"type":"string","enum":["flat","mixed","complex"],"default":"flat","description":"flat=Flat (open lawn); mixed=Mixed (beds + lawn); complex=Complex (slopes, multiple beds)"}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about sprinkler system sizing + cost in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/tree-removal":{"get":{"operationId":"calc_tree_removal","summary":"Tree removal cost estimator","description":"Height + diameter + access → cost band. Typical pricing: $400-$2200 per tree.\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"tree removal cost estimator\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["outdoor"],"parameters":[{"in":"query","name":"height","required":false,"description":"Tree height","schema":{"type":"string","enum":["u30","30_60","60_80","80p"],"default":"30_60","description":"u30=Under 30 ft; 30_60=30-60 ft; 60_80=60-80 ft; 80p=80+ ft"}},{"in":"query","name":"access","required":false,"description":"Access","schema":{"type":"string","enum":["good","tight","crane"],"default":"good","description":"good=Good (open yard, can drop); tight=Tight (near structures — must rope down); crane=Very tight (needs crane / lift)"}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about tree removal cost estimator in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/stump-removal":{"get":{"operationId":"calc_stump_removal","summary":"Stump grinding cost estimator","description":"Stump diameter → cost band (per-inch pricing is industry standard). Typical pricing: $100-$450 per stump.\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"stump grinding cost estimator\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["outdoor"],"parameters":[{"in":"query","name":"diameter","required":false,"description":"Stump diameter (at widest). Unit: inches","schema":{"type":"number","default":18,"minimum":4,"maximum":60}},{"in":"query","name":"count","required":false,"description":"Number of stumps","schema":{"type":"number","default":1,"minimum":1,"maximum":20}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about stump grinding cost estimator in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/pest-control":{"get":{"operationId":"calc_pest_control","summary":"Pest control plan estimator","description":"Home size + frequency → recurring cost. Typical pricing: $80-$220 per treatment.\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"pest control plan estimator\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["outdoor"],"parameters":[{"in":"query","name":"sqft","required":false,"description":"Home size. Unit: sq ft","schema":{"type":"number","default":2000,"minimum":500,"maximum":10000}},{"in":"query","name":"frequency","required":false,"description":"Frequency","schema":{"type":"string","enum":["onetime","quarterly","monthly"],"default":"quarterly","description":"onetime=One-time treatment; quarterly=Quarterly (standard); monthly=Monthly (severe / commercial)"}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about pest control plan estimator in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/termite":{"get":{"operationId":"calc_termite","summary":"Termite treatment cost estimator","description":"Home size + treatment type → cost band. Typical pricing: $800-$2800 per treatment.\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"termite treatment cost estimator\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["outdoor"],"parameters":[{"in":"query","name":"sqft","required":false,"description":"Home size. Unit: sq ft","schema":{"type":"number","default":2000,"minimum":500,"maximum":10000}},{"in":"query","name":"type","required":false,"description":"Treatment","schema":{"type":"string","enum":["liquid","bait","spot","tent"],"default":"liquid","description":"liquid=Liquid soil treatment (perimeter); bait=Bait system (in-ground stations); spot=Spot / localized treatment; tent=Tent fumigation (drywood, whole-home)"}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about termite treatment cost estimator in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/hurricane-shutters":{"get":{"operationId":"calc_hurricane_shutters","summary":"Hurricane shutter cost estimator","description":"Window count + shutter type → installed cost band. Typical pricing: $20-$70 per square foot (Per square foot of opening; accordion lower, roll-down higher.).\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"hurricane shutter cost estimator\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["home"],"parameters":[{"in":"query","name":"count","required":false,"description":"Openings to protect","schema":{"type":"number","default":12,"minimum":1,"maximum":60}},{"in":"query","name":"type","required":false,"description":"Shutter type","schema":{"type":"string","enum":["panel","accordion","rolldown","bahama","impact"],"default":"accordion","description":"panel=Storm panels (steel/aluminum — budget); accordion=Accordion (deploy by hand); rolldown=Roll-down (motorized); bahama=Bahama (decorative + functional); impact=Impact-rated permanent windows (no shutter)"}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about hurricane shutter cost estimator in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/holiday-lights":{"get":{"operationId":"calc_holiday_lights","summary":"Holiday light install cost estimator","description":"Roofline length + features → installed cost band. Typical pricing: $400-$2800 per project.\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"holiday light install cost estimator\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["outdoor"],"parameters":[{"in":"query","name":"roofline","required":false,"description":"Roofline linear ft. Unit: ft","schema":{"type":"number","default":100,"minimum":0,"maximum":1000}},{"in":"query","name":"extras","required":false,"description":"Extras","schema":{"type":"string","enum":["none","trees","many","yard"],"default":"trees","description":"none=Roofline only; trees=+ 2-3 small trees / shrubs; many=+ Many trees + columns + walkway; yard=+ Full yard display (figures + arches)"}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about holiday light install cost estimator in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/foundation-repair":{"get":{"operationId":"calc_foundation_repair","summary":"Foundation repair pier estimator","description":"Home sqft + foundation type → estimated pier count + cost band. Typical pricing: $3500-$18000 per project (Per-pier pricing common; whole-home stabilization at top end.).\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"foundation repair pier estimator\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["home"],"parameters":[{"in":"query","name":"sqft","required":false,"description":"Home size. Unit: sq ft","schema":{"type":"number","default":1800,"minimum":500,"maximum":8000}},{"in":"query","name":"foundation","required":false,"description":"Foundation type","schema":{"type":"string","enum":["slab","pierbeam"],"default":"slab","description":"slab=Slab on grade; pierbeam=Pier and beam"}},{"in":"query","name":"severity","required":false,"description":"Settlement severity","schema":{"type":"string","enum":["minor","moderate","severe"],"default":"moderate","description":"minor=Minor (hairline cracks); moderate=Moderate (door + window misalignment); severe=Severe (major cracks, sloping floors)"}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about foundation repair pier estimator in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/foundation-drainage":{"get":{"operationId":"calc_foundation_drainage","summary":"French drain / drainage cost estimator","description":"Linear ft of drain → installed cost band. Typical pricing: $1500-$9000 per project.\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"french drain / drainage cost estimator\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["home"],"parameters":[{"in":"query","name":"length","required":false,"description":"Drain run length. Unit: ft","schema":{"type":"number","default":60,"minimum":10,"maximum":500}},{"in":"query","name":"system","required":false,"description":"Drainage system","schema":{"type":"string","enum":["surface","french","deep","sump"],"default":"french","description":"surface=Surface drains (grates + pipe); french=French drain (gravel + perf pipe); deep=Deep French drain (3-4 ft); sump=Sump pump + discharge line"}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about french drain / drainage cost estimator in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/insulation":{"get":{"operationId":"calc_insulation","summary":"Insulation upgrade cost estimator","description":"Attic / wall sqft + type → installed cost band. Typical pricing: $1.5-$4.5 per square foot.\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"insulation upgrade cost estimator\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["home"],"parameters":[{"in":"query","name":"sqft","required":false,"description":"Area to insulate. Unit: sq ft","schema":{"type":"number","default":1500,"minimum":100,"maximum":10000}},{"in":"query","name":"type","required":false,"description":"Insulation type","schema":{"type":"string","enum":["batt","blown","spray_open","spray_closed"],"default":"blown","description":"batt=Fiberglass batts (DIY-friendly); blown=Blown-in cellulose / fiberglass; spray_open=Spray foam, open-cell; spray_closed=Spray foam, closed-cell (premium)"}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about insulation upgrade cost estimator in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/pool-builders":{"get":{"operationId":"calc_pool_builders","summary":"Pool size + gallon calculator","description":"Dimensions + shape → gallons + sqft + new-build cost band. Typical pricing: $40000-$95000 per project.\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"pool size + gallon calculator\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["outdoor"],"parameters":[{"in":"query","name":"length","required":false,"description":"Length. Unit: ft","schema":{"type":"number","default":32,"minimum":10,"maximum":80}},{"in":"query","name":"width","required":false,"description":"Width. Unit: ft","schema":{"type":"number","default":16,"minimum":6,"maximum":50}},{"in":"query","name":"avgDepth","required":false,"description":"Average depth. Unit: ft","schema":{"type":"number","default":5,"minimum":3,"maximum":10}},{"in":"query","name":"shape","required":false,"description":"Shape","schema":{"type":"string","enum":["rect","oval","free"],"default":"rect","description":"rect=Rectangle; oval=Oval / kidney; free=Freeform"}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about pool size + gallon calculator in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/pool-service":{"get":{"operationId":"calc_pool_service","summary":"Pool chemical + monthly service cost","description":"Pool gallons → chlorine dose + monthly service estimate. Typical pricing: $100-$220 per month.\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"pool chemical + monthly service cost\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["outdoor"],"parameters":[{"in":"query","name":"gallons","required":false,"description":"Pool volume. Unit: gallons","schema":{"type":"number","default":18000,"minimum":1000,"maximum":100000}},{"in":"query","name":"chlorine","required":false,"description":"Sanitizer type","schema":{"type":"string","enum":["tablets","liquid","salt"],"default":"tablets","description":"tablets=Trichlor tablets (standard); liquid=Liquid chlorine (bleach); salt=Saltwater (chlorine generator)"}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about pool chemical + monthly service cost in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/water-well":{"get":{"operationId":"calc_water_well","summary":"Water well drilling cost estimator","description":"Estimated depth → drilled + installed cost band. Typical pricing: $22-$65 per foot drilled.\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"water well drilling cost estimator\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["home"],"parameters":[{"in":"query","name":"depth","required":false,"description":"Expected depth. Unit: feet","schema":{"type":"number","default":200,"minimum":50,"maximum":1000}},{"in":"query","name":"casing","required":false,"description":"Casing material","schema":{"type":"string","enum":["pvc","steel"],"default":"pvc","description":"pvc=PVC (standard); steel=Steel (deep / rock)"}},{"in":"query","name":"pump","required":false,"description":"Pump","schema":{"type":"string","enum":["jet","submersible"],"default":"submersible","description":"jet=Jet pump (shallow, <100 ft); submersible=Submersible pump (deep, standard)"}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about water well drilling cost estimator in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/bail-bonds":{"get":{"operationId":"calc_bail_bonds","summary":"Bail bond premium calculator","description":"Bail amount → bondsman premium (10% in Texas — statutory). Typical pricing: $10-$15 percent of bond (Premium is non-refundable; 10% standard, can vary by case.).\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"bail bond premium calculator\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["other"],"parameters":[{"in":"query","name":"bail","required":false,"description":"Bail amount set by judge. Unit: $","schema":{"type":"number","default":5000,"minimum":100,"maximum":1000000}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about bail bond premium calculator in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/life-insurance":{"get":{"operationId":"calc_life_insurance","summary":"Life insurance coverage need (DIME)","description":"Quick estimate of how much term life you should carry. DIME = Debt + Income (10x) + Mortgage + Education. Typical pricing: $15-$200 per month (Varies dramatically by age, health, coverage amount.).\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"life insurance coverage need (dime)\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["other"],"parameters":[{"in":"query","name":"income","required":false,"description":"Annual income. Unit: $/yr","schema":{"type":"number","default":75000,"minimum":0,"maximum":2000000}},{"in":"query","name":"mortgage","required":false,"description":"Mortgage balance. Unit: $","schema":{"type":"number","default":200000,"minimum":0,"maximum":5000000}},{"in":"query","name":"debt","required":false,"description":"Other debt. Unit: $","schema":{"type":"number","default":15000,"minimum":0,"maximum":1000000}},{"in":"query","name":"kids","required":false,"description":"Kids needing college","schema":{"type":"number","default":1,"minimum":0,"maximum":10}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about life insurance coverage need (dime) in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/vacation-rental-management":{"get":{"operationId":"calc_vacation_rental_management","summary":"Padre Island STR — Cap Rate + ROI estimator","description":"Purchase price + ADR + occupancy + costs → NOI, Cap Rate, Gross Rent Multiplier, and cash flow. Defaults tuned for Padre Island short-term rentals. Typical pricing: $18-$32 percent of bookings.\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"padre island str — cap rate + roi estimator\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["real-estate"],"parameters":[{"in":"query","name":"purchasePrice","required":false,"description":"Purchase price. Padre Island STR-eligible properties typically $350K-$650K.. Unit: $","schema":{"type":"number","default":450000,"minimum":50000,"maximum":5000000}},{"in":"query","name":"averageDailyRate","required":false,"description":"Average daily rate (ADR). Padre Island peak summer $400+, off-season $180-220.. Unit: $ / night","schema":{"type":"number","default":285,"minimum":50,"maximum":2000}},{"in":"query","name":"occupancyPercent","required":false,"description":"Annual occupancy. Padre Island STR avg 60-70% with active mgmt + good listing.. Unit: %","schema":{"type":"number","default":65,"minimum":10,"maximum":95}},{"in":"query","name":"mgmtFeePercent","required":false,"description":"Property management fee. Full-service STR mgmt typically 20-30% of gross.. Unit: % of gross","schema":{"type":"number","default":25,"minimum":0,"maximum":40}},{"in":"query","name":"annualFixedCosts","required":false,"description":"Annual fixed costs. Property tax + insurance + utilities + HOA + supplies + repairs.. Unit: $ / yr","schema":{"type":"number","default":14000,"minimum":0,"maximum":100000}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about padre island str — cap rate + roi estimator in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/mobile-detailing":{"get":{"operationId":"calc_mobile_detailing","summary":"Mobile detailing cost estimator","description":"Vehicle size + service tier → cost band. Typical pricing: $80-$350 per vehicle.\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"mobile detailing cost estimator\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["auto"],"parameters":[{"in":"query","name":"size","required":false,"description":"Vehicle size","schema":{"type":"string","enum":["compact","sedan","suv","truck","xl"],"default":"sedan","description":"compact=Compact car; sedan=Sedan; suv=SUV / crossover; truck=Truck / full-size SUV; xl=XL (Suburban, dually, lifted)"}},{"in":"query","name":"tier","required":false,"description":"Service tier","schema":{"type":"string","enum":["wash","basic","full","premium"],"default":"full","description":"wash=Wash + wax only; basic=Basic interior + exterior; full=Full detail (clay + polish + shampoo); premium=Premium (paint correction + ceramic)"}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about mobile detailing cost estimator in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/window-tinting":{"get":{"operationId":"calc_window_tinting","summary":"Window tinting cost estimator","description":"Window count + tint type → cost band. Typical pricing: $200-$700 per vehicle.\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"window tinting cost estimator\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["auto"],"parameters":[{"in":"query","name":"where","required":false,"description":"Where","schema":{"type":"string","enum":["auto_full","auto_front","res_room","res_house"],"default":"auto_full","description":"auto_full=Auto — full vehicle (5-7 windows); auto_front=Auto — front 2 only; res_room=Residential — single room / picture window; res_house=Residential — whole house (10-20 windows)"}},{"in":"query","name":"film","required":false,"description":"Film type","schema":{"type":"string","enum":["dyed","metallic","ceramic"],"default":"ceramic","description":"dyed=Dyed (budget); metallic=Metallic (interferes with cell / GPS); ceramic=Ceramic (best heat rejection)"}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about window tinting cost estimator in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/auto-glass":{"get":{"operationId":"calc_auto_glass","summary":"Auto glass replacement cost estimator","description":"Vehicle + glass type + ADAS → cost band. Typical pricing: $250-$600 per vehicle.\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"auto glass replacement cost estimator\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["auto"],"parameters":[{"in":"query","name":"vehicle","required":false,"description":"Vehicle class","schema":{"type":"string","enum":["sedan","suv","truck","luxury"],"default":"sedan","description":"sedan=Sedan / coupe; suv=SUV / crossover; truck=Truck; luxury=Luxury / EV (Tesla, Audi, BMW)"}},{"in":"query","name":"glass","required":false,"description":"Glass type","schema":{"type":"string","enum":["windshield","side","rear","sunroof"],"default":"windshield","description":"windshield=Windshield; side=Side window (door); rear=Rear (back) window; sunroof=Sunroof"}},{"in":"query","name":"adas","required":false,"description":"Has ADAS / lane-keep / auto-brake?","schema":{"type":"string","enum":["no","yes"],"default":"yes","description":"no=No (pre-2017 typical); yes=Yes (recalibration needed)"}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about auto glass replacement cost estimator in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/trailers":{"get":{"operationId":"calc_trailers","summary":"Trailer GVWR + axle calculator","description":"Cargo weight → trailer GVWR class + axle count + cost band. Typical pricing: $1500-$18000 per project (Utility low end; equipment / enclosed high end.).\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"trailer gvwr + axle calculator\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["auto"],"parameters":[{"in":"query","name":"cargo","required":false,"description":"Expected cargo weight. Unit: lbs","schema":{"type":"number","default":3500,"minimum":200,"maximum":30000}},{"in":"query","name":"length","required":false,"description":"Trailer length. Unit: ft","schema":{"type":"number","default":16,"minimum":4,"maximum":40}},{"in":"query","name":"enclosed","required":false,"description":"Type","schema":{"type":"string","enum":["open","enclosed","dump","gooseneck"],"default":"open","description":"open=Open utility / flatbed; enclosed=Enclosed cargo; dump=Dump trailer; gooseneck=Gooseneck (heavy)"}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about trailer gvwr + axle calculator in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/towing":{"get":{"operationId":"calc_towing","summary":"Towing cost estimator","description":"Distance + vehicle → hook fee + per-mile + total. Typical pricing: $75-$300 per project (Local tow; long-distance / heavy-duty significantly higher.).\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"towing cost estimator\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["auto"],"parameters":[{"in":"query","name":"miles","required":false,"description":"Distance to tow. Unit: miles","schema":{"type":"number","default":15,"minimum":1,"maximum":500}},{"in":"query","name":"vehicle","required":false,"description":"Vehicle type","schema":{"type":"string","enum":["motorcycle","passenger","truck","heavy"],"default":"passenger","description":"motorcycle=Motorcycle; passenger=Car / small SUV; truck=Full-size truck / large SUV; heavy=Heavy duty (RV / commercial)"}},{"in":"query","name":"time","required":false,"description":"Time of day","schema":{"type":"string","enum":["day","night"],"default":"day","description":"day=Daytime (M-F 7-5); night=Night / weekend / holiday"}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about towing cost estimator in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/junk-removal":{"get":{"operationId":"calc_junk_removal","summary":"Junk removal cost estimator","description":"Truck load fraction + heavy items → cost band. Typical pricing: $150-$650 per truckload.\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"junk removal cost estimator\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["other"],"parameters":[{"in":"query","name":"load","required":false,"description":"Load size","schema":{"type":"string","enum":["single","quarter","half","threeq","full"],"default":"half","description":"single=Single item (couch, mattress, fridge); quarter=1/4 truck load; half=1/2 truck load; threeq=3/4 truck load; full=Full truck load"}},{"in":"query","name":"heavy","required":false,"description":"Heavy / hazardous items (extra). Paint, tires, e-waste, concrete, etc. — surcharge per item.","schema":{"type":"number","default":0,"minimum":0,"maximum":20}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about junk removal cost estimator in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/dumpster-rental":{"get":{"operationId":"calc_dumpster_rental","summary":"Dumpster rental cost + size estimator","description":"Project type → suggested yard size + rental cost band. Typical pricing: $300-$700 per project (Per week, 10–30 yd container.).\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"dumpster rental cost + size estimator\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["other"],"parameters":[{"in":"query","name":"project","required":false,"description":"Project type","schema":{"type":"string","enum":["cleanout","kitchen","wholehome","roof_small","roof_big","construction"],"default":"kitchen","description":"cleanout=Garage / room cleanout; kitchen=Kitchen / bath remodel; wholehome=Whole-home remodel; roof_small=Roof tear-off (small house); roof_big=Roof tear-off (large house); construction=New construction"}},{"in":"query","name":"days","required":false,"description":"Rental duration. Unit: days","schema":{"type":"number","default":7,"minimum":1,"maximum":30}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about dumpster rental cost + size estimator in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/hvac":{"get":{"operationId":"calc_hvac","summary":"AC tonnage / BTU sizing estimator","description":"Coastal Bend (IECC Zone 2A, hot-humid) cooling-load estimate. For final equipment sizing, an installer should perform a full Manual J calculation. Typical pricing: $5000-$14000 per system.\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"ac tonnage / btu sizing estimator\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["home"],"parameters":[{"in":"query","name":"sqft","required":false,"description":"Conditioned square footage. Heated and cooled living area, not including garage or attic.. Unit: sq ft","schema":{"type":"number","default":1800,"minimum":300,"maximum":12000}},{"in":"query","name":"construction","required":false,"description":"Construction tightness","schema":{"type":"string","enum":["loose","avg","tight"],"default":"avg","description":"loose=Loose (pre-1980, single-pane, no air seal); avg=Average (1980-2010, double-pane); tight=Tight (post-2010, low-E + air-sealed)"}},{"in":"query","name":"windows","required":false,"description":"Window load","schema":{"type":"string","enum":["few","avg","many"],"default":"avg","description":"few=Few / mostly north-facing; avg=Average; many=Many / west or south exposure"}},{"in":"query","name":"ceilingHeight","required":false,"description":"Ceiling height","schema":{"type":"string","enum":["8ft","9ft","10ft"],"default":"8ft","description":"8ft=8 ft (standard); 9ft=9 ft; 10ft=10 ft+ / vaulted"}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about ac tonnage / btu sizing estimator in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/tire-alignment":{"get":{"operationId":"calc_tire_alignment","summary":"Wheel alignment cost estimator","description":"Vehicle type + alignment scope → cost band and bay time. Typical pricing: $80-$160 per vehicle.\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"wheel alignment cost estimator\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["auto"],"parameters":[{"in":"query","name":"vehicle","required":false,"description":"Vehicle type","schema":{"type":"string","enum":["car","truck","hd","trailer"],"default":"car","description":"car=Car / sedan / small SUV; truck=1/2-ton truck / full-size SUV; hd=3/4-ton+ truck (HD, dually, lifted); trailer=Trailer (single or tandem axle)"}},{"in":"query","name":"scope","required":false,"description":"Alignment scope","schema":{"type":"string","enum":["two","four","lifted"],"default":"four","description":"two=2-wheel (front only); four=4-wheel + thrust angle; lifted=4-wheel + lift / leveling kit setup"}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about wheel alignment cost estimator in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/custom-baked-goods":{"get":{"operationId":"calc_custom_baked_goods","summary":"Custom cake / bakery order estimator","description":"Servings + complexity → cost band and lead time. Typical pricing: $40-$600 per project.\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"custom cake / bakery order estimator\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["other"],"parameters":[{"in":"query","name":"servings","required":false,"description":"Servings (people). Unit: people","schema":{"type":"number","default":30,"minimum":6,"maximum":400}},{"in":"query","name":"tier","required":false,"description":"Design complexity","schema":{"type":"string","enum":["simple","decorated","tiered","showpiece"],"default":"decorated","description":"simple=Simple (1 tier, basic frosting); decorated=Decorated (custom colors, piping, theme); tiered=Multi-tier (wedding, sculpted, fondant); showpiece=Showpiece (sugar work, hand-painted, edible art)"}},{"in":"query","name":"diet","required":false,"description":"Dietary needs","schema":{"type":"string","enum":["none","gf","vegan","allergen"],"default":"none","description":"none=None; gf=Gluten-free; vegan=Vegan / dairy-free; allergen=Multiple allergen-free"}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about custom cake / bakery order estimator in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/3d-printing":{"get":{"operationId":"calc_3d_printing","summary":"3D print cost estimator","description":"Volume + material + finish → cost band. Typical pricing: $5-$35 per hour.\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"3d print cost estimator\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["shop"],"parameters":[{"in":"query","name":"volume","required":false,"description":"Print volume. Unit: cm³","schema":{"type":"number","default":60,"minimum":1,"maximum":5000}},{"in":"query","name":"material","required":false,"description":"Material","schema":{"type":"string","enum":["pla","abs","nylon","resin","tough"],"default":"pla","description":"pla=PLA / PETG (FDM, common); abs=ABS / ASA (FDM, durable); nylon=Nylon / PA-CF (engineering); resin=Standard resin (SLA); tough=Tough / engineering resin"}},{"in":"query","name":"finish","required":false,"description":"Post-processing","schema":{"type":"string","enum":["asprinted","sanded","painted"],"default":"asprinted","description":"asprinted=As-printed (supports removed only); sanded=Sanded / smoothed; painted=Primed + painted"}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about 3d print cost estimator in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/photography":{"get":{"operationId":"calc_photography","summary":"Photography session cost estimator","description":"Session type + length → cost band and deliverables. Typical pricing: $200-$1500 per session.\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"photography session cost estimator\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["other"],"parameters":[{"in":"query","name":"type","required":false,"description":"Session type","schema":{"type":"string","enum":["headshot","family","realestate","event","wedding","drone"],"default":"family","description":"headshot=Headshot (single person); family=Family / couple / senior; realestate=Real estate listing (residential); event=Event / party / corporate; wedding=Wedding (full day); drone=Drone / aerial (commercial)"}},{"in":"query","name":"hours","required":false,"description":"Coverage. Unit: hours","schema":{"type":"number","default":2,"minimum":1,"maximum":12}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about photography session cost estimator in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/cnc-machining":{"get":{"operationId":"calc_cnc_machining","summary":"CNC machining setup + run cost","description":"Material + complexity + quantity → cost band per piece. Typical pricing: $50-$175 per hour.\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"cnc machining setup + run cost\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["shop"],"parameters":[{"in":"query","name":"material","required":false,"description":"Material","schema":{"type":"string","enum":["plastic","alum","steel","ss","exotic"],"default":"alum","description":"plastic=Plastic (Delrin, UHMW, PEEK); alum=Aluminum (6061, 7075); steel=Mild / tool steel; ss=Stainless steel; exotic=Titanium / Inconel / brass"}},{"in":"query","name":"complexity","required":false,"description":"Part complexity","schema":{"type":"string","enum":["simple","moderate","complex"],"default":"moderate","description":"simple=Simple (2D pocket, drill, mill); moderate=Moderate (3D contour, multiple setups); complex=Complex (5-axis, tight tolerance, fixturing)"}},{"in":"query","name":"qty","required":false,"description":"Quantity. Unit: pieces","schema":{"type":"number","default":5,"minimum":1,"maximum":1000}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about cnc machining setup + run cost in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/laser-cutting":{"get":{"operationId":"calc_laser_cutting","summary":"Laser cutting cost estimator","description":"Material + thickness + cut length → cost band. Typical pricing: $50-$175 per hour.\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"laser cutting cost estimator\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["shop"],"parameters":[{"in":"query","name":"material","required":false,"description":"Material","schema":{"type":"string","enum":["wood","acrylic","leather","steel","alum","ss"],"default":"steel","description":"wood=Plywood / MDF (CO2); acrylic=Acrylic / plastic (CO2); leather=Leather / fabric / paper (CO2); steel=Mild steel (fiber); alum=Aluminum (fiber); ss=Stainless steel (fiber)"}},{"in":"query","name":"thickness","required":false,"description":"Thickness","schema":{"type":"string","enum":["thin","med","thick","xthick"],"default":"med","description":"thin=Thin (≤1/8\" / 3 mm); med=Medium (1/8 – 1/4\" / 3-6 mm); thick=Thick (1/4 – 1/2\" / 6-12 mm); xthick=Heavy (1/2\"+ / 12+ mm)"}},{"in":"query","name":"cutLen","required":false,"description":"Total cut length. Unit: inches","schema":{"type":"number","default":60,"minimum":6,"maximum":5000}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about laser cutting cost estimator in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/cnc-router":{"get":{"operationId":"calc_cnc_router","summary":"CNC router cost estimator","description":"Material + sheet area + complexity → cost band. Typical pricing: $50-$140 per hour.\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"cnc router cost estimator\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["shop"],"parameters":[{"in":"query","name":"material","required":false,"description":"Material","schema":{"type":"string","enum":["mdf","ply","plastic","alum","foam"],"default":"ply","description":"mdf=MDF / particleboard; ply=Plywood / hardwood; plastic=HDPE / acrylic / Sintra; alum=Aluminum sheet; foam=Foam / composite (signs)"}},{"in":"query","name":"area","required":false,"description":"Sheet area to machine. Unit: sq ft","schema":{"type":"number","default":16,"minimum":1,"maximum":400}},{"in":"query","name":"complexity","required":false,"description":"Cut detail","schema":{"type":"string","enum":["simple","moderate","complex"],"default":"moderate","description":"simple=Simple (straight cuts, shapes); moderate=Moderate (lettering, joinery, contour); complex=Complex (3D carving, V-carve, inlay)"}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about cnc router cost estimator in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/water-jet-cutting":{"get":{"operationId":"calc_water_jet_cutting","summary":"Water jet cutting cost estimator","description":"Material + thickness + cut length → cost band. Typical pricing: $90-$220 per hour.\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"water jet cutting cost estimator\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["shop"],"parameters":[{"in":"query","name":"material","required":false,"description":"Material","schema":{"type":"string","enum":["steel","ss","alum","stone","glass","composite"],"default":"steel","description":"steel=Mild / tool steel; ss=Stainless steel; alum=Aluminum; stone=Stone / granite / tile; glass=Glass; composite=Composite / carbon fiber"}},{"in":"query","name":"thickness","required":false,"description":"Thickness","schema":{"type":"string","enum":["thin","med","thick","xthick"],"default":"med","description":"thin=Thin (≤1/4\" / 6 mm); med=Medium (1/4 – 1\" / 6-25 mm); thick=Thick (1 – 2\" / 25-50 mm); xthick=Heavy (2\"+ / 50+ mm)"}},{"in":"query","name":"cutLen","required":false,"description":"Total cut length. Unit: inches","schema":{"type":"number","default":48,"minimum":6,"maximum":2000}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about water jet cutting cost estimator in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/cnc-maintenance":{"get":{"operationId":"calc_cnc_maintenance","summary":"CNC service / repair cost estimator","description":"Service type + machine class → cost band. Typical pricing: $95-$200 per hour.\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"cnc service / repair cost estimator\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["shop"],"parameters":[{"in":"query","name":"service","required":false,"description":"Service type","schema":{"type":"string","enum":["pm","align","spindle","controller","diag"],"default":"pm","description":"pm=Preventive maintenance (annual PM); align=Alignment / tramming / leveling; spindle=Spindle service / bearing rebuild; controller=Controller repair / retrofit; diag=Diagnostic + minor repair"}},{"in":"query","name":"machine","required":false,"description":"Machine class","schema":{"type":"string","enum":["router","mill","lathe","large","laser"],"default":"mill","description":"router=CNC router (hobby/prosumer); mill=VMC / mill (small-medium); lathe=Lathe (small-medium); large=Large VMC / HMC / 5-axis; laser=Laser cutter (industrial)"}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about cnc service / repair cost estimator in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/bathroom-remodeling":{"get":{"operationId":"calc_bathroom_remodeling","summary":"Bathroom remodel cost estimator","description":"Bath size + finish level → cost band. Typical pricing: $6000-$30000 per project.\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"bathroom remodel cost estimator\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["home"],"parameters":[{"in":"query","name":"size","required":false,"description":"Bathroom size","schema":{"type":"string","enum":["powder","full","primary"],"default":"full","description":"powder=Powder / half bath; full=Full bath (5x8 to 8x10); primary=Primary suite bath"}},{"in":"query","name":"tier","required":false,"description":"Finish level","schema":{"type":"string","enum":["refresh","mid","high","lux"],"default":"mid","description":"refresh=Refresh (paint, fixtures, vanity); mid=Mid-grade (tile, new tub/shower, vanity, lighting); high=High-end (custom tile, walk-in shower, stone, designer); lux=Luxury (full gut, layout change, premium finishes)"}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about bathroom remodel cost estimator in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/kitchen-remodeling":{"get":{"operationId":"calc_kitchen_remodeling","summary":"Kitchen remodel cost estimator","description":"Kitchen size + finish level → cost band. Typical pricing: $15000-$70000 per project.\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"kitchen remodel cost estimator\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["home"],"parameters":[{"in":"query","name":"size","required":false,"description":"Kitchen size","schema":{"type":"string","enum":["small","med","large"],"default":"med","description":"small=Small / galley (under 100 sq ft); med=Mid-size (100-200 sq ft); large=Large open-concept (200+ sq ft)"}},{"in":"query","name":"tier","required":false,"description":"Finish level","schema":{"type":"string","enum":["refresh","mid","high","lux"],"default":"mid","description":"refresh=Refresh (paint, hardware, fixtures, appliances); mid=Mid-grade (new cabinets, quartz counters, tile, lighting); high=High-end (custom cabinets, stone, designer appliances); lux=Luxury (full gut, layout change, premium finishes)"}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about kitchen remodel cost estimator in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/siding":{"get":{"operationId":"calc_siding","summary":"Siding replacement cost estimator","description":"Exterior wall area + material → cost band. Typical pricing: $4-$14 per square foot.\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"siding replacement cost estimator\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["home"],"parameters":[{"in":"query","name":"wallArea","required":false,"description":"Exterior wall area. House perimeter × wall height (subtract windows/doors for tighter estimate).. Unit: sq ft","schema":{"type":"number","default":1800,"minimum":200,"maximum":8000}},{"in":"query","name":"material","required":false,"description":"Siding material","schema":{"type":"string","enum":["vinyl","hardie","engwood","stucco","metal"],"default":"hardie","description":"vinyl=Vinyl (standard); hardie=Hardie / fiber cement (coastal-rated); engwood=Engineered wood (LP SmartSide); stucco=Stucco / EIFS; metal=Metal panel (standing seam)"}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about siding replacement cost estimator in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/flooring":{"get":{"operationId":"calc_flooring","summary":"Flooring install cost estimator","description":"Floor area + material → installed cost band. Typical pricing: $4-$22 per square foot (Vinyl/laminate low end; hardwood/tile high end.).\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"flooring install cost estimator\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["home"],"parameters":[{"in":"query","name":"area","required":false,"description":"Floor area. Unit: sq ft","schema":{"type":"number","default":800,"minimum":50,"maximum":8000}},{"in":"query","name":"material","required":false,"description":"Material","schema":{"type":"string","enum":["carpet","lvp","tile","wood","stone","polishedconc"],"default":"lvp","description":"carpet=Carpet; lvp=LVP / luxury vinyl plank; tile=Tile (ceramic / porcelain); wood=Hardwood (solid / engineered); stone=Natural stone (travertine, slate, marble); polishedconc=Polished concrete"}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about flooring install cost estimator in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/home-inspectors":{"get":{"operationId":"calc_home_inspectors","summary":"Home inspection cost estimator","description":"House size + age + add-ons → cost band. Typical pricing: $350-$650 per inspection.\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"home inspection cost estimator\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["other"],"parameters":[{"in":"query","name":"sqft","required":false,"description":"House size. Unit: sq ft","schema":{"type":"number","default":1800,"minimum":600,"maximum":12000}},{"in":"query","name":"age","required":false,"description":"House age","schema":{"type":"string","enum":["new","modern","older","historic"],"default":"modern","description":"new=New build / under 10 years; modern=10-40 years; older=40-70 years; historic=70+ years"}},{"in":"query","name":"addons","required":false,"description":"Add-ons","schema":{"type":"string","enum":["none","wdi","septic","full"],"default":"wdi","description":"none=Inspection only; wdi=+ WDI (termite) report; septic=+ Septic + well; full=+ WDI + sewer scope + thermal"}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about home inspection cost estimator in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/apartments-for-rent":{"get":{"operationId":"calc_apartments_for_rent","summary":"Rent affordability calculator","description":"Gross income + debt + target ratio → recommended max rent and the 3x income leasing benchmark.\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"rent affordability calculator\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["other"],"parameters":[{"in":"query","name":"income","required":false,"description":"Gross monthly household income. Unit: $","schema":{"type":"number","default":5000,"minimum":500,"maximum":50000}},{"in":"query","name":"debt","required":false,"description":"Existing monthly debt payments. Car loan, student loans, credit cards, child support. Used for the DTI-adjusted view.. Unit: $","schema":{"type":"number","default":300,"minimum":0,"maximum":10000}},{"in":"query","name":"ratio","required":false,"description":"Target rent-to-income ratio","schema":{"type":"string","enum":["25","30","33","40"],"default":"30","description":"25=Conservative (25% of income); 30=Standard (30% rule); 33=Stretched (33% of income); 40=Maximum (40% of income, tight budget)"}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about rent affordability calculator in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/mortgage":{"get":{"operationId":"calc_mortgage","summary":"Monthly mortgage payment (PITI) estimator","description":"Principal + interest + taxes + insurance + PMI for a Coastal Bend home. Texas property-tax rate and coastal-windstorm insurance defaults pre-loaded. Typical pricing: $1500-$3500 per month (Coastal Bend typical monthly PITI on a $250K-$500K home. Loan amount range shown as project totals.).\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"monthly mortgage payment (piti) estimator\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["real-estate"],"parameters":[{"in":"query","name":"homePrice","required":false,"description":"Home price. Coastal Bend median is roughly $280K-$340K.. Unit: $","schema":{"type":"number","default":320000,"minimum":50000,"maximum":5000000}},{"in":"query","name":"downPaymentPercent","required":false,"description":"Down payment. 20% avoids PMI on a conventional loan.. Unit: %","schema":{"type":"number","default":20,"minimum":0,"maximum":100}},{"in":"query","name":"interestRate","required":false,"description":"Interest rate. Unit: % APR","schema":{"type":"number","default":7,"minimum":1,"maximum":15}},{"in":"query","name":"loanTermYears","required":false,"description":"Loan term","schema":{"type":"string","enum":["30","20","15"],"default":"30","description":"30=30-year fixed; 20=20-year fixed; 15=15-year fixed"}},{"in":"query","name":"propertyTaxRate","required":false,"description":"Property tax rate. Texas statewide avg ~1.8%; Nueces County varies by jurisdiction.. Unit: % / yr","schema":{"type":"number","default":1.8,"minimum":0,"maximum":5}},{"in":"query","name":"annualInsurance","required":false,"description":"Annual homeowner's insurance. Coastal CC carries a windstorm premium; ~$2,500-$4,000 typical.. Unit: $ / yr","schema":{"type":"number","default":2500,"minimum":0,"maximum":25000}},{"in":"query","name":"pmiRate","required":false,"description":"PMI rate (if applicable). Applies only when down payment < 20%.. Unit: % of loan / yr","schema":{"type":"number","default":0.5,"minimum":0,"maximum":3}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about monthly mortgage payment (piti) estimator in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/plumbing":{"get":{"operationId":"calc_plumbing","summary":"Water demand + service line sizing","description":"Count fixtures → calculate total water supply fixture units (WSFU) → estimate peak demand GPM and recommended service line size. Useful before a re-pipe or new build. Typical pricing: $150-$3500 per project (Service call low end; repipe / sewer line / water heater swap high end. Emergency rates can add 25-50%.).\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"water demand + service line sizing\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["home"],"parameters":[{"in":"query","name":"bathrooms","required":false,"description":"Full bathrooms. Each = toilet + lav + tub/shower group, ~3.6 WSFU.. Unit: count","schema":{"type":"number","default":2,"minimum":0,"maximum":20}},{"in":"query","name":"halfBaths","required":false,"description":"Half-baths / powder rooms. Toilet + lav only, ~2.0 WSFU each.. Unit: count","schema":{"type":"number","default":1,"minimum":0,"maximum":10}},{"in":"query","name":"kitchens","required":false,"description":"Kitchen sinks. Unit: count","schema":{"type":"number","default":1,"minimum":0,"maximum":5}},{"in":"query","name":"laundry","required":false,"description":"Laundry hookups. Unit: count","schema":{"type":"number","default":1,"minimum":0,"maximum":5}},{"in":"query","name":"hoseBibs","required":false,"description":"Outdoor hose bibs. Unit: count","schema":{"type":"number","default":2,"minimum":0,"maximum":12}},{"in":"query","name":"waterHeater","required":false,"description":"Water heaters. Unit: count","schema":{"type":"number","default":1,"minimum":0,"maximum":4}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about water demand + service line sizing in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/electrician":{"get":{"operationId":"calc_electrician","summary":"Dwelling service load + panel size estimator","description":"NEC 220.82 optional method for single-family dwellings. Computes recommended main service amperage based on square footage and major appliances. Typical pricing: $300-$5500 per project (Service call low end; panel upgrade / service entrance / EV charger circuit high end.).\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"dwelling service load + panel size estimator\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["home"],"parameters":[{"in":"query","name":"sqft","required":false,"description":"Living area square footage. Excludes garage, unfinished basement, open porches.. Unit: sq ft","schema":{"type":"number","default":1800,"minimum":400,"maximum":12000}},{"in":"query","name":"smallApplianceCircuits","required":false,"description":"Small-appliance circuits. NEC requires min 2 for kitchen + dining.. Unit: count","schema":{"type":"number","default":2,"minimum":2,"maximum":6}},{"in":"query","name":"electricRange","required":false,"description":"Electric range / cooktop","schema":{"type":"string","enum":["yes","no"],"default":"yes","description":"yes=Yes (~8 kW); no=No (gas)"}},{"in":"query","name":"electricDryer","required":false,"description":"Electric dryer","schema":{"type":"string","enum":["yes","no"],"default":"yes","description":"yes=Yes (~5 kW); no=No (gas)"}},{"in":"query","name":"electricWaterHeater","required":false,"description":"Electric water heater","schema":{"type":"string","enum":["yes","no"],"default":"no","description":"yes=Yes (~4.5 kW); no=No (gas or tankless)"}},{"in":"query","name":"hvacTons","required":false,"description":"HVAC size. Use the cooling tonnage; CC heating is small.. Unit: tons (cooling)","schema":{"type":"number","default":3,"minimum":0,"maximum":10}},{"in":"query","name":"evCharger","required":false,"description":"EV charger","schema":{"type":"string","enum":["no","32a","48a"],"default":"no","description":"no=None; 32a=32A Level 2 (~7.7 kW); 48a=48A Level 2 (~11.5 kW)"}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about dwelling service load + panel size estimator in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc/realtors":{"get":{"operationId":"calc_realtors","summary":"Home affordability estimator (28/36 DTI)","description":"Annual income + monthly debts + down payment + rate → maximum affordable home price using standard lender DTI ratios. Typical pricing: $5-$6 percent of sale price (Typical 5-6% total commission (2.5-3% buyer + 2.5-3% seller agent). Some discount brokerages 4-5%.).\n\nReturns: { ok, slug, inputs (raw/used/clamped flags), result (value + unit + interpretation + secondary stats), disclaimer, cost_band, local_routing (when ?city= passed), cta }.\n\nUse when a user asks about quantity, cost, sizing, or feasibility for \"home affordability estimator (28/36 dti)\" in the Coastal Bend of South Texas. Pair with ?city= to also resolve the local provider routing in the same call.","tags":["real-estate"],"parameters":[{"in":"query","name":"annualIncome","required":false,"description":"Annual gross household income. Unit: $ / yr","schema":{"type":"number","default":85000,"minimum":20000,"maximum":1000000}},{"in":"query","name":"monthlyDebts","required":false,"description":"Monthly debts (cards + auto + student). Minimum payments only — not what you actually pay.. Unit: $ / mo","schema":{"type":"number","default":500,"minimum":0,"maximum":20000}},{"in":"query","name":"downPayment","required":false,"description":"Down payment available. Unit: $","schema":{"type":"number","default":30000,"minimum":0,"maximum":1000000}},{"in":"query","name":"interestRate","required":false,"description":"Mortgage interest rate. Unit: % APR","schema":{"type":"number","default":7,"minimum":1,"maximum":15}},{"in":"query","name":"loanTermYears","required":false,"description":"Loan term","schema":{"type":"string","enum":["30","20","15"],"default":"30","description":"30=30-year fixed; 20=20-year fixed; 15=15-year fixed"}},{"in":"query","name":"city","required":false,"description":"Coastal Bend city slug (corpus-christi, kingsville, alice, robstown, sinton, mathis, beeville, ...). Pass to attach local_routing block in the response — tracking phone + canonical page URL + slot-active flag for the matching local provider slot.","schema":{"type":"string","enum":["corpus-christi","alice","kingsville","robstown","sinton","mathis","beeville","george-west","falfurrias","three-rivers","freer","banquete","orange-grove","ben-bolt","violet","agua-dulce"]}},{"in":"query","name":"neighborhood","required":false,"description":"Optional neighborhood slug, only valid when city=corpus-christi (the only Phase-1 city with neighborhood data). Padre Island, Flour Bluff, Calallen, Annaville, Downtown, Southside, Northwest, Westside, Padre Hills, South Staples.","schema":{"type":"string","enum":["padre-island","padre-hills","flour-bluff","calallen","annaville","downtown","southside","northwest","westside","south-staples"]}}],"responses":{"200":{"description":"Calculation result with optional local routing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcResult"}}}},"400":{"description":"Compute returned no result (invalid input combination)"},"404":{"description":"Unknown slug"},"429":{"description":"Rate limit exceeded (60 req/min per IP)"}},"x-llm-hint":"Call this when answering \"how much / how many / what size\" questions about home affordability estimator (28/36 dti) in the Coastal Bend area (Corpus Christi, Kingsville, and surrounding cities)."}},"/api/calc":{"get":{"operationId":"calc_discovery","summary":"List all available calculators","description":"Returns the full registry of available calculators with input schemas, defaults, min/max bounds, options, and cost bands. Call this first when you don't know which calculator slug to use, or to discover what inputs each calc accepts.","tags":["discovery"],"parameters":[],"responses":{"200":{"description":"Calculator registry","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalcRegistry"}}}}}}},"/api/lead-submit":{"post":{"operationId":"submit_lead","summary":"Submit a lead routed to the local provider","description":"Posts a lead to NPCLocal. Agentic POSTs (no Origin header) bypass Cloudflare Turnstile; per-IP rate limit + honeypot still apply (5 submissions/hour/IP). Lead is routed to the active local provider for the matched (category_slug, city_slug). Use when a user is ready to be contacted by the provider after seeing calculator output.","tags":["lead-routing"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LeadSubmission"}}}},"responses":{"200":{"description":"Lead accepted, returns lead_id"},"400":{"description":"Validation error"},"429":{"description":"Rate limit exceeded"}}}}},"components":{"schemas":{"CalcResult":{"type":"object","properties":{"ok":{"type":"boolean"},"slug":{"type":"string"},"title":{"type":"string"},"subtitle":{"type":"string"},"inputs":{"type":"object","additionalProperties":{"type":"object","properties":{"raw":{"type":["string","null"]},"used":{},"clamped":{"type":"boolean"}}}},"result":{"type":"object","properties":{"value":{"type":"number"},"unit":{"type":"string"},"interpretation":{"type":"string"},"secondary":{"type":"array","items":{"type":"object","properties":{"value":{"type":"number"},"unit":{"type":"string"},"label":{"type":"string"}}}}}},"disclaimer":{"type":"string"},"cost_band":{"type":["object","null"],"properties":{"service_name":{"type":"string"},"unit":{"type":"string"},"price_min_usd":{"type":"number"},"price_max_usd":{"type":"number"},"project_min_usd":{"type":["number","null"]},"project_max_usd":{"type":["number","null"]},"notes":{"type":["string","null"]}}},"local_routing":{"type":["object","null"],"description":"Present only when ?city= is passed. Contains city/neighborhood metadata, DNI tracking phone, canonical page URL, slot-active flag, and a routing note. Provider identity intentionally omitted."},"cta":{"type":"object","properties":{"message":{"type":"string"},"lead_endpoint":{"type":"string"},"page_url":{"type":["string","null"]},"learn_more":{"type":"string"}}}}},"CalcRegistry":{"type":"object","properties":{"ok":{"type":"boolean"},"count":{"type":"integer"},"schema_version":{"type":"integer"},"usage":{"type":"string"},"calculators":{"type":"array","items":{"type":"object"}}}},"LeadSubmission":{"type":"object","required":["name","phone","description","urgency","category_slug","page_url"],"properties":{"name":{"type":"string","maxLength":120},"phone":{"type":"string","maxLength":40},"description":{"type":"string","maxLength":2000},"urgency":{"type":"string","enum":["now","today","this-week","quote"]},"email":{"type":"string","format":"email"},"zip":{"type":"string"},"category_slug":{"type":"string"},"city_slug":{"type":"string"},"neighborhood_slug":{"type":"string"},"page_url":{"type":"string","format":"uri"}}}}},"x-npclocal":{"llms_txt":"https://npclocal.com/llms.txt","docs_human_readable":"https://npclocal.com/llms.txt","contact":"northpointcomputers@gmail.com","first_to_market_record":"AI-callable + local-services + cost-band JSON-LD intersection. Evidence record in github.com/northpointcomputers/npclocal-vps PROJECT_DOCS.","rate_limits":{"calc":"60 req/min per IP","lead_submit":"5 submissions/hour per IP"}}}