Bowmark AIdocs

Grand Welcome

Grand Welcome's own vacation rental search, listing detail, and real-time dated pricing/booking-link engine — a national franchise's own inventory, live…

Grand Welcome's own vacation rental search, listing detail, and real-time dated pricing/booking-link engine — a national franchise's own inventory, live availability and price, not a stale catalog.

Domain: grandwelcome.com

Also known as: Grand Welcome

Call it directly

bowmark.providers.grandwelcome.listGrandwelcomeDestinations(): Promise<GrandwelcomeDestination[]>
bowmark.providers.grandwelcome.searchRentals(destinationSlug: string, options?: { bedrooms?: number }): Promise<GrandwelcomeRentalRow[]>
bowmark.providers.grandwelcome.getRentalDetail(rentalId: string): Promise<GrandwelcomeRentalDetail>
bowmark.providers.grandwelcome.getRentalQuote(propertyId: string, options: { checkin: string; checkout: string }): Promise<GrandwelcomeQuote>

Functions

FunctionWhat it does
listGrandwelcomeDestinationsThe entry door: reads the site's own /sitemap.xml for every published destination page and returns each one's slug (the exact vocabulary searchRentals takes) with a human-readable label…
searchRentalsRuns Grand Welcome's own destination search (a market slug like "california-sea-ranch", from a rental's own page or the destination directory), optionally filtered to a bedroom count, and…
getRentalDetailReads one rental in full — name, description, photos, and the internal numeric propertyId getRentalQuote needs — from the rentalId a search result or a grandwelcome.com/rentals/<id> URL…
getRentalQuoteRuns the site's own real-time pricing engine for one property and a date range ("YYYY-MM-DD") — rent, fees, tax, total — and returns the exact Book Now checkout URL for those dates.

Types

interface GrandwelcomeDestination {
  slug: string;
  label: string;
  url: string;
}
interface GrandwelcomeRentalRow {
  rentalId: string;
  name: string;
  url: string;
  location: string;
  propertyType: string;
  petFriendly: boolean;
  priceFromUsd: number | null;
  priceFromFormatted: string | null;
  bedrooms: number | null;
  bathrooms: number | null;
  guests: number | null;
  ratingValue: number | null;
  ratingCount: number | null;
}
interface GrandwelcomeRentalDetail {
  rentalId: string;
  propertyId: string;
  name: string;
  description: string;
  images: string[];
  url: string;
}
interface GrandwelcomeQuoteFee {
  label: string;
  amountUsd: number;
}
type GrandwelcomeQuote =
  | { available: true; propertyId: string; checkin: string; checkout: string; currency: "USD";
      rentUsd: number; fees: GrandwelcomeQuoteFee[]; feesTotalUsd: number; taxUsd: number;
      totalUsd: number; bookNowUrl: string }
  | { available: false; propertyId: string; checkin: string; checkout: string };