Bowmark AIdocs

Maiden Home

Maiden Home's Size x Wood Finish product configurator (sofas, sectionals/modular components, tables) — list every configurable product, read one product's…

Maiden Home's Size x Wood Finish product configurator (sofas, sectionals/modular components, tables) — list every configurable product, read one product's complete priced variant grid, and resolve a free-text product + size + wood finish to the exact live price and SKU, off the storefront's own live catalog rather than a researched estimate or a hedged price range.

Domain: maidenhome.com

Also known as: Maiden Home, maidenhome.com

Call it directly

bowmark.providers.maidenhome.searchConfigurations(query?: string): Promise<MaidenHomeConfiguratorProduct[]>
bowmark.providers.maidenhome.getProduct(handle: string): Promise<MaidenHomeConfiguratorProduct>
bowmark.providers.maidenhome.resolveVariant(productQuery: string, size: string, woodFinish: string): Promise<MaidenHomeVariantResolution>

Functions

FunctionWhat it does
searchConfigurationsLists every Maiden Home product configurable by Size x Wood Finish (sofas, sectionals/modular components, tables) from the storefront's own live catalog — every size and wood-finish option,…
getProductReads one configurator product's complete Size x Wood Finish variant grid — a handle, e.g. "the-chelsea-sofa-heritage-belgian-linen-lake" — every size x finish combination, each with its…
resolveVariantResolves a free-text product (e.g. "Chelsea Sofa Heritage Belgian Linen Lake"), size (e.g. "85\"") and wood finish (e.g. "Driftwood Ash") to the exact priced variant and its product URL,…

Types

// Maiden Home's OWN shapes — not a capability contract.

interface MaidenHomeVariant {
  productHandle: string;
  productTitle: string;
  productType: string;      // e.g. "Sofa", "Modular Component", "Dining Table"
  size: string;              // e.g. "85\" Width", or a non-numeric value like "Right-Facing Chaise"
  woodFinish: string;        // e.g. "Driftwood Ash"
  sku: string;
  price: number;
  priceFormatted: string;
  available: boolean;
  url: string;               // the product page, preselecting this exact variant
}

interface MaidenHomeConfiguratorProduct {
  handle: string;
  title: string;
  productType: string;
  url: string;
  sizeOptions: string[];
  woodFinishOptions: string[];
  priceRange: { min: number; max: number };
  variants: MaidenHomeVariant[];
}

interface MaidenHomeVariantResolution {
  productQuery: string;
  size: string;
  woodFinish: string;
  matched: boolean;
  variant: MaidenHomeVariant | null;
  candidates: MaidenHomeVariant[]; // populated when not narrowed to exactly one real variant
  message: string;
}

Examples

// Resolve the exact variant ChatGPT's own fit-check hedged into a price range —
// the site's configurator narrowed to one real, priced, in-stock variant.
const resolved = await bowmark.providers.maidenhome.resolveVariant(
  "Chelsea Sofa Heritage Belgian Linen Lake",
  '85"',
  "Driftwood Ash",
);
return { matched: resolved.matched, price: resolved.variant?.priceFormatted, url: resolved.variant?.url };
// What can I configure, and what does one product actually offer?
const configurable = await bowmark.providers.maidenhome.searchConfigurations("chelsea");
const chelsea = await bowmark.providers.maidenhome.getProduct(configurable[0]!.handle);
return { sizes: chelsea.sizeOptions, finishes: chelsea.woodFinishOptions, priceRange: chelsea.priceRange };