Document
Rental & Transport Booking Plugin
Rental & Transport Booking Plugin provides an all-in-one solution designed specifically for businesses in the vehicle rental and broader rental service industries. It helps companies manage their entire rental process seamlessly — from listing vehicles or other items, handling bookings and reservations, setting up flexible pricing models.
Rental & Transport Booking Plugin is built on the powerful foundation of WooCommerce. This allows businesses to enjoy all the benefits of WooCommerce — such as secure payments, a wide range of compatible plugins, and a familiar interface
I. Installation
Please read this documentation
II. Updates
Please read this documentation.
III. Create a rental product
To create a rental product, you need to:
Firstly, go to: WordPress Admin panel > Products > Add new product
Then, you add the name and description for a rental product
Next, you move on to Product Data drop-down and select Vehicle Rental option.
After that, you can set the following settings:
1. Choose a service type and set price rules
Our plugin support 3 service type: Point-to-point, Hour-range and Daily
1.1: Point-To-Point
A point-to-point service type refers to a transportation option where the trip begins at a specific pickup location and ends at a designated drop-off location.
Steps to follow:
a) Go to Service Type, choose: Point-to-point
b) Assign a vehicle to the rental product. Please, note: you can add, edit and delete vehicle. Read here for mor details
c) Set Price Rule
Our plugins support 2 pricing plans including Fixed Price and Price Per Km
+ Set Fixed Price: You can set unlimited pairs of pickup point & drop-off point, and daily pricing plan of them. Please, note: you can add, edit, or delete specific location addresses. Read here for more details
Example:
Suppose that you configure the settings in the backend as bellow:

On the frontend, a customer books a Mercedes on Thursday (29-01-2026) with two fixed pickup and drop-off points (from 15 W 51st St to 768 5th Ave), so the total payment is $103

+ Set Price Per Km: Allow you to choose one of 2 options, including basic pricing plan and advanced pricing plan
Basic Pricing Plan: Set a general price per km.
Example:
Suppose that you configure the settings in the backend as bellow:

On the frontend, a customer books a Mercedes for a distance of 29 km. The rate for a Mercedes is $10 per km, so the total cost is $290

Advanced Pricing Plan (distance-based tiered pricing): Set price per Km for initial distance and set price per km for additional distance.
Example:
Suppose that you configure the settings in the backend as bellow:

On the frontend, a customer books a Mercedes for a total distance of 29 km.
Initial distance pricing: The first 10 km are charged at a rate of $10 per km. Calculation: 10 km × $10/km = $100
Additional distance pricing: After the initial 10 km, the remaining distance is 19 km. These additional kilometers are charged at $20 per km. Calculation: 19 km × $20/km = $380
Total price calculation: $100 (initial distance) + $380 (additional distance) = $480

d) Configure Round-Trip Settings: A round trip means going from one place to another, and then coming back to the starting place.
This feature only applies to point-to-point service type. You need to set:
Enable round trip: Turn on round trip feature
Round trip discount: Apply discount (%) for round-trip pricing
Allow choosing a return date: ◦ If you do not tick the checkbox “Allow choosing a return date”, the return date will automatically be the same as the pick-up date.. ◦ If you tick the checkbox “Allow choosing a return date”, you allow customers to choose return date they want.
Max X days return: Limit the maximum number of days allowed between departure and return
Example:
Suppose that you configure the settings in the backend as bellow:


On the frontend, a customer books a Mercedes on Thursday (29-01-2026) with fixed pickup and drop-off points (from 15 W 51st St to 768 5th Ave).
One-way trip price: $100
Round-trip pricing: The base round-trip price is calculated as: $100 × 2 = $200
A 10% round-trip discount is applied, so total amount: $200 − (10% × $200) = $180

1.2: Hour-range
Hour-range is a rental service type where the price is calculated based on time ranges (blocks of hours) rather than on each individual hour
Steps to follow:
a) Go to Service Type, choose: Hour-range
b) Assign a vehicle to the rental product. Please, note: you can add, edit and delete vehicle. Read here for more details
c) Set Price Rules
You need to set:
Durations: The available rental periods (e.g., 4 hours, 5 hours, 7 hours )
Price for each duration: The rental fee applied to each selected duration. Example: 4 hours = $20
Distance Limit of a duration: The maximum distance allowed within the rental period without additional charges. Example: 4 hours = 200 km included
Excess Distance Charge for each duration: An additional fee that a customer must pay when they travel beyond the allowed distance limit. Example: $1 per km beyond the included 200 km.
Example:
Suppose that you configure the settings in the backend as bellow:

On the frontend, a customer books a Lexus in 29-01-2026 for 3 hours, he has to pay $80

1.3: Daily
Daily is a rental service type where the price is calculated based on day ranges. You need to set Progressive Day-Based Pricing, meaning each day range is charged cumulatively, not replaced by the next range.
Steps to follow:
a) Go to Service Type, choose: Daily
b) Assign a vehicle to the rental product. Please, note: you can add, edit and delete vehicle. Read here for more details
c) Set Price Rules
You need to set:
Specified Day Range: For instance, 1-3 days, 4-6 days
Price per day for each day range: 1-3 days $100/days, 4-6 days $90/day
Distance limit of a specified day range: The maximum distance included for each specified rental period without extra charges. Ex: minimum 2 days – maximum 7 days = 1000 km included
Excess Distance Charge for each : An additional fee that a customer must pay when they travel beyond the allowed distance limit. Ex: $1 per km beyond the included 1000 km
Example:
Suppose that you configure the settings in the backend as bellow:

On the frontend, a customer books a BMW from 03-02-2026 to 07-02-2026, resulting in a rental duration of 4 days.
Price calculation (Progressive Day-Based Pricing):
First 3 days: $100/day × 3 days = $300
4th day: $120/day × 1 day = $120
Total car rental cost: $300 + $120 = $420

2: Set Additional Fee
This feature is available for point-to-point service type and hour-range service type.
Extra Fee means the additional charges incurred beyond the basic rental price like cleaning fee, peak time fee or admin fee ...
Steps to follow:
a) Add Fee Name: Enter a clear and descriptive name for the fee. For instance, Peak Time Fee, Service Fee, Late Return Fee
b) Choose one of the two methods for applying extra fees:
Fixed: Apply a fixed fee regardless of the rental price (e.g., peak time fee = $10 per rental).
Percent based: Apply a percentage of the total rental price (e.g., Service Fee = 5% of rental price).
c) Set Applicable Time for each fee: Define when the extra fee should be applied by selecting a specific time range.
Example:
Suppose that you configure the settings in the backend as bellow:


On the frontend, a customer books a Mercedes on Thursday (29-01-2026) at 4:00 PM with fixed pickup and drop-off points (from 15 W 51st St to 768 5th Ave),
Price breakdown:
Rental fee: $100
Rush hour surcharge (2%): $2 (2% of $100)
Fixed tip: $3
Total amount payable: $100 + $2 + $3 = $105

3: Set Deposit Payment
A deposit payment is an amount that customers must pay upfront when booking or experiencing services.
Steps to follow:
a) Tick the checkbox Enable to activate deposit payment.
b) Tick the checkbox Allow Full Payment to display this option on the product details page.
c) Select one of the two deposit types:
Percentage Amount – A percentage of the total price.
Fixed Amount – A specific fixed amount.
d) Enter the deposit amount according to the selected deposit type


Example:
Suppose that you configure the settings in the backend as bellow:


On the frontend, a customer books a BMW for 2 hours
Total car rental cost: $50
→ Deposit = $50 * 50% = $25
He has to pay a deposit of $25

4: Setup Map
This feature is only applicable to point-to-point service type.
Steps to follow:
a) Waypoints: Enable and configure intermediate stops along a route.
Enable Waypoints: Tick the checkbox to activate the waypoint feature.
Number of Waypoints: Set the maximum number of intermediate locations (stops) a customer can add between the pickup and drop-off points.
b) Zoom Map: Control the default zoom level of the map
c) Bounds: Limit the geographic area where users can search for locations. Set latitude, longitude and radius
d) Restrictions: Restrict searches by country or region
Note: Read here to know how to display the map in the booking form and the request form
Example:
Suppose that you configure the settings in the backend as bellow:

Display the map on the frontend

5: Add Special Time
Special Time means specific periods (day, hour, or season) when special pricing rules, surcharges, or discounts are applied.
Steps to follow:
a) Add Special Time periods: Define the specific dates or times when the discount will apply.
b) Choose discount method
Fixed: A specific amount deducted from the rental price (e.g., $10 off).
Percent: A discount calculated as a percentage of the rental price (e.g., 10% off).
c) Input the discount value according to the selected method.
Example:
Suppose that you configure the settings in the backend as bellow:


On the frontend, a customer books a Mercedes in 07-02-2026 for 29.6 km
Car rental cost: 29.6 km × $10/km = $296
The customer books the service in 07-02-2026, which falls within the special pricing period from 05-02-2026 to 10-02-2026. An additional 2% special day surcharge is applied
Additional charge: $296 × 2% = $5.92
Total amount payable: $296 + $5.92 = $301.92

6: Set Disable Dates
Disable Dates are specific dates on which customers cannot make a booking. With this feature, you add start and end dates for the disabled periods
Example:
Suppose that you configure the settings in the backend as bellow:


Display on the frontend

7: Configure Local Settings for a rental product
Please, note: These options will override the values set in Global settings (WooCommerce > Settings > Rental & Transport)
With the feature, you can set:
Rental Time: Configure the period during which a customer is allowed to use a rented item or service
Preparation Time: Set the time needed to prepare a vehicle or service before it starts
Global settings: Use the preparation time set in WooCommerce Settings (WooCommerce > Settings > Rental & Transport > General > Booking Conditions)
Local: Set a custom preparation time for the specific product, overriding the global setting
None: No preparation time is applied to the product
Show Form ( show booking form and request form ). Choose one of 4 options:
Global settings: Use settings in WooCommerce Setting for showing booking form settings and request form settings
Only booking: Only show booking form
Only request: Only show request form
Both: Show both booking form and enquiry form
Custom Checkout Fields: Choose one of 2 options:
Global settings: Use the preparation time set in the global Settings (Rental & Transport > Custom checkout fields)
Some: Choose private custom checkout fields for a specific rental product, overriding the global setting
None: Do not display any custom checkout fields in the booking form and request form.
Read here to know how to add custom checkout fields.
Disable Weekdays: Select weekdays to disable bookings on those days. Ex: If Disable Weekday is set to Sunday, customers cannot make bookings on Sundays
Global settings: Use the disable weekdays set in WooCommerce Settings (WooCommerce > Settings > Rental & Transport > General > Booking Conditions)
Local: Set custom disable weekdays for the specific product, overriding the global setting
None: No disable weekdays are applied to the product
Minimum Advance Booking Days: Enter the minimum number of days the booking must be made in advance. Example: If the number of preparation days is 2 and today is Friday, August 22, 2025, then the earliest booking date will be Sunday, August 24, 2025.
Global settings: Use the minimum advance booking days set in WooCommerce Settings (WooCommerce > Settings > Rental & Transport > General > Booking Conditions)
Local: Set custom minimum advance booking days for the specific product, overriding the global setting
None: No minimum advance booking days are applied to the product
Show reCAPTCHA: Choose one of 3 options:
Global settings: Use reCAPTCHA set in WooCommerce Setting (WooCommerce > Settings > Rental & Transport > reCAPTCHA)
Yes: Display reCAPTCHA in the booking form and request form
No: Hide reCAPTCHA in the booking form and request form
Show Terms and Conditions: Choose one of 3 options:
Global settings: Use Terms and conditions set in WooCommerce Setting (WooCommerce > Settings > Rental & Transport > Booking Form or Request Form)
Yes: Display the checkbox terms and conditions in the booking form and request form
No: Hide the checkbox terms and conditions in the booking form and request form
Show Map: Choose one of 3 options:
Global settings: Use map set in WooCommerce Setting (WooCommerce > Settings > Rental & Transport > Booking Form or Request Form)
Yes: Display map in the booking form and request form
No: Hide map in the booking form and request form
Show Pick-up Location: Choose one of 2 options:
Yes: Display Pick-up Location field in the booking form and request form
No: Hide Pick-up Location field in the booking form and request form
Show Drop-off Location: Choose one of 2 options:
Yes: Display Drop-off Location field in the booking form and request form
No: Hide Drop-off Location field in the booking form and request form
IV: Booking Management
1: View Bookings on the Calendar in The Backend
Go to WordPress Admin Panel > Rental Transport > Booking Calendar
The feature allows you view all bookings on the calendar and filter bookings by specific criteria
a) View Bookings for All Products
With Booking calendar feature, you can:
View all bookings on the calendar of all products or a specific product in monthly
See details of a booking on the calendar
b) Filter bookings by specific criteria
You can filter bookings by specific criteria and view the results directly on the calendar
Search bookings by criteria:
Product
Vehicle
Customer Name
Customer Email
Booking Status: Processing, On hold, Completed, Cancelled, Refunded and Failed
Booking Type: Normal and Deposit

2: Manually Add New Booking
This feature lets admins create bookings directly from the backend without requiring customers to place a booking on the website
Go to WordPress Admin Panel > Rental Transport > Add New Booking.
From there, you can enter customer details, select rental products and fill in the booking form

Note: When you start typing a customer’s name, the system will display a list of matching customers. Select the correct one, and all related customer information will be filled in automatically.

V: Manage Vehicle
Go to WordPress Admin Panel > Rental Transport > Manage Vehicle
This feature lets you create a detailed vehicle profile with name, images, description, capacity, and availability—keeping your listings accurate and easy to manage.
5.1: View All Vehicles
View the vehicle list with the following fields:
Vehicle Name
Image
Seats
Luggage
Fleet

5.2: Add New Vehicle
Add unlimited new vehicles by providing the following information:
Vehicle Name
Description
Image
Seats
Luggage
Fleet

VI: Manage Address
Go to WordPress Admin Panel > Rental Transport > Manage Address
6.1: View All Addresses
View all addresses with the following fields:
Short Name
Full Address
Latitude
Longitude

6.2: Add a New Address
Add unlimited new addresses by providing the following information:
Full Address
Short Name
Latitude
Longitude
Note: After typing an address into the search bar, choose the correct result from Google Maps. The system will automatically fill in the full address, short name, latitude, and longitude fields.

VII: Manage Custom Checkout Fields
The feature allows to add and mange checkout fields displayed in the Booking form and Request form. With this feature you can add, edit or delete fields
Go to WordPress Admin panel > Rental Transport > Custom Checkout Fields

Add fields
Steps to add a custom checkout field:
Type: supports 11 different types of fields including text, number, tel, email, password, textarea, radio, checkbox, select, date, and file
Name: Add name for fields shown in the back end
Label: Add name for fields shown in the front end
Description: Add a short explanation about the field
Placeholder: A hint or example text displayed inside the input to guide the user.
Default: A pre-filled value that will appear unless the user changes it
Class: choose class for the field
Required: Mark Custom Checkout fields as required or optional
Enable: Enable or disable the field in the form
Example:
Suppose that you configure the settings in the backend as bellow:

Display on the frontend

VIII: Global Settings
1: Configure General Settings
With the function, you can set Booking Conditions, Date & Time Format, Google Map and Calendar
Go to WooCommerce > Settings > Rental & Transport > General

1.1: Booking Conditions
Order Status: You will choose order statuses that will be accepted and reserved.
Disable Weekdays: Choose specific weekdays in which customers will be prevented from booking
Overcome Disabled Dates: Allow to choose a date range including disabled dates. Ex: Thursday is disabled date. A guest can still make a booking from Monday to Friday including Thursday that is disabled.
Preparation Time: Set amount of time required to get a product or service ready before a booking can start
Minimum Advance Booking Days: Set the buffer time required before a booking can be made. For example, minimum advance booking days is set 2 . Suppose that today is Friday, August 22 2025. As a result, you can only make a booking from Sunday, December, 24 2025.

1.2: Date and Time Format
Date Format: Support 4 date formats including dd-mm-yyyy, yyyy-mm-dd, dd/mm/yyyy, and yyyy/mm/dd
Time Formats: Support 5 time formats including H:i (24 hours), h:i a (09:10 am), h:i A (09:10 AM), g:i a (9:10 am), g:i A (9:10 AM)
Time Slot Steps: Allows to choose a default length for the time slot step. For example: Set 15 minutes as the default time slot step, the booking hour will be divided by a grid of 15 minutes: 07:15, 07:30, 07:45, 08:00
Time Zone: Change time zone that fits your region

1.3: Google Map
Display: Choose one of 3 options
None: Do not display map in the booking form and request form
Google Map: Display Google Map in the booking form and request form
Open Street Map: Display Open Street Map in the booking form and request form
API Key: Your credential for Google Maps
Latitude: North/South position in decimal degrees (range –90 → 90). Example (Hanoi):
21.0278Longitude: East/West position in decimal degrees (range –180 → 180). Example (Hanoi):
105.8342Zoom: Map scale level (typical 0–21+). 0–3: world, 4–6: country/region, 10–12: city, 14–16: streets, 17–20: buildings.

1.4: Calendar
Language: Choose a language for the calendar
The First Day of the Week: If you set Monday as the first day of the week, your calendar will show columns starting from Monday
Minimum Year: Set the earliest year customers can select
Maximum Year: Set the latest year customers can select
Text Color of Available Dates: Set the text color for bookable dates
Background of Available Dates: Set the text color for bookable dates
Text Color of Unavailable Dates: Set the text color for dates that are not available for booking
Background of Unavailable Dates: Set the background color for dates that are not available for booking
Color Streak for Unavailable Dates: Choose the stripe color indicating blocked or disabled dates.
Customize CSS: Add CSS to customize settings for the calendar

2: Set a Booking Form
A booking form will help you to collect all necessary details required to confirm a booking.
Go to WordPress Admin panel > WooCommerce > Settings > Rental & Transport > Booking Form
This feature allows to:
Show/hide booking form, custom checkout fields, map, and total price
Show/hide terms and conditions. Besides, you can add text for term and conditions
Show/hide all price components in cart, checkout, and order page: Displaying all price components will help to explain how the total price is calculated

3: Set a Request Form
A Request Form is a form that allows customers to send their booking requests, inquiries, or special requirements directly to the business.
Go to WordPress Admin panel > WooCommerce > Settings > Rental & Transport > Request Form

This feature allows to:
3.1: Show/hide request form
3.2: Show/hide fields
Show/hide phone, address, custom checkout fields, map, additional information, and total price
Show/hide terms and conditions. Besides, you can still add text for terms and conditions

3.3: Set Email
Set email for Admin
Enable: Allow to send email to email address of Admin or not
Subject: Set subject for email
From Name: Set from name for email
Send from Email: Customers will know that they received email from which email address is
CC: Add other email addresses
Email Content: Use these shortcodes: [site-title] [site-url] [admin-email] [customer-first-name] [customer-last-name] [customer-name] [customer-email] [customer-phone] [product-name] [pickup-date] [order-details]
Set email for Customer
Enable: Allow to send email to email address of customers or not
Subject: Set subject for email
From Name: Set from name for email
Send from Email: Customers will know that they received email from which email address is
CC: Add other email addresses
Email Content: Use these shortcodes: [site-title] [site-url] [admin-email] [customer-first-name] [customer-last-name] [customer-name] [customer-email] [customer-phone] [product-name] [pickup-date] [order-details]

3.4: Configure Orders
Allow Creating a New Order: Enable to auto-create an order after a customer submits an enquiry form.
New Order Status: Set the default status for the new order (e.g., Pending, On Hold, Processing)

3.5 Set redirect pages
Thank page: Choose a page that redirect users when they successfully placed an order.
Error page: Choose a page that redirect users when their order fails.

4. Create reCAPTCHA
reCAPTCHA is a free security service by Google that helps protect websites from spam and abuse by verifying whether the user is human or a bot.
Follow steps to create and configure reCAPTCHA:
a) Go to WordPress Admin Panel > WooCommerce > Settings > Rental & Transport > reCAPTCHA
b) Enable: Show or hide reCAPTCHA.
c) Form: Choose where to apply reCAPTCHA — Booking Form, Request Form, or both.
d) Type: Select one of the two reCAPTCHA types:
Challenge (v2): Customers must check a box or solve a challenge.
Score-based (v3) : Works in the background and assigns a score to detect bots.
e) Site Key: Enter the Site Key and Secret Key corresponding to the chosen reCAPTCHA type.

5. Set Deposit Payment
Go to: WordPress Admin panel > WooCommerce > Settings > Rental & Transport > Deposit
5.1: Remaining Amount
Send order detail to customer: Send an email with the remaining amount to the customer.
5.2: Automatically Create Order Details for Remaining Amount
Enable: Auto-generate order details for the remaining amount.
X Days Before Check-in: Set how many days before check-in to create and send the details.
Check Interval: How often (in seconds) the system checks to create the details.

6. Set Reminder Email
Reminder email is a notification automatically sent to customers' email addresses to remind him of an upcoming check-in for a reservation or booking
Go to: WordPress Admin panel > WooCommerce > Settings > Rental & Transport > Reminder Email
Enable: Allow to automatically sent an reminder email to customer or not
X Days Before Check-in Date: Suppose that you set 2 days before check-in date. If the check-in date is August 22, 2025, the email will be sent on August 20, 2025.
Send a Recurring Email Every X Seconds After the Initial One: Create an automated process where an email is sent repeatedly every X seconds after the first email.
Subject: Set subject for email
From Name: Set from name for email
Send from Email: Customers will know that they received email from which email address is
CC: Add other email addresses to send
Email Content: Use these short codes: [site-title] [site-url] [admin-email] [customer-email] [product-name] [pickup-date] [order_id] [order-details]

7. Set Cancellation Policy
The feature enables to set the rules and procedures for canceling a booking
Go to: WordPress Admin panel > WooCommerce > Settings > Rental & Transport > Cancel Booking

7.1: Set cancellation policy
Enable: Allow customers to cancel booking or not
Minimum Time Required Before Canceling (hours): Enable customers to cancel your appointment at least x minutes before the appointment time
Cancellation Is Accepted If the Total Order is Less Than x Amount: Allows order cancellations only when the total value of the order does not exceed X amount

7.2: Set email
This feature is able to configure an email to send to email address of Admin when customers cancel their booking
Enable: Allow to sent to the email address of Admin when customers cancel their booking or not
Subject: Set subject for email
From Name: Set from name for email
Send from Email: Customers will know that they received email from which email address is
CC: Add other email addresses to send
Email Content: Use these short codes: [site-title] [site-url] [admin-email] [customer-email] [order-id] [view-order]

8. Set Typography and Color
Go to: WordPress Admin panel > WooCommerce > Settings > Rental & Transport > Typography & Color
Allows you to customize colors, font size, weight, and line height for headings, text, borders, buttons, label, checkbox & radio, message, accordion

a) Color

b) Heading

c) Label

d) Text

e) Input

f) Checkbox & Radio

g) Border

h) Button

i) Message

j) Accordion

Last updated