TemplateOpen source
VOLT goes multi-club: a live hall map, a crew-and-kit checkout and match tickets
VOLT now models a network of clubs: four locations (Madrid, Barcelona, Valencia, Málaga), each with its own padel doubles, padel singles and squash courts. The VOLT Padel & Squash dataset seeds the whole network.- Club-first booking, full screen.
/bookstarts from one club: the linked one, the one the browser remembers, or “Near me” from the club coordinates. New visitors pick from photo cards with each club’s soonest free court. - Hall map. Every court from above, doubles wide and singles narrow, lit for one start time (free, free within the hour, free later, taken). Drag a time bar over the free-courts pulse; “Book 19:30” takes the best free court.
- Grid view. Courts × half hours, now per club, with the same duration popover.
- One request per club. A server route reads each court’s merged availability once (no per-day or per-cell calls), caches it for 60 seconds and invalidates it on booking, cancel or reschedule; the browser computes the map, grid and “free from” locally.
- Game flow checkout. Numbered steps with a sticky match card: court (any or exact) → crew (names, email invites as appointment guests, price per player) → kit (add-ons) → details → payment. Trainings use the same flow with level, club, coach, day and places.
- Match-ticket confirmation. The court from above with a spot per player, a countdown, calendar file, directions, “Same time next week?”.
- My games. Stats, the next game as a ticket, past games with “Book again”, crew invites, change time and cancel.
/preview/[screen]renders every confirmation and account state from fixtures.
TemplateOpen source
VOLT — open-source padel & squash club booking template
The fourth open-source Opencals template is live, and the first one built around staffless resources instead of staff-led appointments. VOLT is a padel & squash club booking website: the same Storefront API and typed TypeScript SDK as Haar, Frisor and Clear Care, with a dark technical design and a different booking shape.Two booking surfaces over one store: an in-page court grid for rentals, and a classic coach-led flow for lessons and group classes. Every screen is built with the public API.- Multi-court booking grid — every court and every open slot for a day in one view, with a padel/squash toggle
- Custom durations — 30-minute steps to two hours, composed from consecutive free slots and priced live
- Staffless resources — courts use the
Selfrule withmaxAttendees: 1, so each court is an independent, exclusively-booked unit - Coach-led training — filter by sport, level and format; “Any coach — next available” leads the picker; group classes show live “N left” capacity
- Add-ons and custom checkout questions, Stripe payments with deposit support
- Passwordless customer accounts — 6-digit email login with password fallback, auto-login after checkout, one-time email links via
/link/[token] SportsActivityLocationstructured data, Open Graph,robots.txtandsitemap.xmlconfigured- Stack: Next.js 15, TypeScript, Tailwind v4, Framer Motion,
@opencals/storefront-sdkv0.3.14 - MIT licensed — clone, rebrand, deploy. One-click Vercel deploy.