{"repo":"vladimir-siedykh/booking-calendar","free":true,"listed":false,"github":"https://github.com/vladimir-siedykh/booking-calendar","clone":"git clone https://github.com/vladimir-siedykh/booking-calendar.git","description":"Open‑source Cal.com booking calendar for Next.js (Tailwind + shadcn/ ui).","language":"TypeScript","stars":36,"topics":["nextjs","react","shadcn","tailwindcss","typescript"],"license":"MIT","category":"productivity","readme_excerpt":"BookingCalendar 📅 Beautiful, fast, and customizable booking calendar UI for Next.js with Cal.com v2 integration. Built for real-world use (from my site), open-sourced so you can copy, paste, and ship. Live Preview - Live on my site: https://vladimirsiedykh.com/contact Screenshots ✨ Features - 🎨 Beautiful UI: Modern, accessible, responsive. - 🌍 Timezone-aware: Auto-detection + manual selector. - ⏰ 12h/24h formats: User-toggle in UI. - 🔌 Cal.com v2: Slots, Bookings, Reschedule, Cancel. - ⚡ Fast UX: Prefetch + intersection observer. - 📦 Copy-paste ready: No package install required. Tech Stack - Tailwind CSS (v4) for styles - shadcn/ui components (copied into src/components/ui ) - React + Next.js (App Router) - TypeScript throughout - Radix primitives under the hood via the shadcn components Performance - Prefetch: As the widget nears the viewport, it prefetches the whole visible month’s available slots so switching days feels instant. - Intersection Observer: Uses the browser’s IntersectionObserver with a rootMargin of 500px to start work before the user sees the calendar. - Local Filtering: Clicking a day filters prefetched data locally; it only calls the API again if that specific day wasn’t covered or needs refresh. - Smooth UX: Slot list shows skeletons during loading; the widget auto‑scrolls on step changes (calendar ↔ form ↔ success) to keep context. - No Setup Needed: This all runs automatically — just render BookingWidget and configure your event type and API route","default_branch":null,"files":null,"tree":[],"storefront":"/r/vladimir-siedykh","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/vladimir-siedykh/booking-calendar/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}