Title: HarborBook
Author: Coresol Studio
Published: <strong>September 7, 2026</strong>
Last modified: September 7, 2026

---

Search plugins

![](https://ps.w.org/harborbook/assets/banner-772x250.png?rev=3685598)

![](https://ps.w.org/harborbook/assets/icon-256x256.png?rev=3685549)

# HarborBook

 By [Coresol Studio](https://profiles.wordpress.org/coresolstudio/)

[Download](https://downloads.wordpress.org/plugin/harborbook.1.0.0.zip)

 * [Details](https://wordpress.org/plugins/harborbook/#description)
 * [Reviews](https://wordpress.org/plugins/harborbook/#reviews)
 *  [Installation](https://wordpress.org/plugins/harborbook/#installation)
 * [Development](https://wordpress.org/plugins/harborbook/#developers)

 [Support](https://wordpress.org/support/plugin/harborbook/)

## Description

**HarborBook** is a WordPress booking plugin built for tour operators, activity 
providers, boat charters, watersports centres, guides, courses, and other experience-
based businesses.

Create timed activities, day trips, multi-day experiences, and recurring courses.
Configure capacity, schedules, pricing, passenger rules, optional extras, and pickup
locations, then publish a mobile-friendly booking form with a shortcode or Gutenberg
block.

#### Activity types and booking modes

 * **Timed activities** — departures with a defined duration, such as boat tours,
   classes, or equipment sessions.
 * **Day trips** — full-day experiences with one or more scheduled departures.
 * **Multi-day activities** — experiences spanning several days and nights.
 * **Recurring courses** — multi-session activities with a configurable gap between
   sessions.
 * **Group bookings** — customers reserve seats from shared departure capacity.
 * **Private charters** — one booking reserves the departure at a flat private rate.
 * **Group or private** — let the customer choose either booking mode while the 
   departure is still available.
 * **Catalog organization** — classify activities with Activity Type, Category, 
   and Location taxonomies.

#### Scheduling and availability

 * Weekly operating schedules with multiple departure times and per-slot capacity.
 * Date-specific schedule overrides and blackout dates.
 * Booking lead time, same-day cutoff, customer booking window, and slot-generation
   window.
 * Activity-level minimum and maximum group sizes.
 * Capacity locking while checkout is in progress and automatic overbooking prevention.
 * Calendar and availability screens for reviewing departures across activities.

#### Pricing, passengers, extras, and pickups

 * Adult, child, and infant passenger rates with editable labels and age bands.
 * Flat private-charter pricing.
 * Per-activity tax (global default or custom rate).
 * Optional extras priced as a flat amount, per person, or per day, with quantity
   and stock limits.
 * Pickup locations with addresses, instructions, pickup-time offsets, surcharges,
   and manual coordinates.
 * Activity safety rules for minimum/maximum age, maximum weight, and additional
   guest details.

#### Customer booking widget

The responsive booking widget guides a customer through activity selection, date
and departure, pickup, guests, extras, contact details, review, payment, and confirmation.
Steps that are not relevant to the selected activity are skipped automatically.

Use `[harborbook]` to show every published activity, `[harborbook activity_id="123"]`
to show one activity, or insert the native **HarborBook Booking Widget** block.

Customers receive a booking reference, trip summary, receipt, meeting information,
and Google/Apple/Outlook calendar links after booking. Optional Google Maps and 
QR-code features are described under **External services** below.

#### Booking operations

 * Searchable booking list with date, activity, source, payment, and status filters.
 * Manual bookings for telephone, walk-in, or agent reservations.
 * Pending, confirmed, completed, cancelled, and no-show workflows.
 * Printable booking vouchers and optional check-in QR codes.
 * Payment records for cash, card terminal, bank transfer, or another offline method.
 * Customer profiles with booking history, lifetime value, and internal notes.
 * Month, week, day, and list calendar views.
 * Dashboard totals, revenue, received and outstanding balances, activity mix, and
   upcoming departures.
 * Booking, revenue, top-activity, pickup-manifest, and operational reports.

#### Payments and notifications

The core plugin includes **manual / pay-on-arrival booking**. It is off on a fresh
installation; enable it under **HarborBook  Settings  Payments** before accepting
widget bookings. Customers then reserve online and you collect or record payment
using your own offline process. The core plugin does not collect card details or
include an online card gateway.

Customisable notification templates cover pending bookings, confirmations, 72-hour/
24-hour/2-hour reminder toggles, operator and weather cancellations, review requests,
and refund approval. Scheduled reminders and review requests rely on WordPress cron.
Email delivery relies on your WordPress mail configuration or SMTP/mail plugin.

#### Demo data and catalog export

Under **HarborBook  Settings  Demo Data**, administrators can install an optional
sample catalog containing six activities across all four activity types, plus extras,
pickup locations, schedules, pricing rules, and locally generated cover images.

Sample bookings are a separate option and are off by default. Importing again replaces
only the previous HarborBook demo import; it does not overwrite activities or catalog
records you created yourself. The same screen can remove imported demo records and
download either the bundled demo catalog or the current site catalog as JSON.

#### Designed for tour and activity businesses

 * Boat charter and sailing trip operators
 * Watersports centres (surfing, kayaking, scuba diving, snorkelling)
 * Guided tours and sightseeing experiences
 * Outdoor adventure companies (hiking, rock climbing, zip-lining)
 * Food and cultural tours
 * Training providers running recurring classes or courses
 * Any experience business taking scheduled reservations

#### Privacy and data ownership

HarborBook stores booking and customer information in your WordPress database. It
does not include marketing analytics, advertising tracking, or phone-home telemetry.
External QR and Google Maps functionality is optional and documented below.

Plugin data is preserved when HarborBook is deactivated or deleted by default. To
permanently remove HarborBook activities, bookings, custom tables, settings, and
related data during deletion, first enable **Remove All Data on Uninstall** under**
HarborBook  Settings  Appearance  Advanced**. Back up your site before enabling 
that option.

#### Built to extend

HarborBook exposes WordPress actions and filters for developers. The canonical inline
hook reference is included at `includes/class-hb-hooks.php`. The complete human-
readable source and build configuration for the compiled booking widget are also
included in the plugin.

### External services

This plugin may connect to external services when specific features are used.

**goQR.me QR Code Generator API (api.qrserver.com)**

 * **What it is used for:** HarborBook renders a QR code that encodes a booking’s
   reference code. The QR code is shown on the printable booking voucher, on the
   admin booking detail screen, and inside booking confirmation emails so staff 
   can quickly look up a booking by scanning it.
 * **Opt-in:** This is disabled by default. No request is made to api.qrserver.com
   unless an administrator enables **Booking QR Codes (goQR.me)** under **HarborBook
   Settings  General** and acknowledges the goQR.me privacy disclosure in the confirmation
   dialog. While it is off, vouchers, booking screens, and emails simply render 
   without a QR code.
 * **What data is sent and when:** Once enabled, the booking reference string (for
   example, `HB-A1B2C3`) is sent by your WordPress server to the API when HarborBook
   generates a voucher, booking detail view, confirmation payload, or notification
   containing the QR code. No customer name, email, phone number, passenger detail,
   or payment information is sent.
 * **Failure behaviour:** QR requests use a short timeout. A failed request never
   blocks the booking; the QR image is simply omitted.
 * **Service provider & policies:** The service is provided by goQR.me. See the 
   [goQR.me API documentation](https://goqr.me/api/) and the [goQR.me privacy policy](https://goqr.me/en/privacy-policy/).

**Google Maps (maps.googleapis.com / Google Maps embeds)**

 * **What it is used for:** Optional Google Places address search and map picking
   while an administrator edits pickup locations, plus optional meeting-point embeds
   and Google Maps links when an administrator saves a Google Maps iframe on an 
   activity.
 * **Activation:** HarborBook works without Google Maps. Admin address search requires
   a Google Maps browser API key under **HarborBook  Settings  General  Integrations**
   with Maps JavaScript API and Places API enabled. Activity map embeds can be added
   from **Google Maps  Share  Embed a map** without entering that API key.
 * **What data is sent and when:**
    - Admin map picker: the administrator’s browser loads the Google Maps JavaScript
      API using the configured key. Address searches, browser/network information,
      and map interactions are handled by Google.
    - Public embeds: when a saved map is displayed, the visitor’s browser connects
      to Google and may disclose standard request information such as IP address
      and browser headers. Following a Google Maps link also sends the visitor to
      Google. HarborBook does not add customer names, contact details, or payment
      data to the map URL.
 * **Service provider & policies:** Provided by Google. See [Google Maps Platform Terms](https://cloud.google.com/maps-platform/terms)
   and the [Google Privacy Policy](https://policies.google.com/privacy). Maps features
   are optional — leave the API key empty and omit map embeds if you do not want
   to use Google Maps.

Online card checkout via Stripe is provided by a separate HarborBook Stripe companion
add-on. That add-on documents Stripe.js under its own External services section;
the core plugin alone does not load Stripe.js or process card payments.

All other UI libraries used by HarborBook (calendar, date picker, dropdown, chart
libraries) are bundled locally and served from your own site.

### Source code and build process

HarborBook ships one compiled asset: the front-end booking widget
 (`public/js/booking-
widget.min.js` and `public/css/booking-widget.min.css`).

The complete, human-readable source for that bundle is included in this plugin
 
under `src/booking-widget/` (React components, hooks, store, and stylesheet), together
with the build configuration (`package.json`, `package-lock.json`, and vite.config.
js). To rebuild the widget from source:

 1. Install [Node.js](https://nodejs.org/) 18 or newer.
 2. From the plugin directory, run `npm install`.
 3. Run `npm run build`.

The build writes the compiled files back to `public/js/` and `public/css/`.

Third-party libraries in `admin/vendor/` are unmodified upstream releases and
 each
ships alongside its original, non-minified source file:

 * Select2 4.1.0 — `select2.js` / `select2.css` (MIT)
 * flatpickr 4.6.13 — `flatpickr.js` / `flatpickr.css` (MIT)
 * FullCalendar 6.1.10 — `index.global.js` (MIT)
 * Chart.js 4.5.1 — `chart.umd.js` (MIT)

## Screenshots

[⌊Activity selection: pick a trip from the published list, with type, length, and
from-price shown.⌉⌊Activity selection: pick a trip from the published list, with
type, length, and from-price shown.⌉[

**Activity selection**: pick a trip from the published list, with type, length, 
and from-price shown.

[⌊Date and departure: calendar with open dates, leftover seats, and prices next 
to each departure.⌉⌊Date and departure: calendar with open dates, leftover seats,
and prices next to each departure.⌉[

**Date and departure**: calendar with open dates, leftover seats, and prices next
to each departure.

[⌊Pickup step: choose a stop (or meet on site), with times and any surcharge.⌉⌊Pickup
step: choose a stop (or meet on site), with times and any surcharge.⌉[

**Pickup step**: choose a stop (or meet on site), with times and any surcharge.

[⌊Guests: set adult/child/infant counts, names if required, plus age or weight limits
for the trip.⌉⌊Guests: set adult/child/infant counts, names if required, plus age
or weight limits for the trip.⌉[

**Guests**: set adult/child/infant counts, names if required, plus age or weight
limits for the trip.

[⌊Extras: add gear, meals, or transfers; the running total updates as you go.⌉⌊Extras:
add gear, meals, or transfers; the running total updates as you go.⌉[

**Extras**: add gear, meals, or transfers; the running total updates as you go.

[⌊Customer details: name, email, phone, country, notes, and terms.⌉⌊Customer details:
name, email, phone, country, notes, and terms.⌉[

**Customer details**: name, email, phone, country, notes, and terms.

[⌊Review: full booking check before pay: trip, pickup, guests, extras, tax, and 
total.⌉⌊Review: full booking check before pay: trip, pickup, guests, extras, tax,
and total.⌉[

**Review**: full booking check before pay: trip, pickup, guests, extras, tax, and
total.

[⌊Pay on arrival: offline payment note; core does not take card details.⌉⌊Pay on
arrival: offline payment note; core does not take card details.⌉[

**Pay on arrival**: offline payment note; core does not take card details.

[⌊Confirmation: reference code, trip summary, calendar links, receipt, and meeting
point.⌉⌊Confirmation: reference code, trip summary, calendar links, receipt, and
meeting point.⌉[

**Confirmation**: reference code, trip summary, calendar links, receipt, and meeting
point.

[⌊Dashboard: bookings, guests, revenue, paid vs unpaid, and upcoming departures.⌉⌊
Dashboard: bookings, guests, revenue, paid vs unpaid, and upcoming departures.⌉[

**Dashboard**: bookings, guests, revenue, paid vs unpaid, and upcoming departures.

[⌊Activities list: type, length, capacity, price, booking count, and shortcode.⌉⌊
Activities list: type, length, capacity, price, booking count, and shortcode.⌉[

**Activities list**: type, length, capacity, price, booking count, and shortcode.

[⌊Bookings list: search and filter by activity, date, payment, source, or status.⌉⌊
Bookings list: search and filter by activity, date, payment, source, or status.⌉[

**Bookings list**: search and filter by activity, date, payment, source, or status.

[⌊Calendar: month, week, day, or list view of departures and bookings.⌉⌊Calendar:
month, week, day, or list view of departures and bookings.⌉[

**Calendar**: month, week, day, or list view of departures and bookings.

[⌊Customers: booking count, spend, and history for each guest.⌉⌊Customers: booking
count, spend, and history for each guest.⌉[

**Customers**: booking count, spend, and history for each guest.

[⌊Extras list: flat, per person, or per day add-ons.⌉⌊Extras list: flat, per person,
or per day add-ons.⌉[

**Extras list**: flat, per person, or per day add-ons.

[⌊Pickup locations: stops with address and optional surcharge.⌉⌊Pickup locations:
stops with address and optional surcharge.⌉[

**Pickup locations**: stops with address and optional surcharge.

[⌊Availability: weekly times, seat counts, date overrides, and closed dates.⌉⌊Availability:
weekly times, seat counts, date overrides, and closed dates.⌉[

**Availability**: weekly times, seat counts, date overrides, and closed dates.

[⌊Reports: bookings, revenue, paid/unpaid, guests, top trips, and pickup manifest.⌉⌊
Reports: bookings, revenue, paid/unpaid, guests, top trips, and pickup manifest.⌉[

**Reports**: bookings, revenue, paid/unpaid, guests, top trips, and pickup manifest.

[⌊Settings: company details, currency, date format, booking rules, payments, emails,
and demo data.⌉⌊Settings: company details, currency, date format, booking rules,
payments, emails, and demo data.⌉[

**Settings**: company details, currency, date format, booking rules, payments, emails,
and demo data.

## Blocks

This plugin provides 1 block.

 *   HarborBook

## Installation

**From the WordPress Plugins Directory (recommended)**

 1. Go to **Plugins  Add New** in your WordPress admin.
 2. Search for **HarborBook**.
 3. Click **Install Now**, then **Activate**.

**Manual installation**

 1. Download the plugin zip file.
 2. Go to **Plugins  Add New  Upload Plugin**.
 3. Upload the zip and click **Install Now**, then **Activate**.

**First-time setup**

 1. Go to **HarborBook  Settings** and fill in your business name, timezone, currency,
    and contact email.
 2. Enable and configure pay on arrival under **Settings  Payments**, then review booking
    rules, passenger labels, and notification templates.
 3. Create extras and pickup locations if your activities need them.
 4. Go to **HarborBook  Activities  Add New** and configure the activity, schedule,
    capacity, pricing, and availability.
 5. Create a page such as “Book Now” and add `[harborbook]`, or insert the **HarborBook
    Booking Widget** block.
 6. Make a test booking and confirm that WordPress can send email.

To explore before entering your own catalog, open **HarborBook  Settings  Demo Data**.
Review the warning, choose whether to generate cover images or sample bookings, 
and explicitly confirm before importing.

## FAQ

### What types of activities can I sell with HarborBook?

HarborBook supports timed activities, day trips, multi-day experiences, and recurring
multi-session courses. Each activity can use shared group capacity, a private-charter
rate, or let the customer choose between group and private booking.

### Can HarborBook manage private tours or boat charters?

Yes. Set the activity booking mode to Private for a flat-rate charter, or Both to
offer shared seats and a private option. A private booking reserves the whole departure
so another customer cannot book the same slot.

### Can I accept online card payments?

The core plugin handles manual / pay-on-arrival bookings. Guests reserve a slot 
and you record cash, card-terminal, bank-transfer, or other offline payments. The
core plugin does not collect card numbers or include an online card gateway.

### How do I place the booking form on a page?

Insert the **HarborBook Booking Widget** block or add `[harborbook]` to any page.
To show one activity only, use `[harborbook activity_id="123"]`, replacing `123`
with the activity post ID.

### Does the booking form work on mobile devices?

Yes. The booking flow is responsive and supports activity selection, departure dates,
pickup choices, passengers, optional extras, customer details, review, payment instructions,
and confirmation.

### How does HarborBook prevent overbooking?

Each generated departure has a capacity counter. HarborBook checks availability 
and temporarily reserves capacity during checkout, then confirms or releases it 
according to the booking result. Private bookings require the departure to be available
for exclusive use.

### What happens when a departure is fully booked?

Fully booked departures remain visible but unavailable by default. Enable **Hide
fully booked slots** under **HarborBook  Settings  Appearance** if you prefer to
remove them from the customer-facing list.

### Can I close dates or change a departure on one date only?

Yes. Use schedule overrides for date-specific departure changes and blackout dates
for closures. Weekly schedules continue to control normal operating days.

### Can I charge different adult, child, and infant prices?

Yes. Enable the passenger types you use, customise their labels and age bands, and
set rates per activity. You can also make infants free.

### What pricing options does the core plugin include?

Core pricing covers adult, child, and infant rates, a flat private-charter rate,
and tax (a global default under Settings, or a custom rate per activity). Deposit
and prepayment policies require a compatible HarborBook payment-policy add-on; core
alone does not collect card payments or calculate a deposit.

### Can I sell equipment rental, meals, or transfers as extras?

Yes. Link extras to selected activities and price them as a flat amount, per person,
or per day. Extras can have minimum/maximum quantities and stock limits.

### How do pickup locations work?

Create reusable pickup locations with an address, guest instructions, time offset,
optional surcharge, and coordinates. Link them to an activity and arrange their 
order. Customers choose a pickup during booking or can select no pickup when that
option is available.

### Is a Google Maps API key required?

No. HarborBook works without Google Maps. The API key only enables Google Places
address search and the interactive map picker while an administrator edits pickup
locations. Manual addresses and latitude/longitude values work without a key.

### How do I configure the Google Maps API key?

Create a browser key in Google Cloud, enable the **Maps JavaScript API** and **Places
API**, and restrict the key to your site’s admin URLs and only the APIs it needs.
Paste it under **HarborBook  Settings  General  Integrations**. Google may require
billing to be enabled on the Cloud project.

### Can I show a meeting point map without an API key?

Yes. Edit the activity and paste the iframe from **Google Maps  Share  Embed a map
Copy HTML**. HarborBook validates supported Google Maps embed URLs, displays the
map where relevant, and derives a Google Maps link for booking information and email
templates. Loading an embedded map connects the visitor’s browser to Google.

### How do booking QR codes work?

Booking QR codes are off by default. Under **HarborBook  Settings  General  Integrations**,
enable **Booking QR Codes (goQR.me)** and acknowledge the disclosure. HarborBook
then sends only the booking reference, such as `HB-A1B2C3`, to `api.qrserver.com`
to retrieve a QR image for vouchers, booking details, and confirmation emails. It
does not send the customer’s name, email, phone, passenger details, or payment information.
If the service is unavailable, the booking still works and the QR image is omitted.

### Can I add bookings manually and identify where bookings came from?

Yes. Create telephone, walk-in, or agent bookings under **HarborBook  Bookings  
Add Manual Booking**. Sources are labelled Manual, Customer (logged-in widget), 
or Online (guest widget) and can be filtered in the booking list.

### Can customers cancel or reschedule their own bookings?

No. An administrator handles cancellations, reschedules, and refunds from the booking
administration screens. Use the dedicated cancellation workflow when you need to
record a reason and send the configured cancellation notice.

### Can I require customers to log in before booking?

Yes. Guest booking is enabled by default. Under **HarborBook  Settings  Booking 
Rules**, disable guest booking and enable **Require Login to Book**. HarborBook 
uses WordPress accounts; enable site registration in WordPress settings if customers
need a sign-up option.

### Does HarborBook include a customer self-service portal?

No. Core HarborBook does not provide a page where guests cancel, reschedule, or 
pay by themselves. Administrators manage booking changes. Developers and compatible
add-ons can provide a management URL through the `harborbook_customer_portal_url`
filter.

### Can I record a payment collected outside WordPress?

Yes. Open the booking and record the amount, payment method, reference, and note.
Received amounts and unpaid balances appear in the dashboard and reports.

### Why did a customer not receive an email?

Check the booking status and the relevant template under **HarborBook  Settings  
Notifications**. Confirmation is associated with the confirmed workflow, and scheduled
reminders require WordPress cron. HarborBook sends through WordPress `wp_mail()`,
so production sites should use a reliable SMTP or transactional-mail configuration
and check its delivery logs.

### Why are future dates or time slots missing from the widget?

Confirm that the activity is published and active, its weekly schedule contains 
active slots, and the dates are inside both the customer booking window and generated-
slot window. Also check lead time, same-day cutoff, blackout dates, overrides, capacity,
and minimum passenger rules. Re-save the activity schedule after changing its slot-
generation window.

### Does the demo-data importer overwrite my catalog?

No. It adds a separate, tagged HarborBook demo catalog alongside your own content.
Importing a second time removes and replaces only the previous demo import. Optional
sample bookings are written to the real HarborBook booking tables, so use them on
a staging or test site unless you intentionally want sample reporting data. The 
Demo Data screen includes a separate removal action.

### Can I export or move my catalog?

The Demo Data screen can download the current catalog as JSON for support, auditing,
or use as a template. Version 1.0 does not provide a general upload-and-restore 
tool for an arbitrary exported JSON file.

### Is HarborBook GDPR-friendly?

HarborBook stores the information submitted during booking, including contact details,
booking choices, payment records, notes, and optional participant details. It does
not include telemetry or marketing tracking. Site owners remain responsible for 
their legal basis, retention policy, privacy notice, user requests, email provider,
and any optional Google Maps or QR service they enable.

### What happens to my data if I deactivate or delete HarborBook?

Deactivation preserves your data. Deleting the plugin also preserves data by default.
If you first enable **Remove All Data on Uninstall** under **Settings  Appearance
Advanced**, deleting HarborBook permanently removes its catalog posts, custom tables,
settings, and related plugin data. Make a backup before using that option.

### What are the server requirements?

WordPress 6.2 or newer, PHP 8.1 or newer, and the MySQL/MariaDB database used by
WordPress. PHP GD is optional and is used only when generating local demo cover 
images.

### Where can I get support?

Start with **HarborBook  Settings  Help**, then use the [WordPress.org support forum](https://wordpress.org/support/plugin/harborbook/)
for ordinary questions and reproducible bugs so answers can help other users.

For concise product feedback, a private error report, or a quick clarification, 
email [info@coresolstudio.com](https://wordpress.org/plugins/harborbook/info@coresolstudio.com?output_format=md).
Include the HarborBook version, WordPress/PHP versions, exact steps, expected result,
actual result, and relevant error text. Do not send passwords, administrator access,
API keys, or real customer information.

### How should I report a security issue?

Do not publish exploit details in the support forum. Email [info@coresolstudio.com](https://wordpress.org/plugins/harborbook/info@coresolstudio.com?output_format=md)
with reproduction details and affected versions. Security or guideline issues involving
a WordPress.org-hosted plugin may also be reported privately to `plugins@wordpress.
org`.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“HarborBook” is open source software. The following people have contributed to this
plugin.

Contributors

 *   [ Coresol Studio ](https://profiles.wordpress.org/coresolstudio/)
 *   [ Mustaneer Abdullah ](https://profiles.wordpress.org/mustaneerabdullah93/)
 *   [ Hassan Ali ⚡️ ](https://profiles.wordpress.org/creativehassan/)
 *   [ Daniyal Hassan ](https://profiles.wordpress.org/daniyaldotdev/)

[Translate “HarborBook” into your language.](https://translate.wordpress.org/projects/wp-plugins/harborbook)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/harborbook/), check
out the [SVN repository](https://plugins.svn.wordpress.org/harborbook/), or subscribe
to the [development log](https://plugins.trac.wordpress.org/log/harborbook/) by 
[RSS](https://plugins.trac.wordpress.org/log/harborbook/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.0

Release date: 2026-07-28

 * Initial WordPress.org release.
 * Timed, day-trip, multi-day, and recurring-course activities with group, private,
   or combined booking modes.
 * Activity and schedule management with capacity, passenger types, extras, pickup
   locations, overrides, and blackout dates.
 * Passenger, private-charter, and tax pricing.
 * Embeddable multi-step booking widget (shortcode + Gutenberg block).
 * Manual / pay-on-arrival bookings with offline payment recording.
 * Booking administration: list, detail, add/edit, calendar, vouchers, and source
   tracking (Manual / Customer / Online).
 * Email notifications with customisable templates.
 * Dashboard analytics and operational reports (including pickup manifest).
 * Optional Google Places pickup editor and validated Google Maps meeting-point 
   embeds.
 * Opt-in goQR.me check-in QR codes with explicit external-service consent and graceful
   fallback.
 * One-click demo catalog, optional sample bookings, generated local cover art, 
   clean removal, and JSON catalog export.
 * Participant safety limits and additional-guest name collection.
 * Locally bundled admin UI libraries (no CDN dependency for calendar/datepicker/
   charts).
 * **Fixed:** Widget  Date/Time calendar — available dates no longer show as fully
   booked when slots have capacity (availability query includes slot IDs for min-
   passenger filtering).
 * **Fixed:** Widget date display — September and other month names no longer corrupted(
   e.g. “thepte09ber”) when using F/m/S date format tokens.

## Meta

 *  Version **1.0.0**
 *  Last updated **12 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.2 or higher **
 *  Tested up to **7.1**
 *  PHP version ** 8.1 or higher **
 * Tags
 * [activities](https://wordpress.org/plugins/tags/activities/)[booking](https://wordpress.org/plugins/tags/booking/)
   [reservations](https://wordpress.org/plugins/tags/reservations/)[scheduling](https://wordpress.org/plugins/tags/scheduling/)
   [Tours](https://wordpress.org/plugins/tags/tours/)
 *  [Advanced View](https://wordpress.org/plugins/harborbook/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/harborbook/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/harborbook/reviews/)

## Contributors

 *   [ Coresol Studio ](https://profiles.wordpress.org/coresolstudio/)
 *   [ Mustaneer Abdullah ](https://profiles.wordpress.org/mustaneerabdullah93/)
 *   [ Hassan Ali ⚡️ ](https://profiles.wordpress.org/creativehassan/)
 *   [ Daniyal Hassan ](https://profiles.wordpress.org/daniyaldotdev/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/harborbook/)