Title: MagePeople Ferry Booking System
Author: magepeopleteam
Published: <strong>September 28, 2026</strong>
Last modified: September 28, 2026

---

Search plugins

![](https://ps.w.org/magepeople-ferry-booking-system/assets/banner-772x250.png?rev
=3716316)

![](https://ps.w.org/magepeople-ferry-booking-system/assets/icon-128x128.jpeg?rev
=3716750)

# MagePeople Ferry Booking System

 By [magepeopleteam](https://profiles.wordpress.org/magepeopleteam/)

[Download](https://downloads.wordpress.org/plugin/magepeople-ferry-booking-system.1.0.0.zip)

 * [Details](https://wordpress.org/plugins/magepeople-ferry-booking-system/#description)
 * [Reviews](https://wordpress.org/plugins/magepeople-ferry-booking-system/#reviews)
 *  [Installation](https://wordpress.org/plugins/magepeople-ferry-booking-system/#installation)
 * [Development](https://wordpress.org/plugins/magepeople-ferry-booking-system/#developers)

 [Support](https://wordpress.org/support/plugin/magepeople-ferry-booking-system/)

## Description

MagePeople Ferry Booking System turns your WordPress site into a ferry
 reservation
system. Set up your terminals and vessels, publish a timetable, and let customers
search crossings, choose a sailing and pay online. Your staff run the whole operation
from a single dashboard inside WordPress.

It is built for operators who carry both passengers and vehicles: one crossing
 
can sell seats, cars, vans and motorcycles at the same time, each with its own fare
and its own space on board.

Everything described here works in this plugin. There is nothing to unlock, no
 
trial period and no licence key.

#### Set up once, then run your timetable

 * Add your **ports**, with check-in times and boarding instructions
 * Add your **vessels**, with passenger seats, vehicle spaces and deck metres
 * Connect them with **routes**, in both directions
 * Create a whole season of **sailings** in one step from a simple weekday and
    
   time pattern, and see exactly what will be created before it is created
 * Override the capacity of any single sailing when you swap a vessel or hold
    seats
   back

#### Sell passenger and vehicle tickets

 * Set a fare for every passenger type and vehicle type, per route
 * Create your own **passenger types** — adult, child, senior, student,
    resident—
   with age rules, priced as a fixed fare, a percentage of the adult fare, or free
 * Create your own **vehicle types** — car, van, motorcycle, bicycle — each
    taking
   the deck space you give it
 * Add **taxes, booking fees, return discounts and group discounts**
 * Choose what the booking form asks for: names, phone, date of birth,
    nationality,
   travel document details, vehicle registration and more

#### Take bookings and payments

 * A booking form for your customers: search, pick a crossing, enter who is
    travelling,
   pay, done
 * One-way and return journeys
 * **Built-in checkout** with offline payment methods — cash, bank transfer,
    pay
   at the port, or a manual arrangement
 * **WooCommerce checkout** instead, when you want card payments, coupons,
    taxes
   and orders handled by WooCommerce
 * Seats are held while a customer pays, and released automatically if they do
    
   not finish
 * Customers receive a confirmation email, can look up a booking with their
    reference
   and email address, and signed-in customers get a “My Bookings” page
 * Your staff can take bookings at the counter or over the phone from the
    dashboard

#### Run the quayside

 * A dashboard showing today’s sailings, how full each one is, passengers and
    vehicles
   travelling, money taken and payments still outstanding
 * A bookings list you can search by reference, customer or email, filter by
    status,
   and export to CSV
 * Staff roles — **Ferry Manager** for everything, **Ferry Booking Manager**
    for
   sailings and bookings, **Ferry Cashier** for taking bookings and payments — plus
   a screen to fine-tune what each role may do
 * Overbooking is prevented in one place, so your website and your counter can
    
   never sell the same seat twice

#### Built the WordPress way

 * **No custom database tables.** Everything is stored as ordinary WordPress
    posts,
   meta and options, so your usual backup, staging and migration tools already understand
   your data
 * **Translation ready**, and tested with WPML, Polylang and TranslatePress
 * Works with any theme, and the booking form is available as a block as well
    as
   a shortcode
 * Developer friendly: a REST API and documented `mpfbs_*` hooks and filters

#### Try it with demo data first

On a new install the dashboard offers to set up a complete demo ferry
 operation—
terminals, vessels, routes, fares and ten days of sailings, ready to book. It is
the quickest way to see how everything fits together, and it can be removed again
in one click without touching anything you created yourself.

#### Up and running in five minutes

 1. Activate the plugin and open **Ferry Manager** in your admin menu
 2. Follow the **Get started** checklist, or install the demo data to explore
 3. Add your ports, vessels and routes, then create your sailings
 4. Set your fares, taxes and payment methods
 5. Open the **Book a Crossing** page the plugin made for you and try a booking

## Installation

#### From your WordPress dashboard

 1. Go to **Plugins > Add New** and search for “MagePeople Ferry Booking System”
 2. Click **Install Now**, then **Activate**
 3. Open **Ferry Manager** in the admin menu and follow the **Get started**
     checklist

#### Uploading the plugin

 1. Download the plugin zip file
 2. Go to **Plugins > Add New > Upload Plugin** and choose the zip
 3. Click **Install Now**, then **Activate**
 4. Open **Ferry Manager** in the admin menu

#### What activation sets up for you

Four pages are created automatically, so the booking flow works straight away:

 * **Book a Crossing** — the booking form
 * **Booking Confirmation** — what a customer sees after paying
 * **My Bookings** — a signed-in customer’s own bookings
 * **Find My Booking** — looks a booking up from a reference and email address

Activation also adds the three staff roles and a starter set of passenger
 types
you can rename or replace.

#### Putting the booking form on your own pages

Use the blocks — search for “ferry” in the block inserter — or these
 shortcodes:

 * `[mpfbs_booking]` — the full booking flow
 * `[mpfbs_search]` — a compact search form that sends people to the booking page
 * `[mpfbs_confirmation]` — the confirmation page
 * `[mpfbs_my_bookings]` — a customer’s own bookings
 * `[mpfbs_lookup]` — find a booking by reference and email

#### Requirements

WordPress 6.0 or newer and PHP 8.0 or newer. WooCommerce is optional.

## FAQ

### Do I need WooCommerce?

No. The plugin has its own checkout with offline payment methods. Add
 WooCommerce
only if you want card payments, coupons or taxes handled by it, then switch to WooCommerce
mode on the **Checkout** settings tab.

### Can I sell vehicle spaces as well as passenger seats?

Yes. Vehicle types have their own fares and take up the deck space you give
 them,
so a sailing stops selling cars once the deck is full even when seats are still 
available.

### Can customers book a return journey?

Yes. Both legs are priced together, and you can offer a return discount.

### Does it prevent overbooking?

Yes. Availability is worked out in one place for your website, your counter
 and
the API, and seats are held while a customer is paying. You can also hold seats 
back from online sale on any sailing.

### Do I have to create every sailing by hand?

No. Tell the schedule generator which days and times a route runs and between
 which
dates, and it creates the whole timetable. It previews everything first and will
not book one vessel into two places at once.

### Will it work with my theme?

Yes. The booking form follows your theme’s layout, and you can set an accent
 colour
to match your branding in the settings.

### Does it create database tables?

No. Everything is stored using standard WordPress posts, meta and options.

### Is my customer data sent anywhere?

No. Booking details stay in your own WordPress database, and the plugin does
 not
contact any external service. There is an optional setting that pushes a purchase
event to a tag manager you already run, and it is off by default.

### What happens to my bookings if I delete the plugin?

They stay. Deleting the plugin leaves your bookings and timetable in place,
 unless
you first switch on “Delete all ferry data when the plugin is deleted” under **Settings
> Advanced**.

### Can I translate it?

Yes. The plugin is fully translation-ready and works with WPML, Polylang and
 TranslatePress.

### Can developers extend it?

Yes. There is a REST API under `mpfbs/v1` and documented `mpfbs_*` hooks and
 filters
for entities, validation, capabilities, pricing, REST controllers and the dashboard.
The plugin’s complete source, including the readable source of its compiled JavaScript
and CSS, ships inside the plugin under `apps/` and is published at https://github.
com/magepeopleteam/ferry-booking-manager

### Where can I get help?

In the support forum on this plugin’s page. Please tell us what you were
 doing,
what you expected, and what happened instead.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“MagePeople Ferry Booking System” is open source software. The following people 
have contributed to this plugin.

Contributors

 *   [ magepeopleteam ](https://profiles.wordpress.org/magepeopleteam/)

[Translate “MagePeople Ferry Booking System” into your language.](https://translate.wordpress.org/projects/wp-plugins/magepeople-ferry-booking-system)

### Interested in development?

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

## Changelog

#### 1.0.0

 * First release.
 * Ports, vessels, routes, sailings, passenger types and vehicle types.
 * Schedule generator with a preview and vessel conflict detection.
 * Availability with capacity limits, held-back seats, booking windows, and
    temporary
   holds while a customer pays.
 * Fares per route and per type, taxes, booking fees, return and group
    discounts.
 * Customer booking form with one-way and return journeys, booking lookup and
    a
   My Bookings page.
 * Built-in checkout with offline payment methods, plus optional WooCommerce
    checkout.
 * Staff bookings, a bookings list with CSV export, and a dashboard of the
    day’s
   operation.
 * Three staff roles with editable permissions.
 * Confirmation, cancellation and staff notification emails.
 * A demo ferry operation that installs and removes in one click.
 * REST API and `mpfbs_*` hooks for developers.
 * No custom database tables.

## Meta

 *  Version **1.0.0**
 *  Last updated **14 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.0 or higher **
 *  Tested up to **7.1.2**
 *  PHP version ** 8.0 or higher **
 * Tags
 * [booking](https://wordpress.org/plugins/tags/booking/)[ticketing](https://wordpress.org/plugins/tags/ticketing/)
   [transport](https://wordpress.org/plugins/tags/transport/)[woocommerce](https://wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://wordpress.org/plugins/magepeople-ferry-booking-system/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/magepeople-ferry-booking-system/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/magepeople-ferry-booking-system/reviews/)

## Contributors

 *   [ magepeopleteam ](https://profiles.wordpress.org/magepeopleteam/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/magepeople-ferry-booking-system/)