Skip to main content

Enhanced Locations

Written by Stefan Hekman
Updated over 2 weeks ago

Enhanced Locations

The Enhanced Locations feature allows you to manage multiple physical repair shops within one RepairPlugin installation. It enables per-location schedules, shop managers, location-based pricing, Google Maps integration, service method control, and frontend location behavior.

This feature is ideal for repair businesses operating in multiple cities or branches that require separate opening hours, pricing, staff control, and booking logic.

Overview of Tabs

The Enhanced Locations section contains three main tabs:

• Schedules

• Locations

• Settings

Each tab controls a different layer of how your stores function.

1. Schedules

Schedules allow you to define opening hours and break times. A single schedule can be assigned to one or multiple locations.

This prevents you from manually configuring opening hours for each store individually if they share the same operating hours.

Creating or Editing a Schedule

Go to:

RepairPlugin > Enhanced Locations > Schedules

Click Create New or edit an existing schedule.

You can configure:

• Schedule Group Name

• Opening hours per day (Monday – Sunday)

• Break times within each day

If a store is closed on a specific day, simply leave the hours blank.

Opening Hours

For each day, you can define your start time & end time

Example:

09:00 AM to 06:00 PM

Break Time

You can optionally define break periods within the working day. During break time, customers cannot book appointments.

Example:

Open 09:00 – 18:00

Break 13:00 – 14:00

This ensures no bookings are allowed during lunch or downtime.

Click Update to save the schedule.

Once created, this schedule can be assigned to one or multiple locations under the location settings as seen below.

2. Locations

The Locations tab is where individual stores are created and managed.

Go to:

RepairPlugin > Enhanced Locations > Locations

Here you can:

• Add new locations

• Edit existing locations

• Delete locations

• Duplicate locations

• Reorder locations

• Copy location-specific shortcode

Virtual Locations

When creating or editing a location, you can enable the Virtual Location option.

A Virtual Location is designed to be used for non-walk-in service scenarios and behaves differently from a regular physical store.

What Happens When Virtual Location Is Enabled

When the Virtual Location toggle is activated:

• The service methods “Come by our store” and “Ship device” are automatically disabled

• Only Pickup service and Repair on your location remain enabled

• The location will not be intended for manual frontend store selection

This ensures that a Virtual Location can only be used for:

• Pickup Service

• Repair on your location

It cannot function as a walk-in or mail-in repair shop.

Virtual Label in Location List

After saving a Virtual Location, a “Virtual” label appears next to the location name in the Locations overview.

This visually distinguishes virtual locations from physical storefront locations. Physical locations do not display this label.

Intended Frontend Behavior

Virtual Locations are expected to:

• Not be shown as selectable storefronts in the frontend location selection step

• Be used only for routing pickup or on-location repair bookings

• Function as backend service hubs rather than public-facing stores

They are ideal for:

• Mobile repair teams

• Technician-only operations

• Centralized pickup routing

• Businesses without a customer-facing shop

Configuration and Capabilities

Even though Virtual Locations are not intended for storefront selection, they still:

• Can have their own schedule

• Can receive their own email notifications

• Can have shop managers assigned

• Can use location-based pricing

• Can be assigned automatically via nearest-location logic

This allows full operational control while preventing customers from selecting them as walk-in shops.

Creating or Editing a Location

When adding or editing a location, you can configure:

Basic Information

• Name

• Telephone

• Address

• Zipcode + City

• Google Maps link

• Email

• BCC Email

The email address receives notifications related to that specific location.

Schedule Assignment

Each location must be linked to a Schedule Group.

This determines when that location is open and bookable.

If multiple stores share the same working hours, you can assign them to the same schedule group.

Shop Managers

In the Enhanced Locations add-on, it’s possible to assign a shop manager to each location. A shop manager can:

  • View (and optionally adjust) the prices specific to their location.

  • Access only their own appointments.

  • Receive duplicate notification emails that are also sent to customers.

Add a user

  1. Navigate to WordPress > Users and add a new user. Fill in all required information and assign the role RepairPlugin.

  2. To add multiple users at once, consider using a free bulk user management plugin like Import and export users and customers (or a similar option).

Assign Users as Shop Manager to a Specific Location

If you want a shop manager to have restricted access to only one location in RepairPlugin:

  1. Go to RepairPlugin > Enhanced Locations > Settings and enable "Enable pricing based on location."

  2. Navigate to RepairPlugin > Enhanced Locations > Locations and select the location you want to assign to the user.

  3. Assign the user to this location to ensure they only have access to this specific location’s data, including prices and appointments. Multiple users can be assigned if needed.

Give Users Full Access to RepairPlugin and All Locations

If you prefer to give a user full access, allowing them to view all features, locations, prices, etc., similar to an Admin user (excluding the Permissions page):

Go to RepairPlugin > Settings > Permissions and add the user(s) to the permissions list.

This grants them full access to all locations and features within RepairPlugin.

Location Image

You can upload an image for each location.

Recommended size: 500px x 125px (4:1 ratio)

This image can be displayed on the frontend if enabled in Settings.

Service Methods per Location

You can enable or disable service methods per location:

• Come by our store

• Ship device

• Pickup service

• Repair on your location

This allows flexibility. For example:

Location A may allow walk-in only.

Location B may offer pickup and on-site repair.

Click Update to save changes.

Reordering Locations

You can reorder stores using the up/down arrow controls on the left side.

The order determines how locations appear on the frontend.

Duplicate a Location

Use the duplicate icon to copy an existing location configuration.

This is useful when adding a new store with similar settings.

You only need to adjust the address and contact details afterward.

Copy Location Shortcode

Each location has a shortcode icon.

Clicking it copies a shortcode like:

[Repair_All location=1]

You can place this shortcode on a WordPress page to display only that specific location’s repair flow.

This is useful if each store has its own dedicated page.

3. Settings

The Settings tab controls global behavior for all locations.

Go to:

RepairPlugin > Enhanced Locations > Settings

Google Maps API Key

To enable location-based features such as nearest location search, you must add a Google Maps API key.

How to Generate a Google Maps API Key

  1. Create a new project

  2. Navigate to APIs & Services

  3. Enable the following APIs:
    • Maps JavaScript API
    • Places API
    • Geocoding API

  4. Go to Credentials

  5. Click Create Credentials → API Key

  6. Copy the generated key

  7. Paste it into the API Key field inside RepairPlugin

  8. Click Save Settings

After generating the API key, it is strongly recommended to restrict the key to your domain for security:

• Click “Restrict Key”

• Choose HTTP referrers

• Add your domain (e.g.,https://yourdomain.com/*)

• Save changes

Enable Search by Nearest Location on Frontend

When enabled, customers can automatically see the closest store based on their address.

Requires Google Maps API key.

Automatically Assign Nearest Location

When enabled, the system automatically assigns the nearest store for:

• Pickup Service

• Repair on Location

This removes manual selection from customers.

Preferred Distance Unit

Choose between:

• KM (Kilometers)

• Miles

This affects how distance is calculated and displayed.

Enable Pricing Based on Location

When “Enable Pricing Based on Location” is enabled in:

RepairPlugin > Enhanced Locations > Settings

Pricing becomes fully location-specific across the entire plugin.

This setting affects both backend configuration and the frontend booking flow.


Backend Behavior

Once enabled, a “Selected Location” dropdown appears on the following pages:

• Models & Repairs

• Default Repairs

This dropdown allows you to switch between locations and configure:

• Different repair prices per location

• Different repair durations per location

• Different fallback values

• Different margin values

Each location maintains its own pricing and duration settings.

For example:

  • Repair Shop Amsterdam may have a screen repair priced at €429, while Repair Shop Utrecht may have the same repair priced at €448.

Switching the dropdown changes the fields displayed on the page. Any changes made while a specific location is selected apply only to that location.

Repair Shop Amsterdam

Repair Shop Utrecht

This allows full control over pricing differences between branches.

Frontend Booking Flow Changes

When pricing based on location is enabled, the booking flow automatically changes.

An additional first step appears before brand or model selection.

Location Selection

The customer must first choose a location before proceeding.

This selection determines:

• The pricing that will apply

• Available time slots

• Available service methods

• Assigned shop manager

• Email routing

After a location is selected:

• It cannot be changed in later steps

• The booking remains locked to the selected location

• All following steps use the pricing and schedule of that location

Even when selecting a service method, date, or time, the chosen location remains fixed. This ensures pricing consistency and prevents cross-location conflicts during booking.

Required for Shop Manager Restrictions

Enabling pricing based on location is required if you want to:

• Restrict shop managers to a specific location

• Allow managers to edit only their own location’s prices

• Limit appointment visibility per location

Without this setting enabled, location-based user restrictions cannot function properly.

Show Location Image on Frontend

Displays the uploaded location image during the booking process.

Allow Customers to Choose Location for Shipping

When enabled, customers can select which store to ship their device to.

Allow Customers to Choose Location for Quote PDF

Allows customers to choose a location when generating a quote PDF.

Summary

The Enhanced Locations feature allows you to:

• Manage unlimited repair locations

• Assign custom schedules

• Control pricing per location

• Assign shop managers

• Enable Google Maps auto-location features

• Control service methods per branch

• Display location-specific booking pages

• Manage frontend location visibility

This feature gives full control to multi-branch repair businesses while keeping management centralized within one WordPress installation.

Did this answer your question?