Bowmark AIdocs

ASP - America's Swimming Pool Company

ASP - America's Swimming Pool Company's own 257-location franchise directory — match a zip code to the exact local ASP franchise that services it (name,…

ASP - America's Swimming Pool Company's own 257-location franchise directory — match a zip code to the exact local ASP franchise that services it (name, phone, coverage) and hand back that location's own Request Service form URL, the same match/route step ASP's site itself performs before a homeowner can request service.

Domain: asppoolco.com

Also known as: ASP, ASP Pool, America's Swimming Pool Company, ASP - America's Swimming Pool Company, asppoolco.com

Call it directly

bowmark.providers.asppoolco.findLocationByZip(zip: string): Promise<AspZipMatch>
bowmark.providers.asppoolco.listLocations(state?: string): Promise<AspLocation[]>

Functions

FunctionWhat it does
findLocationByZipMatches a 5-digit US zip code against ASP's 257-location franchise network and returns the ONE local franchise that services it — name, phone, coverage zips, and its own Request Service…
listLocationsLists every ASP franchise location on the public directory — name, state, phone, coverage zips, site URL and Request Service URL.

Types

// ASP's OWN shapes — not a capability contract.

interface AspLocation {
  name: string;             // e.g. "ASP - America's Swimming Pool Company of Baldwin County"
  state: string;             // two-letter state code
  url: string;                // the location's own site
  requestServiceUrl: string;  // handoff URL — ASP's own per-location request form
  phone: string;
  coverageZips: string[];     // every zip this location's page declares covering
}

interface AspZipMatch {
  zip: string;
  covered: boolean;           // false = no published ASP location covers this zip yet
  location: AspLocation | null;
}

Examples

// The goal-flow ChatGPT couldn't complete on its own: find the local franchise for a zip.
const match = await bowmark.providers.asppoolco.findLocationByZip("30324");
if (!match.covered) return { covered: false };
return { location: match.location.name, phone: match.location.phone, requestServiceUrl: match.location.requestServiceUrl };
// Every ASP location in one state.
const georgia = await bowmark.providers.asppoolco.listLocations("GA");
return georgia.map((l) => ({ name: l.name, phone: l.phone }));