Bowmark AIdocs

Chris-Craft

Chris-Craft's runabout 'Build Your Own' product builder — list every current model and boat type, read one build's full option tree (edition, engine,…

Chris-Craft's runabout 'Build Your Own' product builder — list every current model and boat type, read one build's full option tree (edition, engine, hull/stripe/vinyl colors, ~29 named accessories, cover, flooring and more, each choice's exact MSRP and discounted Your Price), and price a specific build against the site's own live pricing rather than a researched estimate.

Domain: chriscraft.com

Also known as: Chris-Craft, Chris Craft, chriscraft.com, Chris-Craft Corporation

Call it directly

bowmark.providers.chriscraft.searchModels(query?: string): Promise<ChriscraftModelSummary[]>
bowmark.providers.chriscraft.getConfigurator(modelId: string, boatType: ChriscraftBoatType): Promise<ChriscraftConfigurator>
bowmark.providers.chriscraft.priceConfiguration(modelId: string, boatType: ChriscraftBoatType, selections: Record<string, string | string[]>): Promise<ChriscraftPriceResult>

Functions

FunctionWhat it does
searchModelsLists every current Chris-Craft model+boat-type combination from the public "Build Your Own" gallery — model id, boat type (STERNDRIVE/OUTBOARD/SURF), name and its build.chriscraft.com…
getConfiguratorReads one model+boat-type's whole builder: every option group (Edition Selection, Top Option, Engine Type, Hull Color, Stripe Color, Cockpit Vinyl colors, Contrast Stitching, Additional…
priceConfigurationPrices ONE specific build — selections keyed by option group (case-insensitive), a single choice name or, for a multi-select group like "Additional Options", an array of choice names, e.g.…

Types

// Chris-Craft's OWN shapes — not a capability contract.

type ChriscraftBoatType = "STERNDRIVE" | "OUTBOARD" | "SURF";

interface ChriscraftModelSummary { modelId: string; boatType: ChriscraftBoatType; name: string; url: string }

interface ChriscraftOptionChoice {
  id: string;               // the site's own guid
  name: string;
  price: number;            // MSRP delta, 0 for a no-charge default
  priceFormatted: string;
  discountPercentage: number;
  yourPrice: number;         // discounted price, ROUNDED per choice (matches the site's own display)
  yourPriceFormatted: string;
  isDefault: boolean;        // true if the page loads with this choice already picked
}

interface ChriscraftOptionGroup {
  category: string;          // broader section, e.g. "Edition Selection", "Paint"
  group: string;             // the key priceConfiguration's selections are matched against
  required: boolean;         // true for a mandatory group (Edition Selection, Engine Type)
  maxSelections: number | null; // 1 = single-select, null = unlimited multi-select (e.g. Additional Options)
  choices: ChriscraftOptionChoice[];
}

interface ChriscraftConfigurator {
  modelId: string;
  boatType: ChriscraftBoatType;
  name: string;
  url: string;
  groups: ChriscraftOptionGroup[];
}

interface ChriscraftPriceLine { group: string; choice: string; price: number; yourPrice: number }

interface ChriscraftPriceResult {
  modelId: string;
  boatType: ChriscraftBoatType;
  msrpTotal: number;
  msrpTotalFormatted: string;
  yourPriceTotal: number;
  yourPriceTotalFormatted: string;
  breakdown: ChriscraftPriceLine[];  // one line per group — the caller's pick(s), or the site's own default
  unmatched: string[];               // a caller selection that matched no real group/choice
  unresolvedGroups: string[];        // a REQUIRED group with no pick and no default (e.g. Edition Selection, Engine Type) — totals are a FLOOR until these are picked
  handoffUrl: string;                // the model's own builder page — no shareable configured-state URL exists to build, and the aggregate total is behind a lead-capture form never submitted here
}

Examples

// Price the exact build ANGLE found ChatGPT guessing at.
const priced = await bowmark.providers.chriscraft.priceConfiguration("10882", "STERNDRIVE", {
  "Edition Selection": "Standard Edition",
  "Engine Type": "Volvo V8 5.3L (300HP) DP FWC EVC",
  "Top Option": "Bimini Top with Vertical Storage and Boot",
});
return { msrp: priced.msrpTotalFormatted, yourPrice: priced.yourPriceTotalFormatted, stillToPick: priced.unresolvedGroups, buildThisOn: priced.handoffUrl };
// What models exist, and what does one's builder actually offer?
const models = await bowmark.providers.chriscraft.searchModels("sportster");
const cat = await bowmark.providers.chriscraft.getConfigurator(models[0].modelId, models[0].boatType);
const engines = cat.groups.find((g) => g.group === "Engine Type");
return { model: cat.name, boatType: cat.boatType, engineChoices: engines?.choices.map((c) => c.name) };