Men Of Legends — custom WordPress booking plugin
Custom WordPress booking plugin for a multi-experience entertainment brand; per-package pricing engine, Stripe deposits, deep-linkable flows.
Overview
Shaped the plugin architecture (activation/migrations/versioned catalog revisions, repositories, calculators, REST endpoints) against changing client masters. Built the multi‑step frontend flow with validation, summaries, Stripe/PayPal round‑trip safe state persistence, retries, configurable policy hooks. Wired server‑authoritative totals (packages, hybrids, addons, tiers, promo, travel tiers, configurable full‑payment cutoff) so UI never dictates price. Added admin-managed surfaces—packages/addons/settings, labels & text hooks, imagery slots/optimization—for client operators to adjust without deployments. Hardened operability edge cases—schema evolution, inactive legacy rows, slot scoping/filtering per experience‑package blocks, configurable night‑out days and minimum lead‑time guards. Produced email/admin visibility for preferences, taxes of payment structure, confirmations consistent with finalized copy.
What we shipped
◆ Designed a server-side pricing engine that handles per-guest, flat, and hybrid (flat fee covers N guests, then per-extra-guest overage) modes from a single source of truth that never trusts client-side totals.
◆ Built the customer-facing booking app in vanilla JS with deep-linkable URLs (?exp=...&pkg=...) so SMS auto-responder links land customers on the right experience and date picker without re-selecting.
◆ Integrated Stripe Checkout with a deposit-now / auto-charge-72h-before-event policy, falling back to 100% upfront when a booking lands inside the cutoff window.
◆ Shipped a configurable admin: packages editor with minimum-guest and included-headcount fields, time-slot rules, venues, customer-editable labels, and built-in help docs the client can update without me.
◆ Wrote a versioned catalog migration system so price and package changes ship as numbered revisions with a hotfix history, not destructive overwrites.
◆ Added customer self-service for booking changes alongside per-experience email templates the team edits from the admin.
Tools, standards, assumptions.
- PHP
- WordPress plugin API
- Vanilla JavaScript
- REST
- MySQL
- Stripe checkout
- PayPal
- WordPress
- Plugin
- Booking
What changed.
Numbers from the live store after the work was shipped — measured against pre-existing baselines, never theoretical.