Skip to main content

GMC Booking — Documentation (WordPress)

GMC Booking for WordPress is a standalone accommodation booking plugin: you publish properties with their units, rates and availability, and take real reservations end to end on your own site — no channel commission. It includes a double-booking-proof availability lock, two-way iCal sync with Airbnb / Booking, and built-in Stripe / PayPal checkout. The same product runs in two modes: Single (you rent out your own properties) and Portal (a marketplace where other hosts list properties and you earn a commission on every booking, 10% by default). It is aimed at property owners and hosts who want direct bookings, and at agencies or destination sites running a multi-host marketplace.

Requirements: WordPress 6.0 or newer, PHP 8.1 or newer. Price: EUR 399/year (annual licence, one site).

Installation

  1. In your WordPress dashboard go to Plugins → Add New Plugin → Upload Plugin.
  2. Choose the plugin .zip file you downloaded after purchase (keep it zipped — do not extract it).
  3. Click Install Now, then Activate.
  4. After activation, the plugin's own admin menu and settings screen appear in the dashboard.

Configuration

Open the plugin's settings screen from its admin menu and work through these steps:

  1. Download Key. Enter the Download Key you received with your licence email in the field on the settings screen. This unlocks licensed one-click updates from the GMC / FuerteventuraTV update server.
  2. Mode. Choose Single (your own properties) or Portal (multi-host marketplace with commission — 10% by default).
  3. Payments. Enter your own Stripe and/or PayPal credentials. Both providers are built in, with support for deposits, multi-currency, taxes / VAT, coupons and refunds. Always run a booking in test mode before going live. In Portal mode, connect Stripe Connect so payouts can flow to your hosts.
  4. iCal sync. If a property is also listed on Airbnb or Booking, set up the two-way iCal sync so external reservations block dates on your site and vice versa.
  5. Languages. The plugin ships with English, Italian and Spanish and respects your site's multilingual setup — no extra configuration is normally needed.
  6. Vokira concierge (optional). If you use the Vokira WhatsApp concierge, configure it here: public booking forms are then replaced by a WhatsApp call-to-action and direct holds are blocked server-side, routing enquiries to your concierge.

Using the plugin

Properties, units and rates

From the plugin's admin screens you create properties and, inside each property, the units guests can book. Each unit has its own availability and seasonal rate plans, with per-night price overrides and coupons. The public catalogue and each property page (gallery, amenities, units, reviews) are generated from this data.

Bookings and checkout

Guests browse the catalogue, open a property page, pick dates and a unit, and complete a full checkout on your site, choosing Stripe or PayPal at payment time. A transactional availability lock is applied at checkout, so the same dates can never be sold twice — even under concurrent traffic. Deposits, taxes / VAT and coupons are applied automatically according to your configuration, and refunds are handled through the same payment provider.

Channel sync (iCal)

Two-way iCal sync keeps availability aligned with Airbnb / Booking: dates booked externally are blocked on your site, and direct bookings on your site block the dates on the external channels. Combined with the checkout lock, this keeps availability reliable even when the same property is listed in several places.

Portal (marketplace) mode

In Portal mode you run the platform and other hosts list their properties. The plugin handles host onboarding, guest↔host messaging and Stripe Connect payouts to your hosts, while your commission (default 10%) is retained on every booking.

Updates & licence

Updates are automatic. With your Download Key in place, the plugin checks the GMC / FuerteventuraTV update server on its own (about every 12 hours) and new versions appear under Plugins and Dashboard → Updates like any other plugin, as long as your licence is active. You can also re-download the latest build from your account at any time.

The software is released under the GNU GPL. The annual licence (EUR 399/year) covers the official build, licensed one-click updates and support for one site. If the licence lapses, the installed plugin and your existing bookings keep working — you only stop receiving updates and support. For multiple sites or client projects, contact us for a volume or agency arrangement. Note: this licence covers the wp-gmcbooking WordPress plugin only; the Joomla component with the same engine is a separate product.

Support

For help, reply to your purchase email or message us on WhatsApp at +34 633 168 995 (the same line appears in your licence email). Please include the product name and version, your WordPress and PHP version, and a public URL or screenshot with any keys masked. We answer in English, Italian and Spanish. If the product does not work as described and we cannot fix it for you, you can request a refund within 14 days of purchase.

Everything included

94 real, shipping features — grouped by area, so you can see exactly how deep the booking engine goes.

Operating modes & setup

  • Two products in one — a single-property PMS and a multi-host marketplace share one codebase, switched by a single "operating mode" setting.
  • Single mode — rent out your own apartments/rooms directly at 0% commission, keeping the whole flow on your site.
  • Portal / marketplace mode — run an Airbnb-style site where external hosts list their properties and you earn a commission on every booking (default 10%).
  • Runs on your own brand and domain — no channel fees, no third-party booking platform in the loop.
  • Your currency — configurable default currency (EUR out of the box) with multi-currency amounts.
  • Adjustable hold window — set how long a guest keeps a hold while paying (default 15 minutes, 1–240).
  • One-package install — the package installs the component, scheduler, web-services and privacy plugins and the slider module together, and auto-creates the scheduled tasks.

Booking engine & anti-double-booking

  • Overbooking-proof availability lock — nights are reserved inside a database transaction with SELECT … FOR UPDATE, so two guests can never both book the last unit for the same dates.
  • Time-limited holds — a guest gets a short-lived hold while checking out; unpaid holds are released automatically and returned to the calendar.
  • Token-gated confirmation — a booking only confirms with its matching secret token and an unexpired hold, so nobody can confirm or view another guest's booking (no IDOR).
  • Quantity-based inventory — each unit (room type) carries a stock count, so you can sell several identical units.
  • Minimum-stay enforcement — bookings shorter than a date's minimum stay are refused with a clear message.
  • Party-size / occupancy enforcement — the form captures adults + children and refuses a booking that exceeds the unit's maximum occupancy.
  • Half-open date model[check-in, check-out), so the checkout night is correctly not counted as occupied.
  • Payment-after-expiry safety net — a charge that lands after a hold expired is flagged "needs reconciliation" for operator follow-up instead of being silently dropped.

Availability & calendar

  • Per-night availability calendar — open/close individual dates and set per-date price overrides and min-stay.
  • Bulk availability management — open date ranges and push prices/min-stay across many nights from the admin grid.
  • Guest-facing monthly calendar — the property page shows a free/occupied/past month grid per unit (no personal data), rendered server-side with AJAX month navigation and localized month/weekday names.
  • Always-fresh cross-channel availability — external channel feeds are re-downloaded on demand whenever availability is read (throttled, fail-open, single-flight), shrinking the cross-channel overbooking window from ~1 hour to seconds.

Pricing, rate plans & coupons

  • Seasonal rate plans — price by date range and weekday (per-day bitmask), with priority ordering when plans overlap.
  • Per-night price precedence — a specific date override beats a rate plan, which beats the unit base price.
  • Length-of-stay / flat-rate packages — a rate plan can price an exact number of nights as one flat total instead of per-night.
  • Discount coupons — percent or fixed amount, with validity window, minimum nights and usage cap; a coupon use is only consumed when a booking is actually confirmed.
  • Live quote — price and availability recompute live on the booking form as the guest picks dates.

Fees, taxes & extras

  • Per-property cleaning fee — a flat fee added once per booking.
  • Tourist tax / VAT — charged per guest per night, shown in the quote and at checkout.
  • Checkout extras & add-ons — sell add-ons scoped globally, per-host or per-property, priced per-stay, per-night or per-person, with quantity caps and admin CRUD.
  • Transparent breakdown — extras, fees and taxes are itemised as persisted booking line items; discounts apply to the room only.

Payments

  • Stripe card checkout — Stripe Payment Element with a signature-verified webhook as the source of truth (raw REST, no SDK).
  • PayPal checkout — PayPal Smart Buttons (Orders v2) for full-payment bookings.
  • Guest picks the provider — offer Stripe, PayPal, or both side by side at checkout.
  • Demo mode — a plain confirm button lets you test the whole flow before adding any payment keys.
  • Deposit / balance collection — charge a percentage deposit now and collect the balance later via a tokenized pay-link + reminder, automatic off-session charge, or offline.
  • Per-property deposit override — each property can override the global deposit percentage (or require full payment).
  • Refundable security / damage deposit — hold an amount on the guest's card near check-in, release it on a clean stay, or capture full/partial damages from the booking screen; long stays that outlast a card authorization are charged upfront and refunded.
  • Full and partial refunds — refund all or any part of a captured payment from the booking screen without cancelling; distributed across legs, capped at what's refundable, idempotent on retry.
  • Cancellation penalty — optionally withhold a non-refundable share on cancellation and allow a past-window guest cancel with the penalty kept.
  • Duplicate-charge protection — PaymentIntents are reused on reload and Stripe events are de-duplicated by id, so a page refresh or replayed webhook never double-charges or double-confirms.

Guest experience (front-end)

  • Property catalogue — a browsable list with thumbnails, amenity filter and search.
  • Property detail page — photo gallery, amenities, units, guest reviews and average rating.
  • Full self-service checkout — dates, guests, extras, consent and payment in one flow.
  • Pretty SEF URLs — human-readable id:alias property links.
  • Guest reviews — post-stay reviews (only from real completed bookings, one per booking), moderated by the admin, displayed with an average on the property page.
  • Opt-in guest self-cancellation — guests cancel their own confirmed booking inside a free-cancellation window, with an automatic refund.
  • Online pre-check-in — an opt-in tokenized form lets guests complete traveller details for every guest before arrival; the link rides the confirmation email.
  • Property slider — a responsive property carousel (Joomla module / WP [gmcbooking_slider] shortcode) with manual IDs, filters, ordering and a CTA.

Guest & admin communications

  • Booking confirmation emails — to both guest and admin on every confirmed booking.
  • Balance reminders — scheduled tokenized pay-link emails before the balance due date.
  • Post-stay review requests — a daily job invites recently-departed guests to review.
  • One-click resends — resend a confirmation or send a balance reminder from the booking screen.
  • WhatsApp payment link — deliver the hosted checkout link over the WhatsApp Business Cloud API (fail-closed until configured, with a per-booking cooldown).

Admin & operations

  • Dashboard KPIs — hosts, properties, units, bookings, confirmed and active holds, plus operational tiles (arrivals/departures today, month revenue, needs-reconciliation, unread messages, new leads).
  • Bookings-by-channel reporting — count and confirmed/completed revenue grouped by acquisition channel (web, referral, admin walk-in).
  • Properties management — CRUD with photo gallery, amenities and per-listing contact details (phone, email, website, WhatsApp).
  • Units management — CRUD for base price, quantity, max occupancy and iCal import URL.
  • Bookings management — detail view, cancel + refund (including multi-select), and reschedule to new dates/unit in one anti-overbooking transaction with the price difference auto-settled.
  • Phone / walk-in booking — create a booking on a guest's behalf from the admin.
  • Bookings CSV export — export the filtered bookings list.
  • Coupons, rate plans & reviews screens — full CRUD plus review moderation.

Marketplace (hosts, messaging, payouts)

  • Hosts management — admin CRUD over host profiles (alias, contact, address, logo, description).
  • Host self-service — host self-registration and a multi-tenant, host-scoped dashboard with KPIs and recent bookings (IDOR-guarded).
  • Guest ↔ host messaging — per-booking message threads with unread tracking and optional email notification (live on both Joomla and WordPress since 1.21.0).
  • Stripe Connect payouts — Express onboarding/KYC and a destination-charge split (host share + your application fee) recorded in a payout ledger.
  • KYC status visibility — pending / restricted / rejected / verified states surfaced to admins and hosts instead of hidden.
  • Refund clawback reconciliation — refunds reverse the host transfer and application fee and reconcile the payout ledger so a refunded booking is never paid out.
  • Configurable commission — fixed amount or percentage, set globally or per host.
  • Host authorization contracts — trilingual host/intermediation agreements with disclaimer acceptance, document fingerprinting, signer/IP/timestamp audit and a publication gate that blocks selling until signed.
  • Qualified e-signature — AutoFirma/CAdES document binding with configurable trusted-CA validation and optional RFC-3161 timestamping and OCSP revocation checks.

Compliance, privacy & GDPR

  • Consent capture — terms + privacy checkboxes and an optional marketing opt-in at checkout, stored per booking with timestamp and IP.
  • Guest compliance registry — a traveller registry with search and CSV export (UTF-8 BOM for correct accents).
  • Spanish SES.Hospedajes data model — the full RD 933/2021 traveller field set (sex, document support number, address + country, phone, email, kinship for minors, postal code, municipality).
  • SES.Hospedajes export — generate the official "parte de viajeros" file (MIR-HOSPE v3.1.2 solicitud XML + ZIP + Base64) for a date range, with pre-flight validation and per-property establishment codes; a backend download only — it never contacts the government web service.
  • Privacy export & erasure — data-subject export and anonymization that removes identity while retaining the accounting records you must legally keep (Joomla privacy plugin / WP personal-data tools).

Channel sync (iCal)

  • iCal export — each unit publishes its busy dates (confirmed bookings + active holds) as an .ics feed for Airbnb/Booking.
  • iCal import — external channel feeds are imported hourly and on demand to block externally-booked dates.
  • Two-way date-level sync — keeps calendars aligned across channels (dates, not rates).

Integrations, connector & analytics

  • Vokira WhatsApp concierge routing — when configured, public booking forms are replaced by a WhatsApp concierge call-to-action and direct holds are blocked server-side.
  • Inbound connector API — external tourism sites can push leads and catalog (properties, units, rate plans) into the system; catalog always lands as drafts.
  • Native import + audit trail — full-fidelity catalog import (upsert by alias, soft-disable removed units) with every import run recorded as a batch of per-item refs and outcomes.
  • Affiliate referral reporting — paid bookings that arrived via a ?ref= link are reported to a central registry over an HMAC-signed API, fail-safe so it never blocks or delays a sale.
  • Analytics — GA4, Google Tag Manager and Meta Pixel with view_item / begin_checkout / purchase e-commerce events and no personal data in the payloads.

Developer / API & automation

  • Web-services API — a fail-closed inbound API (Joomla web-services plugin / WP REST) for the connector's ping, leads and catalog endpoints.
  • Scoped API keys — issue and rotate hashed, scope-limited connector keys; the plaintext is shown only once.
  • Scheduled automation — background routines for releasing expired holds, iCal sync, Stripe Connect sync and balance reminders, auto-created on install (Joomla scheduler / WP-Cron).

Internationalization

  • Multilingual out of the box — ships in English, Italian and Spanish and respects your site's multilingual setup (the WordPress build also carries Hindi and Simplified Chinese packs).

Trust & licensing

  • GPLv2 licensed — open-source license on both platforms.
  • Self-hosted — runs entirely on your own site with your own Stripe/PayPal credentials; your data stays on your server.
  • No mandatory external service — every advanced integration (Stripe, PayPal, Connect, Vokira, iCal, affiliate, analytics) is opt-in; the engine works without any of them.
  • Licensed one-click updates — a Download Key from your licence email unlocks automatic updates from the GMC / FuerteventuraTV update server (checked about every 24 hours).
  • Single-package integrity — install the one package zip and every component/plugin/module stays version-aligned.
  • Native on both CMSs — a native Joomla 5/6 component and a standalone WordPress plugin sharing the same engine — buy the one that matches your site.
  • Requirements — Joomla 5.0+/6 with PHP 8.1+ and MySQL 8 / MariaDB (InnoDB, required for the transactional hold); WordPress 6.0+ with PHP 8.1+.

Joomla & WordPress

  • Joomla — the full marketplace: Stripe Connect payouts, host self-registration and the multi-tenant host dashboard are all available.
  • WordPress — same core engine and feature parity for bookings, payments (direct-charge Stripe + PayPal, no Stripe Connect payouts), pricing, extras, deposits, reviews, iCal, compliance/SES, messaging, native import and analytics; hosts are operator-managed via admin CRUD (no host self-service frontend), and the plugin adds a branded admin theme.

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.