TAxi Booking
PC-DIDI
Component Documentation
PC-DIDI Taxi Booking Component
Installation and configuration instructions for the Joomla component that lets visitors send taxi booking requests and, when configured, view an estimated fare and route.
1. Overview
PC-DIDI Taxi Booking is a Joomla component for collecting taxi booking requests through a responsive website form. It can send requests by email, offer a WhatsApp hand-off, and optionally use Google Maps services for address suggestions, route distance, route display, and fare estimates.
Google Maps integration is optional. The component can still display a standard address form when Google API keys are not set. Fare estimates are optional as well: if no fare values are entered, the form displays “Price on request.”
Important: Submitting the form creates a booking
request. The journey is confirmed only after the taxi provider
personally accepts it.
2. Requirements
- A Joomla 5.x or Joomla 6.x website.
- Permission to install extensions in the Joomla administrator.
- A working Joomla mail configuration if requests should be delivered by email.
- A Google Cloud project and API keys only if you want Google address suggestions, route distance, or the map.
The installable Joomla element is
com_pcdiditaxibooking. Depending on the package
version, Joomla may display the component as “Taxi-Buchung” or
“PC-DIDI Taxi Preisrechner.”
3. Installation
- Sign in to the Joomla administrator.
- Open System → Install → Extensions (German interface: System → Installieren → Erweiterungen).
- Select the component ZIP package and upload it.
- Wait for Joomla to confirm that the installation completed successfully.
- Open Components → Taxi Booking (German interface: Komponenten → Taxi-Buchung).
- On the component dashboard, open Taxi Booking Configuration – Open Options (German interface: Taxi-Buchung konfigurieren – Optionen öffnen).
If the component is already installed, install a newer package
through Joomla’s extension installer. Do not uninstall the
component first, as uninstalling may remove its configuration.
5. Configure the component
Open the component options from the administrator dashboard and review the fields before publishing the form.
| Setting | What to enter or choose |
|---|---|
| Recipient email | The address that should receive new booking requests. |
| WhatsApp number | The business number used for the WhatsApp hand-off. |
| Privacy policy URL | The public link to your website’s privacy policy. |
| Allowed countries | Select the countries whose addresses can be entered. The configured default list is AT, DE, IT, and CH. |
| Route map | Choose whether a route map should be shown when Google Maps is configured. |
| Fare settings | Enter the fare values used by your business, such as a base fare, price per kilometre, minimum fare, and return factor, where those fields are available. |
| Appearance and text | Use the available options to adjust the main color, headings, button labels, notices, and currency. |
Review all contact details, tariff values, country choices, and
visible text on the public form before accepting real requests.
6. Optional Google Maps setup
Google Maps is optional. Without Google API keys, visitors can still enter addresses in the standard form. Address suggestions require the Maps JavaScript API and Places API (New). Route distance and route display also require the Routes API.
6.1 Enable the APIs
- Create or select a project in Google Cloud.
- Set up billing for the project if required by your Google Maps Platform account.
- Enable Maps JavaScript API.
- Enable Places API (New) for address suggestions.
- Enable Routes API for route distance and route display.
6.2 Create separate keys
The component uses separate keys for browser-side map functions and server-side route requests. Keeping them separate lets you apply the appropriate restrictions to each key.
- Create a browser key for the Maps JavaScript API and address suggestions. Restrict it to your website’s HTTP referrers.
- Create a server key for the Routes API. Restrict it to the Routes API and to the outbound IP address of your hosting server.
- In the component options, enter the browser key in Maps JavaScript API key and the server key in Routes API key.
- Save the options and test address suggestions and route calculation on the public page.
Keep the server key private. Do not paste the
Routes API key into page content, public JavaScript, or a browser
field. Google recommends restricting keys by both application
and API to reduce unauthorized use and billing risk.
Google Maps Platform may incur charges. Check your Google Cloud billing, quotas, and key restrictions before enabling the APIs, and review them regularly.
7. Fare estimates
The component shows “Price on request” by default. A fare estimate appears after at least one fare value has been entered and the route distance can be calculated.
The estimate follows this calculation:
max(minimum fare, (base fare + route distance in km × price per km) × return factor)
- Base fare: the fixed starting amount for the journey.
- Price per kilometre: the amount multiplied by the route distance.
- Minimum fare: the lowest estimate that should be displayed.
- Return factor: the factor applied when a return journey is selected.
The displayed amount is an estimate, not a binding final price.
Check that the configured values and return factor match your
actual tariffs. Confirm the final fare with the passenger.
8. Booking request flow
- The visitor enters the journey details requested by the form.
- If Google integration is enabled, address suggestions and route information may be provided.
- The visitor submits the request by email or opens a WhatsApp message with the entered journey details.
- Email requests are sent through Joomla’s mailer to the configured recipient.
- An optional confirmation email can be sent to the person making the request.
- The taxi provider reviews the request and confirms the journey personally.
The component does not automatically dispatch a vehicle and does not store requests in its own booking database table. A submitted form is a request; it is not a confirmed booking until the provider accepts it.
9. Data and privacy
- Booking requests are delivered by email through the Joomla mailer.
- The component does not keep booking requests in its own database table.
- When route calculation is enabled, journey addresses are sent to Google to calculate route distance and, if enabled, display the route.
- A WhatsApp hand-off opens a message containing journey details for the visitor to send.
- Add the public privacy policy URL in the component options and explain the data flow to your visitors on your website.
Test the mail and WhatsApp flows using sample information before accepting real customer requests.
10. Updating the component
- Keep a backup of your Joomla site before a component update.
- Download the newer component ZIP package.
- In Joomla, open System → Install → Extensions.
- Upload the new ZIP package and wait for Joomla to finish.
- Reopen the component options and test the public booking form.
Install the update over the existing component. Do not uninstall the component before updating, because uninstalling may remove saved configuration.
11. Troubleshooting
Address suggestions do not appear
- Confirm that Maps JavaScript API and Places API (New) are enabled in the Google Cloud project.
- Check that the Maps JavaScript API key is entered in the correct option.
- Confirm that the key allows your website’s HTTP referrer and the required APIs.
- Check the browser console for Google API errors and confirm that the page uses HTTPS.
Route distance or the map is missing
- Confirm that Routes API is enabled.
- Check the server-side Routes API key and its API restrictions.
- Confirm that the hosting server’s outbound IP address is allowed for the server key.
- Check that the route map display option is enabled if you want the map shown.
The form displays “Price on request”
- Enter at least one fare value in the component options.
- If the estimate depends on route distance, check the Routes API setup and server key.
- Confirm that the configured tariff values and return factor are saved.
Email requests are not received
- Check the recipient email address in the component options.
- Confirm that Joomla’s global mail settings can send mail.
- Check the recipient’s spam or quarantine folder and test with another address.
WhatsApp does not open the expected conversation
- Check the WhatsApp number saved in the component options.
- Test the link on a device or browser where WhatsApp is available.
- Remember that the visitor must send the prepared message from WhatsApp.
12. Support and license
For support, contact PC-DIDI by email at office@pc-didi.at or visit pc-didi.at.
The extension is distributed under the GNU General Public License, version 3 or any later version (GPL-3.0-or-later). Read the full GNU GPL version 3 text.
