For the complete documentation index, see llms.txt. This page is also available as Markdown.

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.

Component
Path
Purpose

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.

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.

Rental Type
CSV Format
Extra Column
Demo File

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):

Column
Description
Notes

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):

Remove Point-to-Point Routes

Delete all existing route data for a selected product before re-importing a corrected CSV.

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:

Type
How it works
Rental types

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.csv for 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_map in 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