A motorhome booking plugin powering two real campervan sites in Cumbria




What the plugin actually does
Each pitch (bay) is configurable individually. Some bays are EHU-equipped, some not. Some are dog-friendly, some not. Some have hardstanding, some grass. Customers book a specific bay, not just 'a pitch'.
Customers enter their vehicle reg at checkout. The plugin looks up the make, model and year via DVLA's API. The warden frontend shows the expected vehicle. Mis-typed regs caught at checkout, not at the gate.
Different rates for peak, shoulder and off-season. Different rates per bay where applicable. Different rates for parish residents on the Wicham deployment. All configurable through the admin — no code changes needed for seasonal updates.
A separate tablet-optimised view for on-site staff. Today's arrivals, expected vehicles, payment status, customer notes, check-in actions. Designed for use on a phone or tablet at the gate, not at a desk.
Booking confirmations, arrival reminders, and exception notifications go out by SMS via Twilio. Useful for campervan customers who may be travelling and not checking email. Configurable per-deployment.
Every booking, change, cancellation, refund and override logged with timestamp, user and reason. Parish councils in particular need auditable records — the plugin gives them a full trail by default.
The maths of commission-based booking platforms
Pitchup typically takes 5-7% of each booking. Booking.com 10-25%. On a typical £35 pitch night, that's £1.75-£8.75 going to the platform every time, every season, every year.
Off-the-shelf booking software designed for hotels doesn't model bay-level availability, warden frontends, or seasonal pricing the way campervan sites need. Workarounds are messy.
Build properly. Plugin to existing WordPress sites. WooCommerce backing for payments. Real bay-level data model. Operational features the off-the-shelf platforms don't even attempt.
Two live deployments. Direct bookings flowing through without commission. Audit logs that satisfy parish council reporting. Warden workflow that makes check-ins faster than checking a clipboard.
Pure PHP plugin. 12,000+ lines. 15 admin pages.
The plugin is 12,000+ lines of PHP across fifteen admin pages — bookings, calendar, bays, season pricing, blackout dates, bay maintenance, warden view, users, settings, instructions, audit log, export. Each admin page handles a specific operational concern. The data model uses custom database tables with versioned migrations and full referential integrity.
Behind the scenes: WooCommerce integration for payments and refunds, DVLA API for vehicle reg lookup, Twilio API for SMS notifications, iCal export for channel manager sync (so Pitchup or Airbnb can read the calendar even when bookings are taken direct).
It is one of our older plugins and a demonstration that pure-PHP plugins remain a viable architecture when SEO, signal reliability or admin-heavy workflows favour it over a SPA approach.
Wicham Parish Council and Estuary View Escapes
Wicham Parish Council runs a council-managed motorhome aire — a small pitch facility funded and operated by the parish. The pricing reflects parish-resident discounts. Bookings need full audit trails for council financial reporting. The warden frontend is operated by volunteer staff on rota. Compliance with public-sector accessibility standards mattered from the start.
Estuary View Escapes runs a commercial campervan site at Millom Pier. Higher booking volume, more bays, commercial pricing tiers, full marketing integration. The warden frontend is operated by paid staff. Direct bookings replace what would otherwise flow through Pitchup at 5-7% commission.
Same plugin, same codebase. The differences are configuration, not custom code. New deployments don't require new development — they require configuration of bays, pricing, and operational rules.
Direct bookings synced to your existing platform calendars
A direct booking comes in through the plugin. The iCal export immediately reflects that bay as unavailable for the booking dates. When Pitchup or another platform reads the iCal, it sees the bay as already booked and prevents double-booking automatically.
Conversely, the plugin can read iCal feeds from external platforms — so a booking taken on Pitchup blocks the same bay in the direct booking system. Bidirectional iCal sync works with any platform that supports the iCal standard, which is most of them.
This means clients can run the plugin alongside their existing channel listings without changing how they market — and gradually shift volume toward direct bookings as those become a bigger proportion of revenue.
Designed for use at the gate on a phone or tablet
Today's arrivals are listed by expected arrival time with the customer name, vehicle registration, expected vehicle make and model (from DVLA lookup), bay assignment, payment status and any customer notes. Wardens can mark check-in with a single tap. Late arrivals are flagged automatically. Departures are similarly tracked.
Quick actions handle the common exceptions — extending a stay, moving a customer to a different bay, applying a discount, recording a maintenance issue with the bay. Each action creates an audit log entry automatically.
The warden frontend works offline if the connection drops mid-shift — changes are queued and synced when signal returns. Critical when sites are remote or rural, which most campervan sites are.
Catching mis-typed registrations before they cause problems at the gate
When a customer enters their vehicle registration at checkout, the plugin looks it up via DVLA's API and confirms the make, model, year and fuel type. The customer sees a confirmation message — 'Found: 2019 Ford Transit Custom' — and can correct if they entered a typo.
At the warden frontend, the expected vehicle make and model appear alongside the booking. When a vehicle arrives at the gate, the warden can quickly verify against the system. Mis-typed regs that would previously have caused a discussion at the gate are caught at checkout, not on arrival.
It is also useful for audit and compliance — vehicle records held are accurate, can be exported for reporting, and integrate cleanly with public-sector accessibility requirements where bay-allocation justification needs to be auditable.
Pure PHP plugins are still the right answer when context demands it
The point: we pick the right architecture for the project, not the flashiest one. Some clients want React because it sounds modern; sometimes that's the right call. Some clients are surprised when we recommend pure PHP for parts of their build; sometimes that is the right call too.
The Motorhome Booking plugin is a demonstration that traditional WordPress plugin architecture — done properly, with audit logs, security checks, versioned migrations, mobile-optimised admin frontends and external API integrations — is more than enough to deliver production-grade software for many real businesses.
The methodology behind it is the same as our React-heavy builds. The result looks different — but the discipline doesn't change.
Industries where bay-level or unit-level allocation matters
Real wardens using the system every day
The same three-step process used for both motorhome deployments
Discovery workshop covering bay configuration, pricing rules, warden workflow, third-party platform integration, and audit requirements. Written scope and fixed-price quote after.
Most motorhome booking builds take 6-10 weeks from scope agreement to live system. Staging URL from week one. Weekly demos. Every milestone documented.
Deploy to your hosting. Train wardens on the frontend. 30-day bug-fix window. Optional ongoing support thereafter.
Things prospects ask before signing a build agreement
Can the plugin handle multiple sites under one owner?
Let's talk about what a custom motorhome booking platform would look like for your site.
