BingoRentals

Description

BingoRentals allows you to embed a complete car rental booking system on your WordPress website. It connects to your BingoRentals installation via API, enabling customers to:

  • Search for available cars by date and location
  • View car details, specifications, and pricing
  • Complete reservations directly on your WordPress site
  • Receive confirmation emails automatically
  • Optionally chat with an AI Concierge (when enabled) that can answer questions and help create bookings

Features:

  • Easy Setup – Just enter your API URL and tenant slug (for SaaS)
  • SaaS & Standalone Support – Works with both standalone and multi-tenant BingoRentals installations
  • Shortcode Integration – Add [wpcr_car_rental] to any page or post
  • Optional AI Concierge – Floating chat widget (off by default); proxied through WordPress to your BingoRentals API
  • Auto Language Detection – Detects visitor country via IP (Romania Romanian, else English)
  • Language Switcher – Visitors can manually switch between languages
  • Customizable Appearance – Light/dark themes, custom colors
  • Smart Caching – Locations cached for 1 hour, with manual clear option
  • Mobile Responsive – Works perfectly on all devices
  • Multiple Languages – English and Romanian built-in

Shortcode Usage

Basic usage:
[wpcr_car_rental]

With options:
[wpcr_car_rental show_locations=”true” show_categories=”true” show_lang_switch=”true” theme=”light” primary_color=”#0d6efd”]

Available Options:

  • show_locations – Show pickup/return location dropdowns (true/false)
  • show_categories – Show category filter (true/false)
  • show_lang_switch – Show language switcher buttons (true/false)
  • theme – Color theme: “light” or “dark”
  • primary_color – Custom primary color (hex code)

External Services

This plugin connects to the following external services:

BingoRentals API (your own installation)

The plugin communicates with the BingoRentals API URL you configure in Settings BingoRentals. This is your own self-hosted or SaaS installation of BingoRentals.

  • What it is used for: car search, fleet listing, locations, pricing, creating reservations, and (if enabled) AI Concierge chat.
  • What data is sent: search parameters (dates, location IDs, category), reservation details (customer name, email, phone, dates, selected car/extras), tenant slug, and — when AI Concierge is enabled — chat messages and language preference.
  • When: whenever a visitor uses the booking form, fleet widget, or (if enabled) the AI chat. No Gemini API key is stored or sent by this WordPress plugin.
  • Service URL: the API URL you configure (typically your BingoRentals site, e.g. https://bingorentals.com)
  • Terms / privacy: you control this service — publish and link your own terms and privacy policy for your BingoRentals installation.

BingoRentals AI Concierge / Google Gemini (optional)

When AI Concierge widget is enabled in plugin Appearance settings (default: off) and the tenant also enables AI Concierge in the BingoRentals dashboard, chat requests are proxied from WordPress to your BingoRentals API (ai-concierge/status and ai-concierge/chat). Your BingoRentals server may then call Google Gemini to generate assistant replies and to run booking tools (quotes, pending reservations).

  • What it is used for: optional customer support / booking assistance on pages that include [wpcr_car_rental].
  • What data is sent: chat message text and language; if the visitor provides booking details in chat, those may be sent to create a pending reservation. BingoRentals may forward conversational content to Google Gemini. Visitor IP may be used by BingoRentals for rate limiting.
  • When: only after an administrator enables the widget in WordPress and AI Concierge is configured on the BingoRentals tenant; only when a visitor opens the chat and sends messages.
  • Google Gemini API Terms of Service: https://ai.google.dev/gemini-api/terms
  • Google Privacy Policy: https://policies.google.com/privacy
  • Google Terms of Service: https://policies.google.com/terms

To disable this feature, go to Settings BingoRentals Appearance and set AI Concierge widget to No. You can also disable AI Concierge in the BingoRentals tenant dashboard.

ipapi.co (IP-based language detection)

When automatic language detection is enabled (default: on), the plugin sends the visitor’s IP address to ipapi.co to determine their country. This is used solely to select the default display language (Romanian for Romania/Moldova, English for all others). No personal data beyond the IP address is transmitted. Visitors can override the detected language manually at any time.

  • Service URL: https://ipapi.co
  • What is sent: visitor IP address (implicit in the HTTP request)
  • When: on each page load where the booking form is displayed, if auto-detect language is enabled
  • Terms of Service: https://ipapi.co/terms/
  • Privacy Policy: https://ipapi.co/privacy/

To disable this feature, go to Settings BingoRentals and set Auto-detect Language to No.

Installation

  1. Upload the bingorentals folder to /wp-content/plugins/
  2. Activate the plugin through the ‘Plugins’ menu in WordPress
  3. Go to Settings BingoRentals
  4. Enter your BingoRentals API URL
  5. For SaaS: Enter your tenant slug (e.g., “acme” from yoursite.com/app/acme/)
  6. Add [wpcr_car_rental] shortcode to any page

FAQ

What is BingoRentals?

BingoRentals is a car rental management system available in both standalone and multi-tenant (SaaS) editions. This plugin connects to your BingoRentals installation via API.

What is a tenant slug?

For SaaS installations, each company has a unique slug (e.g., “acme”). Find it in your dashboard URL: yoursite.com/app/acme/

Do I need an API key?

The API key is optional and depends on your installation. If your API requires authentication, enter the key in the plugin settings.

Why do locations disappear after some time?

This was fixed in v1.1.0. Locations are now cached for 1 hour. If you still have issues, click “Clear Cache” in plugin settings.

How does auto-language detection work?

The plugin detects the visitor’s country via IP using ipapi.co. If the visitor is from Romania, it shows Romanian. Everyone else sees English. Visitors can override this with the language switcher, and their choice is remembered.

Can I disable auto-language detection?

Yes, set “Auto-detect Language” to “No” in plugin settings. The form will use your default language.

What is the AI Concierge?

An optional floating chat on pages that use [wpcr_car_rental]. It is off by default. Enable it under Settings BingoRentals Appearance, and also enable AI Concierge (with a Gemini API key) in your BingoRentals tenant dashboard. The WordPress plugin never stores a Gemini key; chat is proxied to your configured BingoRentals API, which may call Google Gemini. See External Services below.

Does AI Concierge send personal data?

Only when a visitor chooses to use the chat. Message text is sent to your BingoRentals API. If the visitor asks to book and provides contact details, those fields may be included so a pending reservation can be created — the same kind of data as the normal booking form.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“BingoRentals” is open source software. The following people have contributed to this plugin.

Contributors

Translate “BingoRentals” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

1.6.0

  • Added: AI Concierge floating chat widget (optional, off by default). Proxies BingoRentals SaaS assistant via WordPress AJAX. Enable under Appearance settings; tenant must enable AI in the BingoRentals dashboard.
  • Updated: External Services section documents AI Concierge data flow and Google Gemini terms/privacy links.
  • Updated: Shortcode docs and FAQ use [wpcr_car_rental] only; language FAQ references ipapi.co.

1.5.4

  • Fixed: “Powered by” credit link is now opt-in — hidden by default, enabled via new admin toggle in Appearance settings
  • Fixed: wpReview non-plugin file removed from distribution; .distignore added
  • Fixed: Backward-compatible [car_rental] shortcode alias removed — only [wpcr_car_rental] is registered
  • Updated: Admin settings page and documentation updated to reference [wpcr_car_rental]

1.5.3

  • Fixed: Inline <style> and <script> blocks moved to wp_add_inline_style() and wp_add_inline_script() via admin_enqueue_scripts hook
  • Fixed: Shortcode callback return now uses esc_html__() and esc_url() in the API-not-configured error branch
  • Fixed: Added prefixed shortcode [wpcr_car_rental]; [car_rental] kept as backward-compatible alias
  • Fixed: ipapi.co external service now documented in readme with terms and privacy policy links
  • Fixed: Replaced ip-api.com reference in readme with the correct service (ipapi.co)

1.5.2

  • Fixed: Language switcher flags replaced with SVG images for cross-platform rendering (Windows servers do not render Unicode flag emoji)
  • Improved: Flag images served as local assets, no external requests

1.5.1

  • Fixed: Full WordPress Plugin Check compliance — all escaping, unslashing, and sanitization requirements met
  • Fixed: Deprecated _e() / __() replaced with esc_html_e() / esc_attr_e() throughout admin settings
  • Fixed: date() replaced with gmdate() for timezone-safe output
  • Fixed: wp_create_nonce() output now escaped with esc_attr() in inline JS
  • Fixed: parse_url() replaced with wp_parse_url() in API class
  • Fixed: error_log() calls guarded behind WP_DEBUG check
  • Improved: Plugin Check reports “No errors found”

1.5.0

  • New: Plugin rebranded to BingoRentals
  • New: Text domain updated to bingorentals
  • New: Admin menu and settings page now show BingoRentals branding
  • Improved: Plugin folder, main file, and assets renamed to match new brand
  • Improved: All user-facing strings updated to BingoRentals

1.4.0

  • New: Fleet widget shortcode attribute support (show_categories, show_locations)
  • New: Dark theme support via theme="dark" shortcode attribute
  • New: Custom primary color via primary_color shortcode attribute
  • New: Fleet cards with booking links connected to SaaS API
  • Improved: Shortcode renders inline styles based on admin appearance settings
  • Improved: Mobile responsive layout for fleet widget

1.3.0

  • Fixed: Empty API responses no longer cached (was causing permanent “All Locations” only)
  • New: Admin debug panel showing API URL, cache status, and error log
  • New: “Test API Now” button for real-time API testing
  • Improved: Comprehensive debug logging for troubleshooting
  • Improved: Better error handling and reporting

1.2.0

  • New: IP-based automatic language detection (Romania Romanian, else English)
  • New: Language switcher buttons (🇬🇧 EN / 🇷🇴 RO) with localStorage persistence
  • New: Admin option to enable/disable auto-detection
  • New: show_lang_switch shortcode attribute
  • Improved: All form labels now use data-i18n for dynamic switching
  • Improved: Both EN and RO translations loaded upfront for instant switching

1.1.0

  • New: SaaS multi-tenant support with tenant_slug setting
  • New: Smart API URL building for path-based tenant routing (/api/app/tenant/)
  • New: Transient caching for locations, settings, extras (1 hour TTL)
  • New: “Clear Cache” button in admin settings
  • New: Auto-detection of tenant slug from API URL
  • Fixed: Locations disappearing after time (was caused by missing tenant context)
  • Fixed: URL construction for SaaS vs standalone installations
  • Improved: Debug logging when WP_DEBUG is enabled
  • Improved: Cache auto-clears when saving settings

1.0.0

  • Initial release (standalone BingoRentals support only)
  • Car search by date and location
  • Real-time availability checking
  • Booking form with customer details
  • Light and dark themes
  • Responsive design
  • Admin settings page
  • API connection test