Back Chat Music Quotation Platform
A comprehensive band booking and quotation management platform with dynamic pricing, contract signing, invoicing, and full QuickBooks integration.
Overview
Back Chat is a purpose-built quotation and booking management platform for the live music entertainment industry. It enables operators to generate dynamic, multi-band quotes for events — from weddings and corporate functions to festivals — and manage the entire lifecycle from initial enquiry through to final payment.
The platform consists of a Laravel 12 API backend and a Next.js 15 frontend, deployed independently and communicating via a RESTful API secured with Sanctum SPA authentication.
Dynamic Pricing Engine
At the heart of the platform is a sophisticated pricing engine that calculates quotes automatically based on multiple intersecting variables:
- Distance brackets — tiered pricing based on travel distance from the band’s base, calculated via the Google Maps Distance Matrix API with geocoded postcodes
- Date brackets — seasonal and peak-date adjustments for bank holidays, wedding season, and New Year’s Eve
- Time-slot pricing — different rates depending on performance start times, with per-band availability rules
- Add-on services — optional extras such as photography packages, extended sets, lighting rigs, and DJ add-ons, each independently priced per band
- Multi-band discounts — automatic discount applied per additional band booked on the same event
- Timed discounts — expiring promotional discounts with countdown timers that can be locked at a fixed amount
Administrators can override any automatic calculation with manual pricing, providing full flexibility while maintaining an audit trail of every price change with timestamped reasons.
Multi-Band Booking Workflow
Quotes support multiple bands on a single event. Each band carries its own pricing matrix, available time slots, and selectable add-ons. Customers receiving a quote can toggle bands on and off, adjust time slots, and customise add-ons — all with live price recalculation in the browser.
The quote lifecycle follows a clear status progression: Draft → Ready → Accepted → Signed, with each transition triggering appropriate notifications and unlocking the next set of available actions.
Contract and Signature Management
The platform handles the full contract signing workflow digitally. Administrators upload PDF contracts which are versioned and tracked. Signing follows a strict sequence — the admin signs first, then the customer — with postcode verification providing an additional layer of identity confirmation before a customer can sign.
Contracts can only be replaced before the customer has signed, preventing post-agreement modifications.
Invoicing and Payment Integration
A two-stage invoicing model splits payments into a 20% deposit and 80% balance. Both invoices are created and synchronised automatically with QuickBooks Online via the QBO SDK, including customer record creation, VAT/tax code configuration, and webhook-driven status updates.
Customers can verify and download their invoices through the public quote view, authenticated by postcode matching.
Public Quote Experience
Each quote is accessible via a unique UUID-based URL. The public view presents the customer with an interactive breakdown of their quote — band selections, add-on options, time slot choices, and a running total. Analytics sessions track customer interactions, providing operators with insight into viewing patterns and engagement.
Technical Architecture
- API: Laravel 12 with service-oriented architecture — dedicated services for pricing calculation, route computation, geocoding, contract signing, QuickBooks synchronisation, invoice generation, and notification dispatch
- Frontend: Next.js 15 with React 19, shadcn/ui components built on Radix primitives, React Hook Form with Zod validation, and Axios for API communication
- Data layer: Eloquent models with heavy use of pivot tables, custom accessors for computed business logic, eager-loaded relationships, and query scopes for reusable filtering
- Security: Sanctum SPA authentication, CSRF protection, rate limiting, and input sanitisation throughout
- Infrastructure: Dockerised development environment, queue-driven background processing, and configurable notification preferences per user