Bowmark AIdocs

Identity Group

Identity Group's live hotel-signage catalog — search by brand or sign type, read a product's real mount-option prices, and get a checkout handoff URL.

Identity Group's live hotel-signage catalog — search by brand or sign type, read a product's real mount-option prices, and get a checkout handoff URL. Rung 9, no browser.

Domain: identitygroup.com

Also known as: Identity Group, identitygroup.com

Call it directly

bowmark.providers.identitygroup.searchSigns(query: string): Promise<IdentitygroupSearchResult[]>
bowmark.providers.identitygroup.getSign(handle: string): Promise<IdentitygroupProduct>
bowmark.providers.identitygroup.priceMountOption(handle: string, mountOption: string): Promise<IdentitygroupMountOptionResult>

Functions

FunctionWhat it does
searchSignsRuns Identity Group's own storefront search for a hotel brand or sign type (e.g. "americinn", "veteran parking", "exit sign") and returns real, live, in-stock results with price — the same…
getSignReads one sign product's full page by its handle (from searchSigns()): every mount-option variant with its own real live price, plus the product's own page URL.
priceMountOptionResolves a free-text mount option (e.g. "wall mount", "fence post") to its exact variant on one product, returning the real price and a checkoutUrl handoff — Shopify's own cart permalink…

Types

interface IdentitygroupSearchResult {
  handle: string;
  title: string;
  price: string;
  available: boolean;
  url: string;
}

interface IdentitygroupVariant {
  id: string;
  title: string;      // the mount option, e.g. "Fence Post" or "Wall Mount"
  sku: string;
  price: string;
  available: boolean | null;
}

interface IdentitygroupProduct {
  handle: string;
  title: string;
  url: string;
  variants: IdentitygroupVariant[];
}

interface IdentitygroupMountOptionResult {
  query: string;
  handle: string;
  matched: boolean;
  variant: IdentitygroupVariant | null;
  candidates: IdentitygroupVariant[];   // real options, populated when not matched to exactly one
  productUrl: string;
  checkoutUrl: string | null;           // Shopify cart permalink preselecting the matched variant
  message: string;
}

Examples

// Search the live catalog for a hotel-brand sign, then price its mount options.
const hits = await bowmark.providers.identitygroup.searchSigns("americinn veteran parking");
const product = await bowmark.providers.identitygroup.getSign(hits[0].handle);
return { product: product.title, variants: product.variants };
// Resolve a specific mount option and hand off to checkout.
const priced = await bowmark.providers.identitygroup.priceMountOption(
  "americinn-veteran-parking-us-9300",
  "Wall Mount",
);
return { price: priced.variant?.price, checkoutUrl: priced.checkoutUrl };