BookingPress Location is a powerful add-on for WordPress that enhances the functionality of the popular BookingPress reservation plugin. This add-on provides an intuitive location selection feature, allowing users to easily specify their preferred location when making a reservation. By seamlessly integrating with the BookingPress plugin, this add-on simplifies the reservation process and improves the overall user experience.

Plugin Version: 2.7.0
 
WordPress plugin BookingPress Location

Plugin Features

With the BookingPress Location add-on, users can select their desired location from a list of available options. Whether its for booking a table at a restaurant or reserving a hotel room, this add-on ensures that users can easily choose their preferred location without any hassle. The add-on provides a user-friendly interface, making it effortless for users to navigate and select their desired location.

This add-on takes advantage of the powerful features of the BookingPress plugin, including its flexible reservation management system and customizable options. By integrating seamlessly with the main plugin, BookingPress Location allows users to specify their desired location during the reservation process. This eliminates confusion and ensures that reservations are made accurately, streamlining the booking process for both users and administrators.

The BookingPress Location add-on is designed to be user-friendly and intuitive, even for those with limited technical knowledge. It seamlessly integrates into the WordPress platform, providing a seamless experience for users and administrators alike. The add-on is compatible with the latest version of WordPress and is regularly updated to ensure optimal performance and compatibility.

With the BookingPress Location add-on, website owners can provide their users with a convenient and efficient way to book reservations. By simplifying the location selection process, this add-on enhances the overall user experience and increases customer satisfaction. Whether its for a restaurant, hotel, or any other business that relies on reservations, this add-on can greatly benefit website owners and their users.

In conclusion, the BookingPress Location add-on is a valuable tool for WordPress website owners who want to improve their reservation system. It seamlessly integrates with the BookingPress plugin, providing users with an easy way to specify their preferred location. With its user-friendly interface and compatibility with the latest WordPress version, this add-on offers a streamlined and efficient reservation process for businesses of all types.

Specifications:

Release date: 08-06-2023
Last updated: 19-01-2026
Type: Paid
License: GPL 
Subject: Maps & Weather
Compatibility: W5.x W6.x
Includes: Plugin
Language packs: English
Developer: -

Rating:
4.4383561643836 1 1 1 1 1 (146 Votes)

Download by subscription!

You need to log in on the site and purchase a club subscription!

Share with your friends!

 

How to Set Up BookingPress Location for Branches and Service Locations

BookingPress Location is not just another dropdown added to your booking form. In a multi-location service business, the selected address affects available services, staff, working hours, special days, the order of steps in the form, and how the appointment is reviewed later by the administrator. This guide focuses on that practical layer: how to prepare your data, enable the add-on, connect locations to services and staff, verify the outcome on the booking page, and quickly find the cause if customers see the wrong options.

This guide is written for a WordPress site where BookingPress is already being used for online appointments or is about to be launched. We will not cover purchasing, license steps, or marketing claims. Instead, we will follow the administrator's path: from planning your branch structure to making a test booking, from setting up schedules to diagnosing conflicts with the form, cache, staff, and related add-ons.

BookingPress Location guide cover with branch selection and appointment verification
The cover highlights the core behavior of the add-on: the customer selects a service location, and the form adjusts available services, staff, and time slots accordingly.

The main idea is simple: in BookingPress, a location should be part of the booking workflow, not just a decorative address in a listing. If you first think through which services are available at each branch, who works there, and how the hours differ, the add-on helps customers choose the right place faster. If you enable it without preparation, administrators often end up with empty service lists, unavailable time slots, and confusing save errors.

What the Location Add-on Actually Solves

BookingPress Location adds the concept of a separate service location to the booking system. This could be a salon branch, a doctor's office, a fitness studio, a classroom, a service center, a consulting office, or any other physical place where the service is delivered in person. In the official documentation, the add-on is described through creating multiple locations and assigning them to services, and related BookingPress materials separately highlight location-based scheduling for services and staff.

Without this layer, the site usually follows the model "service - staff member - date - time." That works for a single office. But once you have two or more addresses, a new dependency appears: the same service may not be available everywhere, one staff member may work in one place in the morning and another in the evening, and an individual branch may have its own days off or special hours. That is where Location stops being a list of addresses and becomes an availability filter.

The practical value shows up in three places. First, customers do not have to choose a service that later turns out to be unavailable at the nearest branch. Second, the administrator gets a cleaner picture of the schedule because availability is built from the combination of location, service, staff member, and time. Third, the booking form becomes more flexible: the location step can be placed wherever it makes the most sense in the sequence, and for some cart-related combinations the behavior of that step changes automatically.

It is important to understand the limitation: Location does not replace a full CRM, branch management system, inventory tracking, or a geo-service that automatically finds the nearest address. Its role is narrower: add address-based service locations to BookingPress and tie them into the booking workflow. If the business needs advanced map search, routing, delivery zones, or separate legal entities for each branch, this add-on alone may not be enough.

Who BookingPress Location Is For and When It May Be Unnecessary

The add-on is useful when customers choose not only a service but also where it will be provided. Common use cases include a salon chain, a medical center with multiple offices, a massage studio across different neighborhoods, a school with several classrooms, or a service business with multiple intake points. In these cases, the location helps filter out unsuitable services and schedules before the confusion lands on the administrator's phone.

BookingPress Location is especially useful when branches have different working hours. The official documentation shows how to configure Working Hours and Special Days for a specific location inside service and staff shift management. This is one of the add-on's strong points: the same service may run on a normal schedule at one address, while at another it may be available only on certain days or in a shorter time window.

The add-on also helps businesses where staff rotate between locations. The documentation states that to manage staff shifts across locations, you need to enable the Allow staffmember to serve on multiple locations option in BookingPress settings. If that flag is off, the administrator can create locations but still not get the expected flexibility when scheduling a specific person.

At the same time, for one office, one specialist, and a couple of services, Location is often excessive. It adds another data layer that must be maintained: addresses, descriptions, service assignments, schedules, and form step order. If customers do not need to choose a service location, an extra step in the form may only reduce conversions. In that case, it is better to present the address clearly on the booking page and keep the form shorter.

When it makes sense to enable locations in the booking form
Situation Recommended approach What to verify
Multiple branches with different services Enable Location and assign services to each location After selecting a branch, the customer sees only available services
One branch but several staff members In most cases, the Staff Member module is enough without a separate location step The form should not force customers to choose an obvious address
A staff member works in different places You need both Location and Staff Member, with the multiple locations option enabled That staff member's shifts should show hours for each location
You need a map with distance to the customer Location can serve as an address base, but distance-based matching requires another layer Do not promise automatic nearest-location selection without a separate solution

Quick takeaway: enable the add-on when the location truly changes service, staff, or time availability. If the address is only informational, do not complicate the form with an extra step.

What to Check Before Installing It on a Live Site

Preparation is not just a formality. Location is tied to the core BookingPress entities, so mistakes in the base model quickly show up on the public side of the site: the customer selects an address but sees no services; selects a service but sees no times; selects a staff member but the form returns an empty result. Before enabling the add-on, it is worth doing a short data audit.

Check the Base BookingPress Setup

The main BookingPress plugin should already be installed and working correctly. In the official quick start, the developer recommends first creating a service, displaying the booking form, and confirming that appointments appear in the admin panel. That is the right sequence for Location as well: first make sure standard booking works without locations, and only then add branches.

Minimum checklist before enabling it:

  • There is at least one service with a name, duration, price, description, and correct capacity.
  • A page with the form has been published using the BookingPress block or the [bookingpress_form] shortcode.
  • A test booking without a location appears in BookingPress - Appointments.
  • Notifications, if needed, are enabled and tested separately from the Location add-on.
  • Cache on the booking page does not break dynamic loading between form steps.

Plan Your Branch Structure Before Clicking Around the Admin Panel

Start by listing your service locations outside WordPress. For each location, you need a name, phone number if applicable, address, short description, and image. The official Location documentation shows exactly these fields when creating a record. Avoid long promotional phrases in the name. Use a format customers will recognize instantly: neighborhood, street, shopping center, office, or city.

A practical structure for planning:

  • Name: short and clearly distinguishable, for example "Downtown - Room 2" or "North Branch".
  • Address: the full address exactly as the customer should see it before visiting.
  • Phone: a branch-specific number if different administrators handle calls.
  • Description: landmarks, entrance, floor, parking, accessibility, but no long text.
  • Image: a photo of the entrance, office, or outside landmark if it helps customers identify the place.

Check Your Availability Plan

The most common mistake in multi-location booking setups is starting with polished addresses instead of the schedule. For BookingPress, it matters more to understand which services and staff are available at each location. If the service "Consultation" exists at every branch but one staff member only provides it in one place, that must be reflected in the assignments and shifts. If a service is available at one branch only on Wednesdays, that should not be handled with descriptive text alone, because customers will still try to choose an unavailable time.

Required step before installation: create a matrix of "location - service - staff member - hours." It can be a simple table in a document. The important thing is not to keep the rules in your head. Once configuration begins, that matrix becomes your source of truth and makes it much easier to check why a specific option is not appearing.

Installation and Initial Validation Without Disrupting the Schedule

The official add-on instructions describe the standard path: get the Location archive from your BookingPress account, upload the ZIP like a regular WordPress plugin, install it, and activate it. After activation, a BookingPress - Location section appears in the admin panel. This guide does not cover purchase, account access, or licensing steps, because the administrator's real work begins after you already have the archive through legitimate means.

How to Enable It Carefully on a Live Site

If the site is already taking appointments, do not enable Location a few minutes before launching an ad campaign or email blast. The add-on changes the booking form and availability, so you need a testing window. The best option is a staging copy of the site or a short setup window with ads to the booking page paused. If there is no copy, work in small steps: enable the add-on, create one test location, assign one test service, verify the form, and only then move the remaining branches.

  1. Open Plugins - Add New - Upload Plugin and upload the add-on ZIP.
  2. Click Install Now, then Activate.
  3. Go to BookingPress - Location and confirm the section is available to the administrator.
  4. Create one test location with a clear name and address.
  5. Assign one service that was already working correctly before the add-on was enabled.
  6. Open the booking page in a private browser window and check whether the location selector appears.

What Counts as a Successful Initial Check

The check is not complete just because a menu item appears in the admin panel. You need to follow the customer journey. If the form includes a location selection step, then after choosing an address, only the services and staff related to that address should remain. If the step is currently placed in an awkward position, that is fine: the order can be changed later through BookingPress - Customize - Forms.

Result check: create a test appointment for the nearest available time, then open it in BookingPress - Appointments. The record should clearly show the selected service, staff member, date, time, and the location logic behind that choice. If the appointment is not created or the time disappears after selecting the address, start by checking the service-to-location assignment and the shifts.

Creating Locations: Fields, Assignments, and Data Order

The BookingPress - Location section is the control center for the add-on. This is where service locations are created, contact details are added, and the services available at each place are defined. This part may look simple, but the entire customer journey depends on it. If a location exists but is not connected to a service, the form may look empty or incomplete.

Diagram of BookingPress Location fields and service assignments
This diagram shows which data should be filled out in a location record and why assigning services matters more than a polished address description.

The Location Record

When adding a new location, the documentation lists fields for image, name, phone, address, and description. In practice, that means the record serves two purposes: it helps the administrator distinguish locations in the admin panel, and it helps the customer avoid mistakes on the public site. That is why it should not be filled out like a marketing block. It is better to provide concrete details people actually use before a visit.

Name and Address

The name should be short. If you have several locations in the same city, add the neighborhood or a landmark. Write the address without internal abbreviations that only your team understands. Customers should not have to guess where "Branch 2" is. If the business operates in several cities, it is usually best to include the city in the name or description so similarly named streets are not confused.

Phone and Description

A phone number is useful if different branches actually answer different numbers. If all calls go to one central desk, it is better to keep one general contact on the page rather than creating a false expectation in the location record. In the description, it makes sense to mention landmarks, the entrance, floor, intercom, parking, or accessibility for customers with limited mobility, but not a long history of the branch.

Location Image

It is worth adding an image if it helps people find the place. For a salon, that might be the entrance or interior; for a clinic, the reception desk; for a training center, the building facade. Do not use random decorative photos, because they do not help the booking process. If you do not have a helpful image, it is better to keep the record clean than to use a picture that misleads the customer.

Assigning Services to a Location

After completing the record, go to Assigned Service and add the services available at that location. The official documentation treats this as a required practical step in location creation: hover over Assigned Service, click Add New, choose a service, and save the settings. This is the point where the location stops being just an address and becomes an availability filter.

If not all services are offered at a branch, do not assign a category "just in case." Connect only the services that are actually provided there. Otherwise, a customer may begin booking a service that is not really available at that location, and the issue will only show up later at the schedule, staff, or manual cancellation stage.

How to Verify Assignments After Saving

Open the booking form page and test three cases: choose a location with one service, choose a location with several services, and choose a service that is available at only one branch. If the service list does not change after selecting a location, check the form step order and page caching. If the list does change but the expected service is missing, go back to the location record and the Assigned Service section.

Location, Services, and Shifts: How Availability Works

The most important feature of BookingPress Location is its connection to shift management. The documentation shows two separate cases: service-based shifts and staff-based shifts. These are not the same. A service shift answers the question "when is this service available at this location." A staff shift answers the question "when does this person work at this location." In the booking form, the customer sees the overlap between these conditions.

If you picture the mechanics as a chain, it works like this: the customer selects a location, then the system narrows the available services, then it evaluates staff and schedule, and only then shows the available time slots. That is why an empty time list does not always mean a calendar problem. Often it is simply the outcome of a very narrow overlap between rules.

Dependency map of location, service, staff member, and time in BookingPress Location
This map explains why a time slot appears only when location, service, staff member, and working hours all match.

Service Shifts by Location

To configure a service by address, open BookingPress - Services, hover over the relevant service and choose Shift Management. In the interface, you can select a specific location and define its Working Hours and Special Days. This is useful when branches have different workload patterns, equipment, or room schedules.

Example: the service "Diagnostic Testing" is available at the central branch every day, but at the north branch only on Tuesdays and Thursdays because the equipment is not always there. Instead of writing that in the service description, configure separate hours by location. That way, the form will never offer customers unavailable time slots.

What to Check After Setting Service Shifts

  • Open the form as a customer and select a location where the service is available.
  • Check that the calendar shows time slots only on the allowed days.
  • Select another location and confirm that the slots differ if the schedule is actually different.
  • Create a test booking and review it in the appointments list.

Staff Shifts by Location

If the Staff Member module is being used, the location begins to affect not only services but also people. The Location documentation points to BookingPress - Staff Members - Shift Management, where you can choose a location and set Working Hours and Special Days for a specific staff member. It also notes an important condition: location-based staff shift settings work only when the Allow staffmember to serve on multiple locations option is enabled in BookingPress settings.

That flag should not be enabled automatically on every site. It is needed only if one person genuinely works in multiple places. If each person is tied to a single location, it is simpler to assign their services and schedule without adding extra flexibility. The more overlaps you have, the more important it becomes to document why a specific staff member is available at that particular location.

Special Days and Exceptions

Special Days are useful for one-off events: a branch stays open longer during a holiday week, a doctor works from a different office, or an instructor hosts a workshop in a separate studio. But exceptions are easy to forget. After every special day, check both the public form and the administrator calendar. If the exception is temporary, set yourself a reminder to remove or review it after the event.

Rule for complex schedules: first configure regular hours, then add separate special days, then make a test booking. Do not pile all exceptions into one pass, or it will be hard to tell which setting changed the outcome.

Form Step Order and Customer Experience

After configuring locations, you need to decide where customers should choose the address. The Location documentation notes that the selection step can be repositioned through BookingPress - Customize - Forms. The form customization documentation also covers booking step sequence. This matters because the exact same data can create a very different experience depending on the order in which choices are made.

When to Put Location First

Location should appear first if the address sharply limits the available services. For example, different branches may have different rooms, equipment, or staff specialization. In that case, customers first pick the most convenient place and then see only the relevant services. This reduces the chance that someone spends time choosing a service only to find out later that it is not available nearby.

When the Service Should Come Before the Location

If customers come in looking for a specific service and the address is secondary, it is better to show the service first. This works well for medical centers, consultations, and specialized expert services. The customer selects the needed procedure, and the form then shows the locations where it is available. The key is to verify that the chosen sequence does not lead to a dead end: after selecting the service, there should still be real locations with actual schedule availability.

How to Use Short Links with a Preselected Location

The BookingPress shortcode and parameter documentation shows that the form can be opened with preselected values through URL parameters, including loc_id. This is useful for local branch pages: on a page like "Downtown Salon," the booking button can lead to the main form with the correct location already selected. If you add allow_modify=0, the customer will not be able to change that preset, but this should be used carefully.

https://example.com/book-appointment/?loc_id=2
https://example.com/book-appointment/?loc_id=2&allow_modify=0

The first option gently suggests a branch, while the second locks the choice in place. For ad campaigns and branch pages, the first option is usually safer: the customer can still switch the address if they realize they opened the wrong page. A locked choice makes sense only when the location truly should not be changed, such as a dedicated page for a specific office or a local event.

Checking Links with Parameters

Open the link in a private browser window. Make sure the selected location appears in the form, the service list matches that location, and editing the parameter in the URL does not reveal hidden or outdated options. If the parameter does not work, check the location ID and confirm that the page contains the current BookingPress shortcode or block.

Practical Example: A Two-Branch Salon Network

Let us walk through a working example you can adapt for a salon, clinic, studio, or training center. The goal is to let the customer choose a branch, see only the services available there, choose a specialist, and book a real open time slot. The example is not tied to specific prices or cities because those details change quickly and depend on the business.

Example of a customer booking through BookingPress Location for two branches
This example shows the customer path: choose a branch, see available services, pick a staff member, select a time, and verify the appointment in the admin panel.

Goal

You need to set up two branches: "Downtown" and "North." The service "Haircut" is available at both locations, while "Complex Coloring" is available only at the downtown branch. Anna works downtown in the morning and at the north branch in the evening. Customers should see the correct options without having to call the administrator.

Preparation

Before you begin, the core BookingPress plugin, Location, and, if specialists are used, Staff Member should be active. In Staff Member settings, permission for one staff member to work in multiple locations should be enabled only if that person really moves between addresses. There should also be a published booking page with [bookingpress_form] or the corresponding BookingPress block.

Configuration Steps

  1. Create the "Downtown" location in BookingPress - Location, and fill in the address, phone number, and a short entrance note.
  2. In Assigned Service, add "Haircut" and "Complex Coloring." Save the record.
  3. Create the "North" location, add the address and description, then assign only the "Haircut" service.
  4. Open BookingPress - Services - Shift Management for the "Haircut" service and verify the hours for both locations.
  5. For "Complex Coloring," keep working hours only for the "Downtown" location if that service is actually available only there.
  6. Open BookingPress - Staff Members - Shift Management for Anna and set morning hours for "Downtown" and evening hours for "North."
  7. In BookingPress - Customize - Forms, place the location step before the service step if the closest address matters more for the business.
  8. Open the booking page and run two tests: a booking at "Downtown" for both services, and a booking at "North" for "Haircut" only.

Expected Outcome

A customer who selects "North" should not see "Complex Coloring" if that service is not offered there. A customer who selects "Downtown" should see both services, but Anna's available times should match her schedule at that location. In the admin panel, the appointment should appear in the appointments list with the selected service, staff member, and time.

A Common Pitfall

If no times appear for "North" after the location is selected, do not rush to change the calendar. Check three places: is the service assigned to that location, is there a service shift for that location, and is there a staff shift for that location. If Staff Member is active, staff availability may be the deciding filter. BookingPress documentation separately notes that when Staff Member and Location work together, staff capacity is calculated before Location takes effect, so the setup should be tested against a real "staff member - service - location" combination.

How Location Works with Cart, Staff, and Location-Based Taxes

Location rarely works in isolation. On a real booking site, it often sits alongside Staff Member, Cart, Tax, notifications, calendar integrations, and form customization. It is important not to describe every combination as an official integration if the source confirms only the general mechanism. Below are practical setups based on BookingPress documentation and the normal behavior of a WordPress site.

Location and Staff Member

This is the core combination for branches. Location defines the place, while Staff Member defines the person and their availability. Staff Members documentation states that the location selector appears when assigning a service to a staff member if Location is active. That means the location record and the staff record need to be configured in sync. If a service is assigned to a location but the staff member is not assigned to that service in the right place, the customer still may not see any available time.

The recommended order is this: create locations first, then services, then staff members, then shifts. If you reverse that order, it is easy to end up with a setup where a service exists but no staff member is available at the chosen location.

Location and Cart Addon

The official Location documentation describes special behavior when Cart Addon is active at the same time. If the customer selects a location, service, and staff member first and then moves to the cart step, the Location step may disappear from the form, while the services and staff shown in the cart follow the location chosen earlier. In practice, this means the order of steps and the clarity of the selected address matter even more: customers should not lose track of why those exact options are available in the cart.

To test it, add two services from one location to the cart, then repeat the flow with another location. If customers can mix services from different addresses, confirm that this is actually acceptable for the business. If it is not, configure the form so the location choice happens earlier and does not create ambiguity.

Location and Location-wise Tax

The BookingPress video tutorial page includes a separate video about location-based taxes, and the core plugin description mentions location-wise tax through the Tax Addon. This is not a feature of Location itself but a related use case: the address affects not only the schedule but also the final amount if the business operates across regions with different tax rules. The exact rates and rules must be verified against your jurisdiction and the Tax Addon documentation.

If you use this combination, do not test only the form. Also verify the final amount, payment status, and appointment record in the admin panel. Any difference in total should be clear to the customer before the booking is confirmed.

A Data Map for Branches: How to Stay Organized Across Services and Staff

Once you have more than two locations, the admin panel stops being a convenient place for planning. It works well for saving decisions that have already been made, but it is not the best place to think through the entire network at once. That is why it helps to build a simple data map before importing branches in bulk. This is not for the developer, but for the administrator: it shows which service is available at which location, who provides it, during which hours, and what the customer should see in the form.

The map is especially useful during staged rollouts. For example, you add one branch first, then a second, then connect staff, and only after that change the order of form steps. Without one shared table, it becomes hard to see what is already live and what is still only planned. As a result, customers may see a branch without a service or a service without available time. The add-on technically works, but the booking flow breaks down.

Minimum Matrix for the Administrator

Create a table outside the site, even if it lives in a basic document. Put locations in the first column, services in the second, staff members in the third, regular hours in the fourth, and exceptions in the fifth. The last column should not be technical; it should be a verification column: "what the customer should see." That kind of matrix turns configuration from a scattered set of clicks into a controlled process.

Working matrix before bulk Location setup
Element What to record Where it is configured How to verify it
Location Name, address, phone number, short description, image if needed BookingPress - Location The branch appears in the form and does not duplicate another address
Service Which services are available at each location Assigned Service inside the location record and the service settings After selecting a branch, the service list changes as expected
Staff Member Who provides the service and where Staff Members and the staff member's assigned services The correct staff member appears only where they actually work
Shift Regular hours, special days, days off Shift Management for the service and staff member The calendar shows slots only on allowed days and during allowed hours
Link Whether the branch page needs a loc_id parameter The URL of the page with the BookingPress form The link opens the form with the correct preselected location

This table does not replace configuration, but it protects you from a common mistake: creating entities in different orders and hoping BookingPress will somehow infer the business rules. The plugin only applies the rules you define. If those rules contradict each other or are incomplete, the form will honestly return an empty outcome.

How to Import Many Branches in Batches

Do not import every address at once if you have many. Choose one typical location, one location with a complex schedule, and one location with a limited set of services. Configure them fully, run a test booking, and only then repeat the process. This is faster than bulk entry followed by hunting down ten unrelated errors.

A good batch looks like this: three locations, two or three services, one staff member with a simple schedule, and one staff member with an exception. After verification, add the remaining branches using the same model. If contradictions start appearing after the third batch, stop and update the matrix. Usually that means one business rule was never documented in advance, for example a service exists at a branch, but the staff member provides it only on a different day.

What Should Not Be Moved into Location

Do not turn Location into a directory of everything in the business. A location record should not store long service descriptions, payment terms, cancellation policies, staff biographies, or SEO copy. That information belongs in other parts of the site or in BookingPress. A location record should answer one question: where will the customer receive the service, and how can they avoid going to the wrong address? The cleaner the record, the easier the form is to maintain.

Practical conclusion: if a field does not help someone choose a branch or verify a booking, do not add it to the location description. Extra text clutters the interface and does nothing to solve availability.

Branch Pages and Local Links to the Booking Form

Location solves the problem inside the form, but visitors often do not land on the form first. They may find a specific branch page through search, advertising, site navigation, or an internal link from a service page. That is why multi-location sites should connect content pages to the booking form. URL parameters, clear headings, and careful navigation all help here.

The simplest setup is this: each branch has its own page with the address, directions, a list of available services, and a link to the main booking page with a loc_id parameter. This way, you do not create a separate form for every address and you do not duplicate settings. One central form remains the source of truth, while local pages simply provide its starting selection.

How to Build a Branch Page

A branch page should answer the questions that do not belong in the form itself. Where is the entrance? What floor is it on? Is there parking? Which services are available at this location? Who works there? On which days are more openings usually available? If customers get those answers before opening the form, they are more likely to complete the booking quickly.

A useful page structure:

  • A short heading with the branch name and neighborhood.
  • The address, landmarks, and contact phone number if it differs from the main one.
  • A list of the key services actually available at that location.
  • A short section about staff if choosing a specialist matters.
  • A link to the form with loc_id so the location is selected in advance.
  • An FAQ about the visit: entrance, documents, late arrival, rescheduling, parking.

When to Create a Separate Form and When a Parameter Is Enough

A separate form for each branch may seem convenient, but it quickly creates duplicated maintenance. If every form uses the same shortcode with no meaningful differences, it is better to keep one booking page and link to it with a location parameter. A separate form makes sense only when that branch truly has a different workflow: a separate set of services, a dedicated landing page, an ad campaign, or a fixed selection that should not be changed.

The allow_modify=0 parameter should be used sparingly. It makes the flow more rigid: the customer will not be able to change the preselected location. That can work well for a local event page, but it is a poor fit for a network where customers may change their mind and pick a different address. If someone lands on the "Downtown" page but "North" is more convenient, preventing the change will not improve analytics; it will just cost you the booking.

Internal Linking Without SEO Spam

Local pages can link to one another and to services. For example, on the "Consultation" service page, add a block like "Where this service is available," and on the branch page, add "Popular services at this branch." There is no need to repeat the name BookingPress Location in every heading. Readers care more about understanding where they can book than about seeing the technical name of the add-on.

For search visibility, specific phrasing is useful: "book at the Downtown branch," "salon services in the north side," or "doctor appointments in the city center." But those phrases should describe a real branch. In this setup, Location keeps the form accurate, while the SEO page provides the right context before the customer makes a selection.

How to Train Administrators and Staff to Work with Locations

Even a perfectly configured form can break down operationally if staff do not understand where to change schedules and what affects time visibility. This is especially important for multi-location businesses: one incorrectly added special day can hide availability at the right branch, and one accidental service change can affect several addresses at once.

Split Responsibilities Clearly

The Staff Member Settings documentation describes permissions for different parts of the system. In practice, that means the site owner needs to decide in advance who manages services, who manages shifts, who can view customers, who can change payments, and who only confirms appointments. Do not give staff access to sections where they can accidentally change the rules for every branch.

A network administrator typically needs access to locations, services, staff, schedules, and appointments. A branch staff member only needs to see their own appointments and, if the business allows it, update working hours, holidays, and special days. A marketer usually needs access to branch pages and links with loc_id, but not to the schedule.

Create a Short Internal Guide

Your internal guide should be shorter than this article and describe only your own site. Do not write "open BookingPress and configure it." Write the exact sequence: where a branch is added, who approves the address, who assigns services, who verifies a test appointment, and who clears the cache for the booking page. Also specify which actions must not be taken without approval.

Example of an internal rule: "A new branch is not published until at least one test appointment has been created for each key service." That simple rule helps avoid the situation where the branch page is already in the menu, but the customer sees an empty form.

Keep a Change Log for Schedules

If several people manage shifts, keep a change log. It can be a simple document: date, who made the change, which location, which service or staff member, what was changed, and what verification was performed. When a customer says they cannot see any times, the log helps determine whether the issue came from the schedule, cache, service, or form.

You do not need to build a complicated workflow. It is enough to record changes that affect the public site: a new location, removing a service from a branch, changing a staff member's hours, adding a special day, changing the form sequence, or excluding the page from cache. The more branches you have, the more valuable that discipline becomes.

What to Do When an Error Is Hard to Reproduce

If a staff member insists that "everything is set up," but the customer cannot see any times, ask for the exact combination: location, service, staff member, date, time, and page link. Without that combination, troubleshooting becomes guesswork. With it, the administrator can follow the chain and quickly find where the rule does not line up.

Verifying the Outcome on the Booking Page and in the Admin Panel

After configuring Location, you should run several tests, not just one. A single successful booking proves nothing if you checked only the easiest path. In multi-location booking, errors often hide where conditions intersect: one address, one specific service, one specific staff member, a particular day of the week, cache being enabled, or a preset URL parameter.

The Customer Flow

Open the booking page as a regular visitor. Do not use an active administrator session, because it may bypass cache or show a different state. First choose a location, then a service, then a staff member, date, and time. If your steps are ordered differently, repeat the test in exactly the order the customer sees. After each choice, confirm that the form is not showing contradictory options.

For a complete check, create at least four tests:

  • A location with one service and one staff member.
  • A location with several services and different staff members.
  • A service available at only one location.
  • A staff member who works at different locations at different times.

Admin Verification

After the test booking, open BookingPress - Appointments. The appointments documentation describes the list, filters, statuses, and detail view. For Location, not only the date and customer name matter. Make sure the appointment matches the selected combination and did not end up at the wrong branch because of stale cache, an incorrect link, or an outdated step order.

Calendar Check

The calendar helps reveal schedule overlaps. If one staff member is available at two locations, make sure their time slots do not overlap in a physically impossible way. BookingPress can filter availability, but the business rules around travel time between addresses are still your responsibility. Add buffer time between shifts if staff need time to get from one location to another.

Notification Check

If the customer receives an email, SMS, or messenger notification, verify that the message includes enough information about the visit location. Do not assume Location will automatically add every required field to every message template unless that has been confirmed in your version and exact configuration. The practical test is simple: create a booking, receive the notification as a customer, and make sure the address or branch name is not missing.

Settings Worth Reviewing After Launch

The first launch is rarely the final configuration. After a few days of real use, the administrator can see where customers get confused: they choose the wrong branch, do not understand why no times are available, restart the form, or call after booking just to confirm the address. Those signals do not always mean the plugin is broken. Often the fix is to improve the step order, location names, and the explanatory text around the form.

Step Names and Form Labels

BookingPress includes areas for form customization and custom fields. If the default step label does not fit your business, it is better to replace it with a human-friendly phrase. For example, instead of "Location," use "Choose a branch" on the English version of the site. At the same time, the exact admin interface labels remain in English if that is how the product displays them.

Form Order After Real Bookings Start Coming In

If customers mostly arrive from local branch pages, you can preselect the location with loc_id. If they are usually searching for a specific service, put the service first. If they are coming for a specific specialist, it may be more useful to show the staff member first. BookingPress allows the step sequence to be adjusted, but Date & Time generally should not come first, because without a service and provider the calendar cannot determine which slots should count as valid.

Booking Page Cache and Optimization

BookingPress regularly mentions performance improvements for the form and fixes related to loading time slots in its changelog. That is a good reminder not to confuse a configuration issue with a caching issue. If the booking form loads dynamically, the page containing it should be excluded from aggressive JavaScript optimization, deferred loading of critical scripts, and fragment caching that depends on customer selections.

A safe practical approach is this: exclude the booking page from full-page cache if the form shows outdated services or times after a location is selected. Do not disable cache for the whole site. Check only the page with [bookingpress_form], then repeat the test in a private browser window.

A Light CSS Tweak for Branch Pages

If the form is embedded on a dedicated branch page, you can wrap it in a WordPress Group block with the class booking-location-page and lightly highlight the introductory note. This is not a core modification and does not interfere with BookingPress internal classes. The code can be added in Appearance - Customize - Additional CSS or in a child theme. It works as page-level container styling, not as a change to the booking logic.

.booking-location-page {
  max-width: 980px;
  margin: 0 auto;
}

.booking-location-page .location-note {
  margin: 0 0 18px;
  padding: 14px 16px;
  border-left: 4px solid #6c5ce7;
  background: #f7f5ff;
  color: #252334;
}

.booking-location-page .location-note strong {
  display: block;
  margin-bottom: 4px;
}

Before the form, you can add a standard HTML block with the class location-note that briefly explains that the customer chooses a branch before the service. The check is simple: open the page on desktop and phone, and make sure the note does not overlap the form or look like a system alert. The rollback is just as simple: remove the CSS and the block class.

Troubleshooting Common Issues with Locations

Location issues almost always need to be traced through the chain. Do not start by reinstalling the add-on. First determine where the expected behavior disappears: the location does not show up, the service is missing, the staff member is unavailable, the time list is empty, the appointment is not saved, or the customer sees an outdated version of the form.

BookingPress Location troubleshooting map for the booking form
This troubleshooting map helps you move from symptom to check: the location record, service assignment, shifts, form order, and cache.

The Location Exists but Does Not Appear in the Form

Symptom: the location exists in the admin panel, but the customer does not see it on the booking page. Possible reasons include the selection step not being included in the current form sequence, the location not being linked to any available service, or the page serving a cached old version of the form.

Check BookingPress - Customize - Forms, then the location record and Assigned Service. After saving, clear the cache only for the booking page and reopen it in a private window. If the location appears after the cache is cleared, add an exclusion rule for the form page.

The Service List Is Empty After Selecting a Branch

Symptom: the customer chooses an address but cannot continue because no services appear. Most often, the service is not assigned to that location or has been disabled in services. Go back to BookingPress - Location, open the relevant location, and review Assigned Service. Then open the service itself and make sure it is active and has the correct base settings.

The Service Is Visible but No Times Load

Symptom: the customer selects a location and service, but the calendar or time slots are empty. Here, you need to check more than just Location. Possible causes include no service shift for that location, the staff member not being assigned to the service, the staff member having no working hours at that location, the selected day being a day off or special rule, or the time already being booked.

Start with Services - Shift Management, then go to Staff Members - Shift Management. If the staff member should work in multiple places, verify the Allow staffmember to serve on multiple locations option. After each change, run one test instead of changing all settings at once.

The Staff Member Does Not Appear at the Correct Branch

Symptom: the service and location are selected, but the required specialist is missing from the list. Check the assignment of the service to the staff member and the location field in that service assignment. Staff Members documentation shows that the location choice appears in the staff service assignment when Location is active. If the link exists only at the location level but not at the staff level, availability may not match expectations.

Saving a Service Triggers a Requirement to Choose a Location

Symptom: the administrator edits a service and sees an error requiring a location selection. Independent BookingPress testing has highlighted this as a rough edge: when Location is active, the service form may require at least one location assignment, while the hint does not always clearly point to the right place. The practical fix is to scroll down to the locations or assignments section in the service form, add the required location, and save again. If the site is effectively single-location, consider whether this project needs Location at all.

The Step Order Confuses Customers

Symptom: appointments are technically created, but customers call to confirm the address or choose the wrong branch. That is now an experience problem, not a system failure. Move the Location step closer to the beginning, change the step label, add a short explanation before the form, and verify the loc_id links on branch pages.

When It Makes Sense to Roll Back the Setup

A rollback makes sense if enabling Location made the working form worse: there is only one branch, few services, customers do not actually choose an address, and the administrator is spending time maintaining unnecessary connections. In that case, it is safer to temporarily disable the add-on, restore the previous form sequence, and keep the addresses in page content instead. Before disabling it, record which appointments have already been created with locations so you do not lose context for later analysis.

Limitations, Security, and Performance

Location runs inside WordPress and inherits the strengths and weaknesses of the platform. It does not automatically make the site faster, safer, or easier to use. The quality of the end result depends on how access permissions, cache, theme, optimization plugins, email notifications, and schedules are configured.

Permissions and Staff Access

If staff members get access to the admin panel or their own dashboard, use Staff Member settings carefully. The official Staff Member Settings documentation describes permissions for appointments, payments, customers, profile, and services. Do not give people more access than they need for their work. A specialist who only needs to change their own hours and special days does not need full access to payments or the customer database.

Time Zone

The Location documentation notes that all locations inherit the site's time zone from WordPress settings. This matters for businesses operating across different regions. If your branches are in different time zones, verify the behavior with test bookings and do not promise automatic local time for each address unless that is separately confirmed in the documentation and settings for your version.

Form Performance

The more locations, services, staff members, and special rules you add, the more conditions the form has to evaluate. The developer regularly mentions form loading improvements in the changelog, but that does not remove the need for common-sense control: do not leave dozens of test locations in the live form, remove outdated locations, avoid accumulating unnecessary special days, and keep an eye on booking page optimization.

SEO for Branch Pages

Location supports the booking process, but it does not replace local landing pages. If branches matter for search traffic, create separate pages with the address, route information, service descriptions, FAQ, and a link to the form with loc_id. There is no need to repeat all that local SEO text inside the form itself. Let the page explain the branch, and let the form take the booking.

An internal download link makes sense only after you understand the implementation workflow. If your branch structure, schedules, and validation plan fit your site, you can download the WordPress version and test it on a copy of the site or during a quiet period instead of changing your live booking flow during peak hours.

How to Use Video and Documentation Without Adding Noise

The official BookingPress video tutorials page includes an item labeled "How to Setup & Use Location Addon using BookingPress Plugin." That is the exact topical video for this add-on, but the available HTML version of the page did not provide a direct YouTube embed ID. That is why this article does not include an iframe: it is better to skip a video block than to embed a random video or a generic category overview with an unverified URL.

In practice, video is best used as a visual confirmation of interface steps: where the Location section is located, what adding an address looks like, where services are assigned, and how the form step is reordered. Documentation is more useful as a reference for exact menu paths and conditions. If the page later exposes a direct YouTube ID, it can be added next to this section as an additional setup resource for Location.

Questions That Come Up Most Often When Setting Up Branches

Can BookingPress Location Be Used for a Single Office?

Yes, but in most cases it is unnecessary. If the business has one address and that address does not affect services, staff, or schedule, a separate location step only makes the form heavier. In that case, it is better to show the address next to the form and enable Location only when a second real service location appears.

Why Do No Services Appear After Selecting a Location?

The most likely reason is that the services are not assigned to that location in Assigned Service or the service itself is not active. Check the location record first, then the service record. If the data is correct, clear the cache for the booking page and repeat the test in a private browser window.

Can I Set Different Hours for the Same Service at Different Branches?

Yes. The Location documentation describes this through BookingPress - Services - Shift Management, where you choose a specific location and configure Working Hours and Special Days. After saving, be sure to test the public form for each location separately.

What Needs to Be Enabled So One Staff Member Can Work in Multiple Locations?

For location-based staff shifts, the documentation states that the Allow staffmember to serve on multiple locations option must be enabled in BookingPress settings. After that, configure the service assignments and the staff member's shifts for each location where they actually see customers.

Is the Add-on Suitable for Branches in Different Time Zones?

You need to test this carefully. The Location documentation states that locations inherit the site's time zone from WordPress settings. If the branches operate in different time zones, test the customer-facing form, notifications, and admin calendar with trial bookings before launch.

Can the Form Open with a Branch Already Selected?

Yes. The shortcode and URL parameter documentation points to the loc_id parameter. You can use it on a dedicated branch page. The allow_modify=0 parameter prevents the customer from changing the preselected choice, but it should be enabled only where that behavior is truly needed.

What Should I Do If Location Conflicts with the Cart?

Start by checking the step order. The Location documentation describes special behavior when used with Cart Addon: after the customer selects a location, service, and staff member, the Location step may disappear at the cart stage, while the available services and staff depend on the previously selected location. If customers lose context, add a clear explanation and test the flow with multiple services.

Do I Need Custom Code for Locations?

In most cases, no. Creating locations, assigning services, managing shifts, and setting the step order can all be handled through configuration. Code should be used only for safe page styling or for tasks that rely on documented BookingPress hooks. If there is no exact hook for your use case, do not invent an extension and do not edit the plugin files.

When BookingPress Location Is the Right Choice

BookingPress Location is worth using when the location truly changes what the customer can choose: different branches, different services, different staff, different hours, and different special days. In that kind of setup, the add-on turns the booking form into a more precise tool where customers choose the most convenient place and immediately see realistic appointment options.

A strong configuration is built not on the number of addresses, but on a careful connection between the data points. Create clear location records, assign services, verify service and staff shifts, set the form step order, test bookings from different addresses, and do not forget about page caching. When that is in place, Location helps both the customer and the administrator.

If the site has only one address, the schedule is simple, and the location does not affect availability, the add-on may be unnecessary. But for a network of branches, offices, studios, halls, or field locations, it is one of the key BookingPress modules. Start with one test location, verify the full path all the way to the appointment record in the admin panel, and only then move the full branch structure into the live form.

By OceanTheme.org Editorial Team

 

You are not logged in to post comments.