Bowmark AIdocs

Row House

Row House's own live class schedule and seat availability, run for real — real class names, times, instructor and free_spots per studio, off the site's…

Row House's own live class schedule and seat availability, run for real — real class names, times, instructor and free_spots per studio, off the site's own undocumented scheduler API, plus a real booking handoff.

Domain: therowhouse.com

Also known as: Row House, The Row House, therowhouse, RowHouse

Call it directly

bowmark.providers.therowhouse.listLocations(): Promise<TheRowHouseLocationSummary[]>
bowmark.providers.therowhouse.getSchedule(slug: string): Promise<TheRowHouseSchedule>

Functions

FunctionWhat it does
listLocationsLists every Row House studio's slug and page URL, off the site's own published sitemap.xml.
getScheduleReads one studio's live class schedule (real class names, instructor, start/end time, capacity, and live free_spots) plus its own address/phone/parking detail, and each class's booking_url…

Types

interface TheRowHouseLocationSummary {
  slug: string;
  url: string;
}
interface TheRowHouseLocationDetail {
  slug: string;
  name: string;
  address: string;
  city: string;
  state: string;
  zip: string;
  phone: string | null;
  timezone: string;
  parkingInfo: string | null;
  siteUrl: string;
}
interface TheRowHouseClass {
  id: string;
  title: string;
  description: string | null;
  startsAt: string;
  endsAt: string;
  capacity: number;
  freeSpots: number;
  instructorName: string | null;
  bookingUrl: string;
}
interface TheRowHouseSchedule {
  location: TheRowHouseLocationDetail;
  classes: TheRowHouseClass[];
  warnings: string[];
}

Examples

// what free-trial classes are open this week at the Sherman Oaks studio?
const sched = await bowmark.providers.therowhouse.getSchedule("sherman-oaks");
log(sched.classes
  .filter(c => c.freeSpots > 0)
  .map(c => `${c.title} ${c.startsAt} — ${c.freeSpots} spots open -> ${c.bookingUrl}`)
  .join("\n"));
// which studios does Row House have, and where?
const locations = await bowmark.providers.therowhouse.listLocations();
log(locations.map(l => l.slug).join(", "));