Bowmark AIdocs

TopView Sightseeing

TopView's NYC hop-on-hop-off bus, Statue of Liberty cruise and bike/walking tour packages — getPackageDetails reads one package's live price and its own…

TopView's NYC hop-on-hop-off bus, Statue of Liberty cruise and bike/walking tour packages — getPackageDetails reads one package's live price and its own real-time booking calendar (available/blocked/sold-out dates) off topviewtix.com/new-york/<slug>.

Domain: topviewtix.com

Also known as: TopView, TopView Sightseeing, TopView Group, TopView Bus Tours

Call it directly

bowmark.providers.topviewtix.listPackages(): Promise<topviewtixPackageSummary[]>
bowmark.providers.topviewtix.getPackageDetails(args: object): Promise<topviewtixPackageDetails>

Functions

FunctionWhat it does
listPackagesLists every TopView tour package currently sold in New York — id, name, slug, adult/kid price and url — straight off the same package-card grid the site's own home page renders.
getPackageDetailsReads one TopView tour package in full — name, description, adult/kid price, and the site's OWN live booking calendar (which dates are open, blocked, or sold out, and how far out the…

Types

interface topviewtixPackageDetails {
  id: number;
  slug: string;
  name: string;
  description: string;
  url: string;
  adultsPrice: number | null;
  kidsPrice: number | null;
  isAdultOnly: boolean;
  availableDates: string[];
  blockedDates: string[];
  soldOutDates: string[];
  availableUntil: string | null;
}

interface topviewtixPackageSummary {
  id: number;
  slug: string;
  name: string;
  adultsPrice: number | null;
  kidsPrice: number | null;
  url: string;
}

Examples

// What TopView tours are there, and what's the hop-on-hop-off option cost?
const packages = await bowmark.providers.topviewtix.listPackages();
const hoho = packages.find((p) => /hop.on.hop.off/i.test(p.name));
return { name: hoho?.name, adultsPrice: hoho?.adultsPrice };
// Is TopView's Hop On Hop Off Signature Pass open for a date next month?
const pkg = await bowmark.providers.topviewtix.getPackageDetails({ slug: "hop-on-hop-off-pass" });
return { name: pkg.name, adultsPrice: pkg.adultsPrice, openDates: pkg.availableDates };