π Plugin Overview
The Enoves Limo Booking System is an enterprise-grade reservation, pricing calculation, and fleet management engine engineered by Team Enoves (enoves.com) for WordPress.
It combines server-side cryptographic fare verification, seamless Google Maps Platform distance calculations, multi-stop waypoints, Stripe Elements SCA payment handling, and real-time automated WhatsApp dispatch notifications.
Server-Side Price Verification
Cryptographically secured backend calculations prevent frontend tampering of fares, distances, or promo discounts.
Zero Raw Card Storage
100% PCI-DSS compliant with Stripe Elements SCA & 3D-Secure 2.0 biometric customer verification.
Automated WhatsApp Bridge
Instant booking confirmations, dispatch notices, and 24h trip reminders sent via the Enoves WhatsApp QR bridge.
Optimized Google Maps Routing
Accurate road mileage, live waypoint optimization, address autocomplete, and secure API key delivery.
π¦ WordPress Installation & Quick Start
Follow these quick steps to install the plugin on any WordPress 5.8+ website running PHP 7.4 through 8.3:
- Log in to your WordPress Administrator Dashboard (
/wp-admin). - Navigate to Plugins → Add New → Upload Plugin.
- Choose the
limo-booking-system.zipdistribution file provided with your Enoves purchase license and click Install Now. - Once uploaded, click Activate Plugin.
- A new executive menu item named Limo Bookings will appear in your WordPress admin sidebar.
π Commercial License Activation
Upon initial activation, the plugin operates in verification mode. Entering your official commercial license key permanently unlocks the booking engine, reservation ledger, and payment gateways.
- In your WordPress dashboard, navigate to Limo Bookings → License / Gateway.
- Enter your authentic commercial license key (formatted as
ENV-ANN-XXXX-XXXX-XXXXor your customized Enoves VIP key). - Click Activate License. The plugin connects to the Enoves Central Licensing Authority (enoves.space/api/v1) and binds your domain with a signed SHA-256 activation token.
- Once activated, the full 12-tab VIP management dashboard unlocks immediately.
β‘ Shortcodes & Frontend Embedding
Embed the interactive luxury limousine reservation widget on any page, landing page, or post using the primary shortcode:
[limo_booking]
Page Builder Compatibility
The Enoves booking widget is 100% compatible with all major WordPress page builders:
- Elementor: Drag a "Shortcode" widget into your section and paste
[limo_booking]. - Gutenberg / Block Editor: Add a standard "Shortcode" block and type
[limo_booking]. - Divi / WPBakery / Beaver Builder: Use a Code or Shortcode module and insert
[limo_booking].
πΊοΈ Google Maps Platform Setup
Accurate address autocomplete, map rendering, and turn-by-turn road distance calculations require Google Maps Platform APIs. The plugin supports both a Managed Fallback Key and your own Custom Google Cloud Project Key.
Required Google Cloud APIs
In your Google Cloud Console, ensure the following 3 APIs are enabled for your billing-enabled project:
| API Service | Function in Enoves Limo | Requirement |
|---|---|---|
| Places API (New) | Instant address suggestions for pickup, waypoints, and dropoff locations. | Required |
| Geocoding API | Translates street addresses into precise latitude/longitude coordinates. | Required |
| Directions API | Calculates live road distance (km/miles) and travel duration across stops. | Required |
Securing Your API Key
- In Google Cloud Console, open Credentials and click your API key.
- Under Application restrictions, select Websites.
- Add your website domains as allowed referrers:
https://yourdomain.com/*andhttps://*.yourdomain.com/*. - Under API restrictions, choose Restrict key and select only Places API, Geocoding API, and Directions API.
- In your WordPress dashboard, paste the restricted key into Limo Bookings → Tab 10 (Google Maps).
π³ Stripe & Payment Gateways
The booking engine supports multi-gateway payment flows including Stripe Elements SCA, PayPal, and Pay on Arrival (Cash/Terminal).
Configuring Stripe Elements
- Log in to your Stripe Dashboard.
- Copy your Publishable Key (
pk_live_...) and Secret Key (sk_live_...). - In WordPress, navigate to Limo Bookings → Tab 9 (Payment Gateways) and paste the keys.
- Toggle Live Mode when ready to accept commercial passenger payments.
Setting Up Stripe Webhooks (3D-Secure Auto-Confirm)
Webhooks ensure that when a customer authenticates payment in a banking modal (SCA / 3D-Secure 2.0), the booking status in your database updates to Confirmed and Paid automatically.
- In your Stripe Dashboard, navigate to Developers → Webhooks.
- Click Add Endpoint.
- Set the Endpoint URL to:
Webhook Endpoint URL
https://yourdomain.com/wp-json/limo-booking/v1/stripe-webhook - Select the events:
payment_intent.succeededandpayment_intent.payment_failed. - Copy the generated Signing Secret (
whsec_...) and paste it into Tab 9 of the plugin.
π¬ WhatsApp QR Bridge Integration
Automated WhatsApp notifications deliver a 98% open rate compared to traditional email confirmations. The plugin connects to the secure Enoves Baileys Cloud WhatsApp Bridge (wa.enoves.space) or your own self-hosted Node.js bridge.
Pairing Your Dispatch WhatsApp Number
- Navigate to Limo Bookings → Tab 11 (WhatsApp QR Bridge).
- Confirm the Bridge Gateway URL (defaults to
https://wa.enoves.space). - Click Generate Pairing QR Code.
- Open WhatsApp on your dispatch phone → Settings → Linked Devices → Link a Device.
- Scan the QR code displayed on your screen. The bridge state will switch to Connected within 3 seconds.
π Fleet Management & Vehicle Tiers
The plugin includes 4 pre-configured luxury vehicle tiers located locally under assets/images/default-fleet/:
Executive Luxury Sedan
Lexus ES, Cadillac XTS, Mercedes E-Class. Up to 3 Passengers, 2 Bags. Base fare $85, $1.95/km.
Luxury Executive SUV
Cadillac Escalade, Suburban, Yukon Denali. Up to 6 Passengers, 6 Bags. Base fare $125, $2.30/km.
Stretch Presidential Limo
Cadillac / Lincoln Stretch Limousine. Up to 8 Passengers, 6 Bags. Base fare $165, $2.85/km.
VIP Executive Sprinter
Mercedes-Benz Sprinter High Roof / Luxury Van. Up to 14 Passengers, 10 Bags. Base fare $185, $3.20/km.
You can add unlimited custom vehicles, upload custom photos, reorder tiers, and configure minimum reservation hours in Limo Bookings → Tab 2 (Vehicles).
π·οΈ Dynamic Pricing & Tariffs
Configure complete financial rules in Limo Bookings → Tab 3 (Pricing):
| Pricing Feature | Description | Customization Tab |
|---|---|---|
| Global Currency | Supports USD, CAD, EUR, GBP, AUD, AED, SAR, and all international currency symbols. | Tab 3 (Pricing) |
| Tax & Gratuity | Configurable sales/VAT tax percentage and default driver tip percentages (15%, 20%, custom). | Tab 3 (Pricing) |
| Round Trip Discount | Automatic discount percentage (e.g. 10%) rewarded to passengers booking return transfers. | Tab 3 (Pricing) |
| Late Night / Surge | Percentage surcharges applied automatically between designated hours (e.g. 11 PM to 5 AM). | Tab 3 (Pricing) |
| Promo Codes | Create coupon codes for fixed amount or percentage discounts with expiration and usage limits. | Tab 6 (Promo Codes) |
π‘οΈ Privacy, GDPR & Data Retention
The system is built with strict privacy and compliance controls:
- Mandatory Booking Consent: Passengers must review and accept your privacy policy before booking submissions.
- Automated Data Retention (PII Anonymization): Set retention timelines (e.g. 180 or 365 days) in Tab 8. Expired customer names, phone numbers, and addresses are automatically scrubbed by daily WordPress cron.
- Native WordPress Privacy API: Fully integrated with Tools → Export Personal Data and Tools → Erase Personal Data.
π§ Troubleshooting FAQ
β Address suggestions do not appear when typing in pickup or dropoff fields.
Ensure the Places API (New) is enabled in your Google Cloud Console project. Open your browser console (press F12) β if you see a RefererNotAllowedMapError, ensure your website domain referrer (e.g. https://yourdomain.com/*) is added to your key restrictions.
β Stripe payments succeed, but booking status remains "Pending".
Confirm that your Stripe Webhook endpoint is registered in your Stripe Dashboard and that the Webhook Signing Secret (whsec_...) matches the exact secret entered in Tab 9 (Payment Gateways).
β WhatsApp bridge shows disconnected status.
Go to Tab 11 (WhatsApp QR Bridge), click "Disconnect Session", and re-scan the QR code using your WhatsApp mobile app under Linked Devices.
β How do I transfer my license key to a new domain?
In your WordPress admin, click Deactivate License under License / Gateway. The license key will be released centrally and can be activated immediately on your new domain.