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
| Function | What it does |
|---|---|
listPackages | Lists 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. |
getPackageDetails | Reads 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 };