Bowmark AIdocs

Barnes Foundation

The Barnes Foundation's own live ticket-admission data, read directly — real day-by-day open/closed availability and real per-category pricing arithmetic…

The Barnes Foundation's own live ticket-admission data, read directly — real day-by-day open/closed availability and real per-category pricing arithmetic for Barnes Foundation admission and the Barnes + Calder Gardens combo, off the site's own undocumented API.

Domain: visit.barnesfoundation.org

Also known as: Barnes Foundation, The Barnes Foundation, barnesfoundation

Call it directly

bowmark.providers.barnesfoundation.getAdmissionCalendar(admissionType: "barnes" | "calderCombo"): Promise<BarnesAdmissionCalendar>
bowmark.providers.barnesfoundation.priceAdmission(admissionType: "barnes" | "calderCombo", tickets: BarnesAdmissionQuoteInput[]): Promise<BarnesAdmissionQuote>

Functions

FunctionWhat it does
getAdmissionCalendarReads the live day-by-day open/closed calendar (a rolling ~6-month window) for either "barnes" (Barnes Foundation admission only) or "calderCombo" (Barnes + Calder Gardens combo admission)…
priceAdmissionComputes a real ticket total for the given admission type and category quantities (personType matched case-insensitively against the live list — "Adult", "Senior", "Youth", "Child", etc.)…

Types

type BarnesAdmissionType = "barnes" | "calderCombo";
interface BarnesAdmissionDay {
  date: string;
  active: boolean;
}
interface BarnesAdmissionCalendar {
  admissionType: BarnesAdmissionType;
  name: string;
  days: BarnesAdmissionDay[];
}
interface BarnesAdmissionQuoteInput {
  personType: string;
  quantity: number;
}
interface BarnesAdmissionQuoteLine {
  personType: string;
  quantity: number;
  unitPrice: number;
  subtotal: number;
}
interface BarnesAdmissionQuote {
  admissionType: BarnesAdmissionType;
  currency: "USD";
  lines: BarnesAdmissionQuoteLine[];
  total: number;
}

Examples

// is the Barnes open this coming Saturday, and what would 2 adults + 1 child cost?
const cal = await bowmark.providers.barnesfoundation.getAdmissionCalendar("barnes");
const saturday = cal.days.find(d => d.date.startsWith("2026-09-05"));
const quote = await bowmark.providers.barnesfoundation.priceAdmission("barnes", [
  { personType: "Adult", quantity: 2 },
  { personType: "Child", quantity: 1 },
]);
log(`open: ${saturday?.active} — total: $${quote.total}`);