Skip to main content

GMC Tours · Excursion booking system for Joomla + WordPress, 0% commission

Tour booking engine

GMC Tours

Sell excursions, rentals and activities from your own CMS with 0% platform commission, Stripe checkout and a calmer direct-booking workflow.

What is included

  • Tour catalogue and availability flow
  • Stripe-ready checkout
  • Works for Joomla or WordPress delivery

Booking Engine

€399/year

Choose GMC Tours or GMC Booking. Annual licence, updates and support included.

Buy Booking Engine

Direct Booking Pack

€699/year

GMC Tours + GMC Booking together for one annual direct-booking stack.

Direct Booking Pack

Docs

Docs and implementation notes

Use this page as the quick start: choose the engine, complete checkout, then send your CMS platform and preferred booking flow so delivery can be mapped cleanly.

FAQ

Everything included

98 real features, grouped by area — the full depth of the GMC Tours booking engine, nothing hidden.

Booking engine & availability

  • Scheduled departures — publish each tour with fixed date-and-time departures, each with its own seat capacity.
  • Per-person bookings — a customer books one departure for N participants, with a live per-departure seat counter, not a clumsy per-night calendar.
  • Overbooking-proof seat hold — seats are locked in a database transaction at checkout, so two people can never grab the last seat on the same departure.
  • Timed checkout holds — seats are reserved for a configurable window (default 15 min) while the customer pays, then released automatically if they don't.
  • Automatic hold release — a background task returns seats from abandoned or expired holds, so inventory never gets stuck.
  • Booking cutoff / lead time — stop sales a set number of minutes before departure (per tour, with a per-departure override), enforced even under a race.
  • Min / max party size — enforce group-size limits server-side.
  • Recurring-departure generator — bulk-create repeating departures from a schedule instead of adding each one by hand.
  • Waitlist — customers join a waitlist for full departures and are promoted automatically when a seat frees up.
  • Departure viability auto-cancel — automatically close departures that never reach a minimum viable group size and refund those bookings.
  • Whole-departure cancel + refund cascade — cancel an entire departure in one action; every booking on it is cancelled and refunded automatically.

Product types & options (variants)

  • Four product types — timeslot, open-date, private and multiday, so one engine sells fixed-time tours, undated vouchers and private hire.
  • Open-date / skip-the-line vouchers — sell undated tickets that take no seat and are redeemed on arrival (gate capacity), distinct from the scheduled seat hold.
  • Product options / variants — sell the same tour in several variants (e.g. shared vs private, morning vs sunset), each with its own price, capacity and rules.
  • Flexible per-option pricing — per-person, a flat buyout unit price, or a percent/fixed modifier over shared tiers — whichever fits the variant.
  • Front-end option selector — a segmented picker on the tour page filters departures and pricing to the chosen variant, cheapest preselected; works with or without JavaScript.
  • Option snapshots — the booked variant label is frozen onto the booking so later edits never rewrite a customer's record.

Pricing, tiers & discounts

  • Per-person price tiers — Adult / Child / Senior… each with its own price, age band and party-size band.
  • Live price quote — the total and availability update instantly as the guest changes departure, quantities, option or gift card.
  • Volume breaks — larger parties automatically get a cheaper per-person price.
  • Add-on extras — optional paid extras, charged per booking or per person.
  • Multi-currency — set the selling currency per tour.
  • Tax / VAT — configurable rate and label, inclusive or exclusive, carried onto invoices.
  • Deposits & balance collection — take a deposit now and collect the balance later with an automatic pay link and reminder, or allow pay-on-arrival.
  • Discount coupons — percent or fixed, with a minimum-party gate, validity window and usage cap; reserved race-safely so a coupon is never over-redeemed.
  • Gift cards — sell and issue store-credit gift cards redeemed at checkout, with optional expiry; a card that covers the whole amount skips the payment step entirely.
  • Sequential invoices — numbered invoices with a configurable prefix.

Payments

  • Stripe built in — embedded Payment Element with a signature-verified webhook as the source of truth (raw REST, no bulky SDK).
  • Stripe hosted checkout — an alternative "Pay now" redirect (Checkout Session) mode.
  • PayPal built in — PayPal Smart Buttons alongside Stripe; the customer chooses the provider at checkout (none / Stripe / PayPal / both).
  • Test & sandbox modes — validate the whole flow before going live.
  • Refunds — full or partial, wired into cancellation and provider-aware (refunds the Stripe intent or the PayPal capture automatically).
  • Tiered cancellation-refund policy — set refund percentages by time-before-departure, per tour, with an all-or-nothing fallback.
  • Reconciliation-grade ledger — an append-only charge / refund / deposit / balance record per booking, with Stripe fee and net figures for payout reconciliation.
  • Double-charge protection — idempotency keys mean a webhook replay or page reload never charges twice.
  • Demo confirm mode — take bookings with email confirmation before you've connected a payment provider.

Guest / customer experience

  • Tour catalogue — a browsable list with thumbnails and a category filter.
  • Nearby / radius search — surface tours near a location, distance-sorted.
  • Rich tour page — gallery, meeting point, duration, difficulty, languages, what's included and excluded, and the cancellation policy.
  • Departures list + ticket picker — pick a departure and per-tier quantities inline.
  • Map embed — an OpenStreetMap meeting-point map with no API key or extra JavaScript library.
  • Verified reviews & ratings — reviews are accepted only from real confirmed bookings, with an average rating and admin moderation.
  • E-ticket / QR voucher — a printable voucher for each confirmed booking.
  • "My bookings" self-service area — customers see their booking history and re-access their e-tickets.
  • Self-service cancellation — cancel and get refunded per the tour's policy.
  • On-site check-in — a token-secured check-in page for the day of operation.
  • Guest ↔ host messaging — a booking-scoped message thread between customer and operator.
  • Clean SEF URLs — human-readable tour links.
  • Configurable contact band — a "Questions? Talk to us" block that can be full contact details, a single WhatsApp-concierge CTA, or hidden.

Marketplace (Portal mode)

  • Two modes, one licence — run as Single (sell your own tours) or Portal (a commission marketplace) from the same product.
  • Host self-registration — external operators sign up themselves, with optional auto-approval and KYC gating.
  • Host dashboard — each operator gets their own KPI dashboard and recent-bookings view, scoped to their listings only.
  • Host self-service listings — approved operators create and manage their own tours, departures and price tiers from the front end — no admin access needed.
  • Listing approval queue — new host listings stay pending until published (publishing is the approval), or auto-publish if you prefer.
  • Commission model — earn a configurable commission on every booking (10% default).
  • Automatic Stripe Connect payouts (Joomla) — commission is split atomically at settlement via destination charges, with a payout ledger and Connect onboarding + KYC sync.
  • Ownership isolation — every host-scoped action is IDOR-guarded so operators can never see or touch each other's data.

Admin & operations

  • Operations dashboard — live KPIs for tours, departures, bookings, confirmed, active holds, revenue, waitlist and pending host listings.
  • Full CRUD — tours, departures (capacity, price, guide, meeting-point override, cutoff), price tiers, coupons, gift cards and product options.
  • Bookings management — cancel + refund, mark completed, check-in, mark no-show (with undo), collect balance, and an invoice link, per booking.
  • Back-office booking creation — staff can create a booking directly, not only via public checkout.
  • Per-departure manifest / day-sheet — a printable manifest plus a CSV participant roll-call for each departure.
  • Day-of-operations dispatch board — a purpose-built board for running the day.
  • Departures calendar — a month-view calendar of all departures.
  • Sales reports — revenue, bookings, pax, average order value, refunds and net over any date range, with a prior-period comparison.
  • Payout reconciliation report — reconcile the multi-row payment ledger against provider payouts, with CSV.
  • CSV exports — bookings and a participant registry (the foundation for ES SES.Hospedajes / parte de viajeros reporting), UTF-8 so accented names survive Excel.
  • Waitlist management UI — view and manage waitlist entries and promotions.
  • Resource allocation — assign guides / vehicles to departures with overlap-conflict blocking.
  • Liability waiver capture — record waiver acceptance and version on the booking.

Emails & notifications

  • Booking confirmation emails — to customer and admin, including the meeting point and the e-ticket / manage / cancel links.
  • Configurable email intro & footer — brand outbound emails with your own intro text and signature.
  • Pre-departure reminders — automatic reminder emails ahead of each departure.
  • Balance reminders — automatically chase outstanding deposit balances before the departure.
  • Abandoned-hold recovery — a one-time recovery email nudging customers whose checkout expired.
  • SMS / WhatsApp notifications — optional Twilio or WhatsApp Cloud sends alongside email (best-effort, off by default).

Integrations & developer API

  • Reseller / public REST API — resellers can read the catalogue, check availability and create bookings, authenticated by hashed, scoped API keys; off by default.
  • OCTO (octo.travel) supplier API — a read-only products / options / units / availability surface for OTA and channel-manager pulls, on its own independent toggle.
  • Outbound webhook — HMAC-signed booking events pushed to your endpoint for automations.
  • iCal export — publish each tour's departures as an .ics feed that Google Calendar / Outlook can subscribe to.
  • Booking-source tracking — every booking records its channel (web / api / admin) plus UTM parameters.
  • Analytics injection — GA4, Google Tag Manager and Meta Pixel tags with ecommerce events, built in.

Automation (scheduler)

  • Built-in scheduled tasks — release expired holds, send reminders, run departure viability auto-cancel, send balance reminders, and sync Stripe Connect (marketplace) — as Joomla scheduled tasks and WordPress WP-Cron jobs.

Security, privacy & GDPR

  • Token-gated bookings — bookings can only be viewed or confirmed with their secret token, so customers never see each other's data (no IDOR).
  • CSRF protection — every state-changing form is token-checked.
  • Signature-verified webhooks — payment webhooks are HMAC-verified with replay protection, never trusting the browser.
  • GDPR consent capture — consent is recorded at booking time.
  • Stored-XSS guard — host-submitted descriptions are HTML-filtered.
  • Hashed API keys — keys are stored SHA-256-hashed and shown in full only once, at creation.
  • Self-hosted data — all bookings and customer data live in your own database.

Localization

  • English, Italian and Spanish out of the box — admin, front end and scheduler plugins fully translated, respecting your site's multilingual setup.

Trust & licensing

  • GPL-licensed software — released under the GNU GPL.
  • Self-hosted, you own the data — no third-party marketplace sits between you and your customers; payment providers use your own credentials.
  • Annual licence, one site — includes the official build, one-click licensed updates and support.
  • One-click updates — the extension checks the GMC / FuerteventuraTV update server automatically (Joomla ~24 h, WordPress ~12 h) and offers updates while your licence is active.
  • Download key by email — entered once to unlock licensed updates.
  • Lapsed-licence safe — if the licence lapses the installed product and existing bookings keep working; only updates and support stop.
  • Proven in production — this exact build powers the live tours catalogue and checkout on fuerteventurasurfcamp.com.

Joomla & WordPress

  • Joomla — requires Joomla 5.0+ or 6 and PHP 8.1+ (J6 target 8.2), MySQL 8 / MariaDB with InnoDB; the single pkg_gmctours package installs the component, the scheduler task plugin and the web-services API plugin; automated Stripe Connect marketplace payouts are available.
  • WordPress — requires WordPress 6.0+ and PHP 8.1+; delivered as shortcodes + REST routes + WP-Cron with the identical seat-hold booking engine. Honest gap: no automated Stripe Connect payouts on WordPress — commission is tracked on each booking, but paying hosts is a manual admin step (Joomla has automated payouts).

FAQ

Is there any per-booking commission?
No. The plugin does not add a per-booking fee. Stripe fees remain Stripe fees.
Joomla or WordPress?
The licence can be delivered for the CMS version agreed after checkout.
Can I buy both systems?
Yes. Use Direct Booking Pack when you want tours and accommodation booking together.

www.fuerteventuratv.net es tambien una agencia online especializada en excursiones, actividades y locaciones en Canarias.
Somos Intermediadores Turisticos oficiales por el Gobierno de Canarias, con identificadores I-0003278.1

Social


Copyright www.fuerteventuratv.net From 2011. All Rights Reserved.