Contents
Privacy and uninstall - Plugixa Car Rental
A rental desk holds personal data by nature: the name, email address and phone number of everyone who books a car, and with some features their age, an address or a signature. This page lists what is stored, where, what leaves your server, and what deleting the plugin removes.
What is stored
Everything is kept in your own WordPress database, in the plugin’s own tables.
Their names start with your database prefix (shown here as {prefix}) followed
by plugixacarrental_.
| Table | Holds | Personal data |
|---|---|---|
bookings |
Every booking: reference, status, car, pickup and return locations and times, prices, payment method and payment status | Yes. Customer name, email address, phone number, notes, the answers to your custom fields, the cancellation details, and the WordPress user ID of a signed-in customer |
booking_items |
The price lines of each booking | With Pro, the delivery or collection address PRO and the driver’s age behind a surcharge PRO |
payments |
One row per payment or refund: method, transaction ID, amount, currency, status, a note and what the payment provider answered | Linked to a booking |
invoices |
Each issued invoice, with a copy of the booking as it was billed | Yes. The copy holds the customer’s name, email address and phone number, and never changes once issued |
coupons, coupon_redemptions |
Coupons, and which booking used which coupon | Linked to a booking |
extras, form_fields |
Your extras and your custom questions | No |
vehicle_categories, vehicle_models, vehicle_units, unit_blocks |
Your fleet | No |
locations, location_closures, one_way_fees |
Your locations | No |
rate_plans |
Your rates | No |
Pro PRO adds these tables when it is installed:
| Table | Holds | Personal data |
|---|---|---|
pricing_rules |
Pricing rules | No |
tax_rates |
Tax rates | No |
inspections |
Pickup and return inspections: odometer, fuel, damage, photos, notes | Yes. The name of the person who signed, and links to the signature and the signed agreement |
calendar_imports, calendar_import_events |
The calendar feeds you added and the times they block | No customer details are kept, only start and end times |
Most tables also store the user ID of the staff member who created and last changed each row.
Files PRO
Inspections store the
customer’s signature and the signed rental agreement (a PDF) in a folder of
their own, wp-content/uploads/plugixa-car-rental-private/, not in the media
library. The folder refuses web requests on Apache and LiteSpeed, and every file
has a random 32-character name, so on servers that ignore that rule there is
still nothing to guess. The files are served only to your staff and to the
holder of the booking’s link.
Inspection photos are different: they are ordinary images in the media library, chosen or uploaded there by your staff.
Options
| Option | Holds |
|---|---|
plugixa_car_rental_settings |
Everything on the Settings screen, including the browser key of the Map PRO, which is not encrypted because every visitor’s browser receives it anyway |
plugixa_car_rental_apps |
Which features are switched on in the App Manager |
plugixa_car_rental_gateway_credentials |
API keys and tokens for Stripe, PayPal, Twilio, Vonage, Telegram and Google PRO, encrypted |
plugixa_car_rental_calendar_key PRO |
The secret part of your calendar feed addresses |
plugixa_car_rental_db_version, plugixa_car_rental_module_set, plugixa_car_rental_caps_backfilled |
Housekeeping markers |
Temporary data
| Transient | Holds | Lifetime |
|---|---|---|
plugixa_car_rental_rl_... |
Rate-limit counters for the public routes. The key is a hash of the visitor’s address and the route, never the address itself. | One hour |
plugixa_car_rental_account_page |
Which page shows the customer booking page | One day |
plugixa_car_rental_booking_page PRO |
Which page holds the booking form, for the map’s Book here buttons | One day, or until a page is saved |
plugixa_car_rental_route_... PRO |
The driving distance and time for a delivery address. The key is a hash, the value holds only the distance and time. | 30 days |
What is not stored
- Card details. With Stripe PRO the customer types them on Stripe’s own page. They never reach your site.
- Visitor IP addresses. The rate limiter keeps a hash, as above.
- The customer’s booking link. A booking made on the site is handed a random token once. Only a hash of it is stored, so a copy of the database does not open anybody’s booking.
- Cookies. The booking form and the customer booking page set none, and send their requests without the visitor’s cookies.
Who can see the personal data
Inside wp-admin, only users with the plugin’s capabilities. On activation they are given to the administrator role and nobody else. Grant them to other roles with a role editor:
| Capability | Allows |
|---|---|
plugixa_car_rental_manage |
Opening the admin app |
plugixa_car_rental_view |
Reading records |
plugixa_car_rental_create |
Creating records |
plugixa_car_rental_edit |
Changing records |
plugixa_car_rental_delete |
Trashing records |
plugixa_car_rental_export |
CSV export |
plugixa_car_rental_manage_settings |
The settings |
On the site, a customer sees only their own booking, through the link in their email. A customer who lost the email can ask for the link again with the booking’s reference and email address; the link is then sent to that email address, never shown on the page.
Data requests from customers
The plugin registers with WordPress’s own privacy tools, so you answer a customer’s request the same way as for the rest of your site. Both tools list the plugin as Car rental bookings.
A customer has no WordPress account here, so bookings are found by the email address given on the booking. Every booking made with that address is included, the ones in the trash too, because a trashed booking still holds the customer’s details.
Giving a customer a copy
- Open Tools -> Export Personal Data in WordPress.
- Enter the customer’s email address and send the request. WordPress emails the customer a link to confirm it.
- Once confirmed, download or email the file from the request list.
Each booking appears in the file under Car rental bookings with:
| Item | Notes |
|---|---|
| Reference, status | The status as stored, such as completed or no_show. |
| Name, email, phone | The customer’s details on the booking. |
| Pickup (UTC), Return (UTC) | The rental’s start and end, in UTC. |
| Total | The amount and its currency, such as 325.98 EUR. |
| Notes | What the customer wrote in “Anything we should know?”. |
| Booked (UTC) | When the booking was made. |
| Your own questions | Each answer to a custom field, under the field’s label, such as Flight number. Empty answers are left out. |
| Delivery address, Collection address PRO | When the car was delivered or collected. See Delivery. |
You can still open each booking, or use Export CSV on a filtered Bookings list, when you only need a quick look.
Erasing a customer’s data
- Open Tools -> Erase Personal Data in WordPress.
- Enter the customer’s email address and send the request, then wait for the customer to confirm it.
- Click Erase personal data on the confirmed request.
Erasing anonymises a booking, it does not delete it. The booking stays in your history with its dates, car, locations and money, so your reports and availability stay right, and loses everything that says who it was:
| Data | After erasing |
|---|---|
| Customer name | Replaced by WordPress’s placeholder text |
| Email address | Replaced by WordPress’s placeholder address, so the booking no longer matches the customer |
| Phone number | Emptied |
| Notes | Emptied |
| Answers to your custom fields | Removed |
| Delivery and collection address PRO | Removed. The line keeps its price and reads Delivery or Collection. |
| Link to a signed-in customer’s WordPress account | Removed |
Only finished bookings are anonymised: Completed, Cancelled, Expired or No-show. Two kinds are kept as they are, and the eraser tells you why for each one, by reference, in the request’s messages:
| Kept | Message |
|---|---|
| A booking that is still open: Pending, Confirmed, Picked up or Returned | “kept because the rental is still open. Erase again once it is closed or cancelled.” |
| A finished booking with an issued invoice | “kept because an invoice was issued for it, and an invoice is a tax record that cannot be changed.” |
For an open rental, run the erase again once the booking is completed or cancelled. An invoiced booking keeps the customer’s details for as long as your tax law requires the invoice; the invoice’s own copy of the buyer never changes.
The eraser does not touch:
- the driver’s age behind a surcharge PRO, which is kept on the surcharge line without a name;
- the name of the person who signed an inspection PRO, the signature and the signed agreement, or inspection photos in the media library. Delete those yourself if your records allow it;
- payments and refunds, including the note and the payment provider’s answer stored with each;
- emails already sent, and anything already sent to a payment provider or another outside service.
To remove a finished booking completely instead, move it to the trash and delete it for good from there. A booking with payments recorded against it cannot be deleted for good: it is kept as a financial record and can stay in the trash.
Your privacy policy
The plugin adds a suggested paragraph to WordPress’s privacy policy guide, under Settings -> Privacy, headed Plugixa Car Rental. It says what a booking stores, why, and that a customer can ask for a copy or for erasure, except for open bookings and bookings with an invoice. Copy it into your privacy policy and adjust it to your business. If you use a Pro service, see What leaves your server and mention it there too.
What leaves your server
The free plugin
No rental data is sent anywhere. No vehicle, location, booking or customer record leaves your site. Fonts and icons are served from your own site; nothing is loaded from a CDN or from Google Fonts.
The only outside contact is the plugin’s licensing and update service. On
activation you are shown an opt-in screen. If you skip it, nothing identifying
you is sent. Checking for an update sends your site address, the plugin version
and, in Pro, your licence key. The plugin’s readme.txt lists what an opt-in
sends.
The emails the plugin sends go through wp_mail(), so they leave by whatever
mail setup your site already has.
Pro services PRO
Each service is off until you switch its feature on and enter your own account keys for it, and each receives only what that feature needs.
| Service | When it is contacted | What it receives |
|---|---|---|
| Stripe | A customer chooses to pay by card, or you refund a card payment | The booking reference, the amount and currency, the customer’s email address and the addresses to return to. A refund sends the payment’s ID and the amount. |
| PayPal | A customer chooses PayPal, or you refund one | The booking reference and ID, the amount and currency and the addresses to return to. A refund sends the capture ID and the amount. Test mode uses PayPal’s sandbox. |
| Twilio or Vonage | A booking reaches a status you chose for text messages | The customer’s phone number, your sender number and your message, filled in with the booking’s details |
| Telegram | A booking reaches a status you chose for alerts | Your message for that event, filled in with the booking’s details, which can include the customer’s name |
| Google Routes API | A customer enters a delivery or collection address | That address and your location’s address. Each answer is kept for 30 days. |
| Google Maps JavaScript API | A visitor opens a page with the map shortcode, or a booking form showing the map. It is the visitor’s browser that contacts Google, not your server. | Your browser key, and what any browser sends: the visitor’s IP address, the page’s address and the part of the map being looked at. Nothing is loaded from Google on a page without a map. |
| Calendar feeds you add | Once an hour | Nothing. The plugin only reads the address you pasted in. |
Deactivating
Deactivating stops the plugin and clears its scheduled events. It deletes nothing. Activate it again and everything is where you left it.
Deleting

By default, deleting the plugin from the Plugins screen removes its files and keeps all your data: fleet, bookings, payments, invoices and settings. Install it again and it picks up where you left off.
Erasing the data
To remove everything, open Settings -> Uninstall, turn on Delete all rental data when the plugin is deleted, save, and then delete the plugin.
With the switch on, deleting the plugin:
- Drops every table whose name starts with
{prefix}plugixacarrental_, including Pro’s and any left over from an older version. - Deletes every option and transient whose name starts with
plugixa_car_rental_, including the settings, the stored API keys and the rate-limit counters. - Deletes the private files folder with every signature and signed agreement PRO.
- Removes the plugin’s capabilities from every role and user.
Erasing cannot be undone. Take a backup of the database first if you might want the data later.
When the switch is ignored
The data is kept, even with the switch on, when:
- Another copy of the plugin is installed, active or not. Pro installs as a second copy beside the free one, and both use the same tables. Deleting the free copy after moving to Pro therefore never erases what Pro runs on.
- The user deleting the plugin may not activate plugins.
What an erase leaves behind
- Inspection photos PRO in the media library. They are ordinary attachments; delete them there.
- The pages where you placed the booking form or the customer booking page. Their shortcodes then print as plain text.
- Emails already sent, and anything already sent to a Pro service.
See also Settings and Troubleshooting.