Back to Projects

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

Full Stack Developer System Architect Payment Integration Specialist Deployment Engineer

Category

Full Stack

Project Gallery

SpinPin – Entertainment Venue Platform - Main
SpinPin – Entertainment Venue Platform - Screenshot 1
SpinPin – Entertainment Venue Platform - Screenshot 2
SpinPin – Entertainment Venue Platform - Screenshot 3
SpinPin – Entertainment Venue Platform - Screenshot 4
SpinPin – Entertainment Venue Platform - Screenshot 5

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

Tech Stack

frontend

Next.js 14TypeScriptTailwind CSS

backend

DjangoDjango REST FrameworkPython

database

PostgreSQLAzure Blob Storage

other

Azure App ServiceSumUp APIAzure Communication ServicesGitHub Actions CI/CDPWA