SpinPin – Entertainment Venue Platform
Full-stack booking & management platform for SpinPin Leicester — the city's ultimate entertainment venue for roller skating, ten-pin bowling & arcade games. Features a 6-step booking wizard, party reservation flow, digital waivers, SumUp payments, admin CMS, and Azure deployment.
Role
Category
Full StackProject Gallery






Project Overview
SpinPin is Leicester's ultimate entertainment venue — roller skating, ten-pin bowling, and arcade games under one roof in Leicester City Centre. The platform is a production-grade, full-stack web application managing every touchpoint of the customer journey, from first visit to in-venue check-in, across two distinct surfaces: a public-facing booking website and an internal admin management portal. The system replaced a fragmented, manual booking process with a seamless, conversion-optimised digital experience capable of handling peak-season traffic, birthday parties, group bookings, and full GDPR/waiver compliance. --- **🌐 Surface 1: Public Website & Booking Platform** **Homepage & Marketing:** A vibrant, venue-branded homepage hero ("Welcome to Spin Pin") with three immediate CTAs — Book Tickets Now, Sign Waiver, and View Attractions — alongside a live location pin linking to Google Maps directions. A PWA install banner ("Install SpinPin App — Book faster & get exclusive offers!") surfaces on mobile, driving app engagement. The nav covers all key commercial pages: Home, Attractions, Parties, Pricing, Guidelines, Contact. **Attractions Page:** A dedicated 3-activity showcase (Roller Skating, Ten-Pin Bowling, Arcade) with a live, day-by-day opening hours bar displaying real-time open/closed status — including smart Leicester City Council bank holiday detection. Hours: Mon CLOSED · Tue–Fri 12:00–22:00 · Sat 12:00–23:00 · Sun 12:00–22:00. Each activity links directly into the booking flow. **6-Step Session Booking Wizard:** The core booking engine walks customers through a structured, linear flow: • **Step 1 – Activity Selection:** Choose between Roller Skating (Leicester's First Skating Rink, 90-min sessions, skate hire £2.95, from £9.95/person) and Ten-Pin Bowling (per-game pricing, automatic scoring, food & drinks at lane, from £9.95/person). • **Step 2 – Date & Time:** A smart calendar rendering available/unavailable dates based on real-time capacity, operating hours, and closure logic (bank holidays, private hires). • **Step 3 – Guests:** Guest count selection with per-head pricing calculation and group discount application. • **Step 4 – Details:** Customer contact information collection (name, email, phone). • **Step 5 – Waiver:** Inline digital waiver signing — GDPR-compliant, legally binding, with audit trail storage per booking. • **Step 6 – Summary & Payment:** Full booking summary with SumUp payment processing, VAT-inclusive pricing, and instant confirmation email via Azure Communication Services. **5-Step Party Booking Flow:** A dedicated party reservation wizard for birthday and group party packages: • **Step 1 – Details:** Party information (name, email, phone, birthday child's name & age, party date). • **Step 2 – Sign In:** Account authentication for returning customers. • **Step 3 – Participants:** Guest headcount for the party group. • **Step 4 – Payment:** Deposit payment (50% upfront — e.g. Base Package £250.00, deposit £125.00 due now, balance on the day). Includes: 60-minute skating, dedicated party room for 1 hour. • **Step 5 – Confirm:** Booking confirmation with automated email receipt. **My Account Portal:** Registered users access a personal account dashboard to view booking history, manage upcoming reservations, and track waiver status. --- **⚙️ Surface 2: Admin Management Portal** A comprehensive, production-grade internal command centre — "Spin Pin Admin — Management Portal" — with 18+ dedicated module pages organised across 7 functional groups, accessed by role-authenticated admin users. **📊 Overview Group:** • **Dashboard:** Real-time venue operations snapshot — live booking counts, today's session capacity, revenue figures, and recent activity feed. • **Website Content (CMS Dashboard):** A full content management system managing 7 live SEO-active pages (Home: "Spin Pin – Leicester's Premier Entertainment Venue", About, Attractions, Pricing, Party Packages, Contact, Safety Guidelines — all with ACTIVE status indicators and their URL slugs). Also manages 4 Content Collections: Banners (homepage hero sliders), Logos (site branding), FAQs (Q&A page content), and Social Links (social media profiles) — all editable by non-technical staff without developer involvement. • **Contact Messages:** Inbox for all customer enquiries submitted via the public contact form, with read/unread tracking. **📅 Booking Management Group (8 sub-modules):** • **All Bookings:** A unified view of every booking across all activity types, searchable and filterable by date, status, activity, and customer. • **Calendar:** A full visual calendar interface showing session capacity utilisation, party reservations, and booking blocks across all time slots. • **Session Bookings — 🛼 Skating Bookings:** Filtered view of all roller skating session bookings with check-in management, capacity status, and booking details. • **Session Bookings — 🎳 Bowling Bookings:** Dedicated bowling lane booking management with lane assignment and group size tracking. • **Manual Session Booking:** Staff-side booking creation tool — allowing admin users to book sessions on behalf of walk-in customers or phone enquiries without going through the public flow. • **Session Booking History:** Full historical audit log of all past session bookings with status, payment, and waiver completion records. • **Party Bookings:** Management of all party reservations with deposit status, headcount, package selection, and upcoming party calendar view. • **Manual Party Booking:** Admin-initiated party reservation creation for phone or in-person enquiries. • **Party Booking History:** Complete historical record of all past party bookings with financial reconciliation data. **💳 Payments:** Full payment transaction ledger — all SumUp transactions with status (PENDING, CONFIRMED, REFUNDED), amounts, booking references, and webhook confirmation timestamps. Revenue summary with period filtering. **📨 Invitation Templates:** Manage reusable email invitation templates for party packages — customisable with dynamic fields (child's name, date, venue details) for automated guest invitation sending. **🚫 Booking Blocks:** Admin tool to block out time slots from public booking availability — for private hires, maintenance windows, or capacity holds — preventing overbooking without touching the database directly. **👥 Customers:** Full customer registry with booking history, waiver status, account details, and contact information per user. **📋 Waivers & Entries Group:** • **Waiver Submissions:** Database of all digitally signed waivers with timestamp, booking reference, IP address, and signer details — audit-ready for venue compliance and legal review. • **Free Entry Submissions:** Management of complimentary entry vouchers and free pass submissions, with redemption tracking. **🎟️ Promotions Group:** • **Vouchers:** Create, manage, and track discount vouchers and promotional codes — with usage limits, expiry dates, and redemption analytics. **📣 Marketing Group:** • **Campaigns:** Build and send targeted email marketing campaigns to customer segments — promoting new sessions, seasonal offers, and party packages. • **Templates:** Reusable email template library for marketing campaigns and transactional messages, built with dynamic content blocks. **⚙️ System Group:** • **Settings:** Global platform configuration — venue details, operating hours, payment gateway keys, email service configuration, and feature flags. • **Admin Users:** User management for the admin portal itself — create, edit, and deactivate admin accounts with role assignment (Admin, Manager, Staff). **Multi-Venue Architecture:** The admin sidebar also surfaces external venue links (Go Kids Go, Go Kids Play, Spin Pin) — indicating the platform is architected to support multi-venue operations under a unified admin system. --- **📱 Surface 3: Mobile Application** A dedicated SpinPin mobile app surfaced via a PWA install prompt ("Install SpinPin App — Book faster & get exclusive offers!") on the public website. The app delivers the full booking experience optimised for mobile — activity selection, calendar booking, party reservations, digital waiver signing, and account management — all from a native app-like interface without requiring App Store distribution. --- **🔧 Engineering Highlights:** • **Smart Calendar Engine:** Custom-built calendar logic integrating Leicester City Council bank holiday data (2025–2027) to accurately mark closures, preventing invalid bookings automatically. • **SumUp Webhook Pipeline:** Real-time payment status synchronisation via SumUp webhooks — booking status transitions from PENDING → CONFIRMED only on successful payment confirmation, preventing ghost bookings. • **Azure Infrastructure:** Full production deployment on Azure App Service with Blob Storage for media assets, GitHub Actions CI/CD pipeline, and environment-variable-driven configuration for zero-downtime updates. • **GDPR-Compliant Waiver System:** Digital waivers stored with timestamp, IP, and booking reference — legally compliant with UK consumer law requirements for physical activity venues. • **PWA-Ready Frontend:** Progressive Web App manifest enabling mobile install prompts, pushing repeat engagement without requiring App Store distribution. • **SSR + SEO:** Next.js 14 server-side rendering for all public pages with structured metadata, Open Graph, and sitemap generation — driving organic search visibility in Leicester entertainment searches.
Key Features
- 6-Step Session Booking Wizard (Activity → Date → Guests → Details → Waiver → Payment)
- 5-Step Party Booking Flow with 50% Deposit & Balance-on-Day Logic
- Smart Calendar with Bank Holiday & Booking Block Detection
- SumUp Payment Gateway with Real-Time Webhook Synchronisation
- GDPR-Compliant Digital Waiver System with Full Audit Trail
- Live Opening Hours Bar with Day-by-Day Open/Closed Status
- 18+ Admin Portal Pages Across 7 Module Groups
- CMS Dashboard: 7 Live Pages + 4 Content Collections (Banners, Logos, FAQs, Social Links)
- Booking Management: Skating, Bowling, Parties, Manual Bookings, Calendar, Blocks
- Payment Ledger with SumUp Transaction Status Tracking
- Waiver Submissions & Free Entry Management
- Email Marketing: Campaigns, Templates & Invitation Builder
- Voucher & Promotions Management System
- Customer Registry with Booking History & Waiver Status
- Admin User Management with Role-Based Access (Admin, Manager, Staff)
- Multi-Venue Architecture (Go Kids Go, Go Kids Play, Spin Pin)
- PWA Mobile App with Full Booking & Waiver Capability
- Azure Communication Services Email Automation
- SSR-Powered SEO with Structured Metadata & Open Graph
- GitHub Actions CI/CD on Azure App Service