Bowmark AIdocs

Champion Xpress Carwash

Reads Champion Xpress Carwash's own live "25 for Life" MVP Unlimited membership picker — every currently enrolled wash location, and for a chosen one, the…

Reads Champion Xpress Carwash's own live "25 for Life" MVP Unlimited membership picker — every currently enrolled wash location, and for a chosen one, the real current monthly price plus a preseeded add-to-cart link — the way the site's own state/location select computes it, real-time.

Domain: champxpress.com

Also known as: Champion Xpress Carwash, Champion Xpress, champxpress.com, ChampXpress

Call it directly

bowmark.providers.champxpress.listLocations(): Promise<ChampxpressLocation[]>
bowmark.providers.champxpress.getPlanQuote(location: string): Promise<ChampxpressPlanQuote>

Functions

FunctionWhat it does
listLocationsLists every wash location currently enrolled in Champion Xpress's "25 for Life" MVP Unlimited membership plan, read live off the plan page's own state/location select.
getPlanQuoteRuns the site's own price computation for one location — location is a free-text name or slug from listLocations(), e.g. "El Paso" or "el-paso-tx-alameda" — and returns the real current…

Types

// Champion Xpress's OWN shapes — not a capability contract.

interface ChampxpressLocation { slug: string; displayName: string; state: string }

interface ChampxpressPlanQuote {
  location: ChampxpressLocation;
  planName: string;
  price: number;
  currency: "USD";
  checkoutUrl: string;             // preseeded add-to-cart link; not visited by this provider
}

Examples

// The query ChatGPT could only half-answer: a real current price for a named
// location plus a working add-to-cart link, not a promise to "send the checkout link".
const locations = await bowmark.providers.champxpress.listLocations();
const quote = await bowmark.providers.champxpress.getPlanQuote(locations[0].displayName);
return quote.checkoutUrl;