Manage Locations
Create and manage rental pickup/dropoff locations, import point-to-point route pricing, and configure location-based surcharges — including distance-based fees for customer-specified addresses.
Introduction
The Locations system in BRW has three distinct components that work together to provide flexible location management for rental products.
Location (CPT)
BRW → Manage Location
Create named pickup/dropoff locations assigned to rental products
Point-to-Point Routes
BRW → hidden submenu (BRW -> Manage Locations -> Manage Point-to-Point Routes )
Import CSV price tables for routes between locations (Transportation / Day / Hour / Mixed)
Location Surcharges
BRW → hidden submenu (BRW -> Manage Locations -> Manage Location Surcharges)
Set extra fees per location, or distance-based fees for non-standard customer addresses
"Point-to-Point Routes" and "Location Surcharges" are registered as hidden submenus (empty menu label). They are accessed via the Manage Location list's submenu file override, which highlights "Location" in the sidebar when either of these pages is active.
1: Location List
The Location list is a standard WordPress Custom Post Type (CPT) admin screen. Each location entry represents one named pickup/dropoff point.

Locations appear as options in product-level pickup/dropoff dropdowns. Only locations marked as pickup are shown in the pickup field, and only dropoff-marked ones in the dropoff field.
2: Add / Edit Location
Each location is a WordPress post with a title, optional featured image, and two meta checkboxes. Navigate to BRW → Manage Location → Add new location.

Location Name (Title) - Required
The display name of the location, used in all product dropdowns and order meta. Must be unique and descriptive.
Important: The & character is automatically stripped from location names on save (replaced with a space, then trimmed). Use "and" instead of "&" in location names.
Used for: Pick-up Location
When checked, this location appears in pickup location dropdowns on product booking forms and in admin Booking Calendar filters. Default: yes.
Used for: Drop-off Location
When checked, this location appears in dropoff location dropdowns on product booking forms and in admin Booking Calendar filters. Default: yes.
After creating locations, go to each rental product's Booking Info → Pickup / Dropoff Location settings and select which locations to offer for that product. Locations are not automatically assigned to all products.
3: Point-to-Point Routes — Overview
Point-to-Point (P2P) pricing lets you set a specific price for each location pair (origin → destination). This overrides standard day/hour rate pricing when a matching route is found.
Transportation
Pick-up Location, Drop-off Location, Time, Price
Time (minutes/km — depends on product config)
demo.csv
Day / Hour / Mixed / Period
Pick-up Location, Drop-off Location, Price
—
demo2.csv
Route pricing is stored as product meta. Each CSV import appends or updates routes for the selected product — it does not replace all existing routes unless you first use the Remove Routes form.


Transportation Routes
For Transportation rental type products. Prices and estimated times are set per route.

CSV Format (demo.csv):
Pick-up Location
Origin location name
Must exactly match a Location CPT title (case-insensitive)
Drop-off Location
Destination location name
Must exactly match a Location CPT title
Time
Estimated travel time or distance value
Usage depends on product's price-by-time or price-by-km setting
Price
Route price in store currency
Numeric value, no currency symbol
Day / Hour / Mixed / Period Routes
For non-Transportation rental types. Sets a flat price for each location pair, overriding the standard per-day/per-hour rate.

CSV Format (demo2.csv):
Location names in the CSV must match exactly (case-insensitive) the titles of existing Location CPT entries. If a location name doesn't match, that row is silently skipped.
Remove Point-to-Point Routes
Delete all existing route data for a selected product before re-importing a corrected CSV.

Destructive action: Clicking Remove immediately deletes all P2P route data stored in the selected product's meta. This action cannot be undone. Always export or backup your CSV before removing routes.
4: Location Surcharges — Overview
Location surcharges add extra fees on top of the rental price when a customer selects specific pickup or dropoff locations. There are three surcharge mechanisms:


Pick-up surcharge
Fixed fee added when customer picks a specific pickup location
Day, Hour, Mixed, Period (surcharge_type = local or global)
Drop-off surcharge
Fixed fee added when customer picks a specific dropoff location
Same as above
Different location
Distance-based fee (price/km) for a custom address outside defined locations
Day (when customer types own address)
Charge only once if pick-up = drop-off
A checkbox at the top of the Surcharges page. When enabled, if a customer selects the same location for both pickup and dropoff, only one surcharge fee is applied (not doubled).
Pick-up Location Surcharges
Set an extra fee for each pickup location. Customers see the surcharge added to their booking total when they select that location.

CSV Import
Upload a CSV with two columns: Name (must match a Location CPT title) and Price (numeric surcharge amount). Imports and overwrites existing surcharge data from the file. Download
demo3.csvfor the exact format.CSV Format (demo3.csv):
Manual Add
Select a pickup location from the dropdown and enter a surcharge price, then click Add. Saves immediately via AJAX without page reload. Only locations that are marked as "Used for Pick-up" appear in this dropdown.
Edit / Delete
Each row in the list has inline Edit (✏) and Delete (🗑) actions. Edit reveals an input to update the price; Update button saves via AJAX. Delete removes the entry immediately with AJAX confirmation.
Drop-off Location Surcharges
Identical to pickup surcharges but applies to the drop-off location selection. Uses the same CSV format (demo3.csv) and the same manual add/edit/delete UI.

CSV Import (Drop-off)
Same format as pickup:
Name, Price. Location names must match Drop-off–enabled Location CPT titles.
Manual Add (Drop-off)
Only locations marked as "Used for Drop-off" appear in the dropdown
Both pickup and dropoff surcharges appear on the product's booking form as a separate line item in the price breakdown. Use filter ovabrw_show_location_surcharge to toggle their visibility in the frontend total.
Different Location Surcharge
When a customer types a custom address (not one of your predefined locations), BRW calculates the distance from that address to your rental office and applies a per-km fee.

Price (per km) - Optional:
The surcharge rate applied per kilometer of distance between the customer's custom pickup address and your rental office. Leave blank (0) to disable distance-based surcharges.
Delivery Service Radius - Optional:
Maximum delivery distance in kilometers. If the customer's address is beyond this radius, the booking is rejected or the surcharge is applied based on your product configuration. Set to 0 to disable radius limit.
Rental Office Address - Required for distance calc
The starting point for distance calculation. Enter your office address in the Google Places Autocomplete field — the map pin updates to that location. Latitude and longitude are auto-filled (read-only) from the geocoded result.
Requires Google Maps API Key to be configured (
google_key_mapin plugin settings). Without an API key, the address field is hidden and the map still renders from stored lat/lng defaults.
The "different location" feature is most useful for products where customers can type any address (e.g., "pick me up from my hotel"). The system uses Google Maps Distance Matrix to compute the exact driving distance from the typed address to your office coordinates, then multiplies by the price/km rate.
Last updated