Contents

Customer portal - Plugixa Car Rental

The customer portal is a page of your site where a customer opens their own booking, sees what they booked and what they have paid, prints their invoice, and cancels if your cancellation policy still allows it.

There are no customer accounts and no passwords. A rental customer books once or twice a year, and asking them to create an account to cancel is the kind of friction that loses bookings. The link in their confirmation email is their key to the booking. If they lose it, the portal sends it again to the address on the booking.

The portal is the Customer portal app. It is on by default and can be switched off in the App Manager.

Setting it up

  1. Create a page, for example “Manage your booking”.

  2. Add the Car rental: manage booking block, or the shortcode:

    [plugixa_car_rental_account]
    
  3. Publish the page.

That is all. From then on:

  • the confirmation email carries a View or cancel your booking link, and
  • the last step of the booking form shows View or cancel this booking later.

Both lead to the portal page with the booking already open. Until a published page carries the portal, neither link appears. See Shortcodes and blocks.

Settings

The Cancellations and customer portal settings, with free cancellation until 48 hours, a late cancellation fee of 1 day and portal page ID 15

Open Plugixa Car Rental -> Settings -> Cancellations and customer portal. The section is only listed while the Customer portal app is on. Change the values and click Save.

Field Default What it does
Free cancellation until 48 h “Hours before pickup.” Until this many hours before the pickup time, a customer cancels free of charge. From 0 to 720. With 0, cancelling is free right up to the pickup time.
Late cancellation fee 1 days “Days of the rental charged; never more than the booking.” What cancelling costs once the free period has ended. From 0 to 30. With 0, a late cancellation is also free.
Portal page ID 0 “0 finds the page with the [plugixa_car_rental_account] shortcode or block.” Enter a page ID only if you have more than one page carrying the portal, or the links lead to the wrong one.

A number outside its range is saved as the nearest allowed value.

The cancellation policy

The rule a customer cancels under has three stages.

When the customer cancels What it costs
Before the free period ends (by default, more than 48 hours before pickup) Nothing.
After that, up to the pickup time The Late cancellation fee: that many days of the rental, at the booking’s average day price. It is never more than the booking’s total.
From the pickup time on The customer cannot cancel online. “The pickup time has passed, so this booking can no longer be cancelled online. Please contact us.” A missed pickup is a no-show, and that is your decision on the booking.

Worked example with the defaults: a 4-day rental of a Mercedes V-Class costs €532.00 in total. Cancelled 30 hours before pickup, the free period has ended, so the fee is one day of the rental, €532.00 / 4 = €133.00.

The free-cancellation deadline is worked out on the clock of the pickup location, the same clock the pickup time is shown in.

Only Pending and Confirmed bookings can be cancelled by the customer. Once a booking is picked up, returned, completed, cancelled, expired or marked no-show, the portal says “This booking can no longer be cancelled online.”

You can still cancel any booking yourself, at any time, from Bookings. The policy applies to customers only.

Opening a booking

The customer portal showing booking ADR-2026-0015, confirmed, with Paid so far €160.00 of €532.00, the booking summary and a Cancel this booking card stating that cancelling now costs €133.00

The page opens on the booking the link belongs to.

Part What it shows
Heading “Booking” and the reference, for example Booking ADR-2026-0015.
Status Waiting for confirmation, Confirmed, On rental or Completed (a returned car shows as Completed too), Cancelled, Not completed: the hold ran out for an expired booking, or Not collected for a no-show. A status the page does not know reads Updated by the rental desk, never an internal code.
Payment line “Paid in full: €950.00.” or “Paid so far: €160.00 of €532.00. The rest is due at pickup.” Shown once something has been paid.
Summary The car, the pickup and return with their locations and times, the number of rental days, every price line and the Total. It is the same summary the customer saw when booking.
View or print your invoice Shown once the booking has an invoice. See Invoices.
Your invoice (PDF) PRO The invoice as a PDF, beside the printable one.
Your signed rental agreement (PDF) PRO Shown after the pickup inspection is signed, with Your signed return record (PDF) after the return. See Inspections.
Cancel this booking The cancellation card, described below.

The portal for booking ADR-2026-0010, a Tesla Model 3 on rental and paid in full, with a link to the signed rental agreement and a card saying the booking can no longer be cancelled online

A customer coming back from an online payment PRO also sees what happened: “Thank you, your payment was received.”, “You left the payment page, so nothing was charged.” or “Your payment did not go through, so nothing was charged.”

Cancelling

The Cancel this booking card states the terms before anything happens:

  • “Free cancellation until” and the date and time, while cancelling is free, or
  • “Cancelling now costs €133.00: the free cancellation period has ended.”

Cancel booking asks for confirmation with Yes, cancel my booking and Keep my booking. Nothing is cancelled until the customer confirms.

The fee the customer was shown is sent with the confirmation. If the terms changed while the page was open, for example because the free period ended in the meantime, nothing is cancelled. The customer sees “The cancellation terms have changed since this page was opened. Please check them and confirm again.” and the card shows the new terms. Nobody is charged a fee they did not see.

When the booking is cancelled:

  1. The fee and the refund are written on the booking, so the cancellation email and your booking screen show what the customer agreed to.
  2. The booking moves to Cancelled and its car is free for other customers.
  3. Anything paid online PRO above the fee is refunded at once, through the same provider. Money paid at your desk is not touched: you hand it back yourself and record the refund. See Payments.
  4. The cancellation email is sent. See Emails.

The page then reads “This booking is cancelled, free of charge.” or “This booking is cancelled. A cancellation fee of €133.00 applies.” When money is due back, it adds either “€27.00 has been refunded the way you paid. Your bank may take a few days to show it.” or “€27.00 will be refunded to you. We will be in touch about it.”

The page keeps showing the fee a booking was cancelled with, whenever it is opened again.

Finding a booking again

The Find your booking form with Booking reference and Email fields and an Email me the link button

Opened without a link, or with a link that no longer works, the portal shows Find your booking: “Enter your booking reference and the email you booked with. We will email you a link to view or cancel it.”

Field Notes
Booking reference As in the confirmation, for example ADR-2026-0015. Upper or lower case both work.
Email The address the booking was made with. Upper or lower case both work.

Email me the link always answers the same way: “If that reference and email match a booking, we have emailed the link to manage it.” The link is sent only to the address on the booking, never to the one typed. So the form cannot be used to find out whether a reference exists, or to send somebody else’s booking to a stranger.

A link that is not valid shows “This link is not valid any more. Use “Find my booking” to get a new one.” above the form.

Security and limits

  • A manage link is signed with your site’s secret keys. A made-up or altered link does not open anything. Changing the WordPress security keys and salts in wp-config.php makes every link already sent stop working, as it signs everybody out.
  • The page’s markup carries no booking. The booking is fetched after the page loads, using the link in the address bar, so a page cache can keep the portal page without ever serving one customer’s booking to another.
  • Each visitor address is limited, per hour:
Action Limit per hour
Opening a booking 60
Cancelling 10
Email me the link 5

Over a limit the customer sees “Too many attempts. Please wait a few minutes and try again.” The find form also carries a hidden field that people never see and spam robots fill in, and a request with it filled is refused.

For developers

add_action( 'plugixa_car_rental_booking_cancelled_by_customer', function ( $booking, $terms ) {
	// $terms holds fee, refund and free.
}, 10, 2 );

See the Hooks reference.

Quick Links