{"id":371245,"date":"2026-09-28T05:21:17","date_gmt":"2026-09-28T05:21:17","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/magepeople-ferry-booking-system\/"},"modified":"2026-09-28T05:21:08","modified_gmt":"2026-09-28T05:21:08","slug":"magepeople-ferry-booking-system","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/magepeople-ferry-booking-system\/","author":15377419,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.1.2","requires":"6.0","requires_php":"8.0","requires_plugins":null,"header_name":"MagePeople Ferry Booking System","header_author":"MagePeople Team","header_description":"Production-grade ferry booking and ferry operations management for WordPress. Vessels, ports, routes, sailings, passengers, vehicles, availability, pricing, bookings, WooCommerce and native checkout.","assets_banners_color":"acd9fa","last_updated":"2026-09-28 05:21:08","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/github.com\/magepeopleteam\/ferry-booking-manager","header_author_uri":"https:\/\/mage-people.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":32,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"magepeopleteam","date":"2026-09-28 05:21:08","revision":3716316}},"upgrade_notice":{"1.0.0":"<p>First release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.jpeg":{"filename":"icon-128x128.jpeg","revision":3716750,"resolution":"128x128","location":"assets","locale":"","width":865,"height":864}},"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":3716316,"resolution":"772x250","location":"assets","locale":"","width":2022,"height":778}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"The dashboard: today's crossings, how full each one is, and takings so far","2":"The booking form your customers use, from search through to payment","3":"Fleet and schedule: ports, vessels, routes and sailings in one place","4":"The schedule generator previewing a season of crossings before creating them","5":"Fares for every passenger and vehicle type on a route","6":"Bookings: search, filter, open a booking, export to CSV","7":"Settings for checkout, payments, emails and staff permissions"}},"plugin_section":[],"plugin_tags":[269,283052,4772,15372,286],"plugin_category":[40,45],"plugin_contributors":[142531],"plugin_business_model":[],"class_list":["post-371245","plugin","type-plugin","status-publish","hentry","plugin_tags-booking","plugin_tags-ferry","plugin_tags-ticketing","plugin_tags-transport","plugin_tags-woocommerce","plugin_category-calendar-and-events","plugin_category-ecommerce","plugin_contributors-magepeopleteam","plugin_committers-magepeopleteam"],"banners":{"banner":"https:\/\/ps.w.org\/magepeople-ferry-booking-system\/assets\/banner-772x250.png?rev=3716316","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/magepeople-ferry-booking-system\/assets\/icon-128x128.jpeg?rev=3716750","icon_2x":false,"generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>MagePeople Ferry Booking System turns your WordPress site into a ferry\nreservation system. Set up your terminals and vessels, publish a timetable,\nand let customers search crossings, choose a sailing and pay online. Your\nstaff run the whole operation from a single dashboard inside WordPress.<\/p>\n\n<p>It is built for operators who carry both passengers and vehicles: one crossing\ncan sell seats, cars, vans and motorcycles at the same time, each with its own\nfare and its own space on board.<\/p>\n\n<p>Everything described here works in this plugin. There is nothing to unlock, no\ntrial period and no licence key.<\/p>\n\n<h4>Set up once, then run your timetable<\/h4>\n\n<ul>\n<li>Add your <strong>ports<\/strong>, with check-in times and boarding instructions<\/li>\n<li>Add your <strong>vessels<\/strong>, with passenger seats, vehicle spaces and deck metres<\/li>\n<li>Connect them with <strong>routes<\/strong>, in both directions<\/li>\n<li>Create a whole season of <strong>sailings<\/strong> in one step from a simple weekday and\ntime pattern, and see exactly what will be created before it is created<\/li>\n<li>Override the capacity of any single sailing when you swap a vessel or hold\nseats back<\/li>\n<\/ul>\n\n<h4>Sell passenger and vehicle tickets<\/h4>\n\n<ul>\n<li>Set a fare for every passenger type and vehicle type, per route<\/li>\n<li>Create your own <strong>passenger types<\/strong> \u2014 adult, child, senior, student,\nresident \u2014 with age rules, priced as a fixed fare, a percentage of the adult\nfare, or free<\/li>\n<li>Create your own <strong>vehicle types<\/strong> \u2014 car, van, motorcycle, bicycle \u2014 each\ntaking the deck space you give it<\/li>\n<li>Add <strong>taxes, booking fees, return discounts and group discounts<\/strong><\/li>\n<li>Choose what the booking form asks for: names, phone, date of birth,\nnationality, travel document details, vehicle registration and more<\/li>\n<\/ul>\n\n<h4>Take bookings and payments<\/h4>\n\n<ul>\n<li>A booking form for your customers: search, pick a crossing, enter who is\ntravelling, pay, done<\/li>\n<li>One-way and return journeys<\/li>\n<li><strong>Built-in checkout<\/strong> with offline payment methods \u2014 cash, bank transfer,\npay at the port, or a manual arrangement<\/li>\n<li><strong>WooCommerce checkout<\/strong> instead, when you want card payments, coupons,\ntaxes and orders handled by WooCommerce<\/li>\n<li>Seats are held while a customer pays, and released automatically if they do\nnot finish<\/li>\n<li>Customers receive a confirmation email, can look up a booking with their\nreference and email address, and signed-in customers get a \"My Bookings\"\npage<\/li>\n<li>Your staff can take bookings at the counter or over the phone from the\ndashboard<\/li>\n<\/ul>\n\n<h4>Run the quayside<\/h4>\n\n<ul>\n<li>A dashboard showing today's sailings, how full each one is, passengers and\nvehicles travelling, money taken and payments still outstanding<\/li>\n<li>A bookings list you can search by reference, customer or email, filter by\nstatus, and export to CSV<\/li>\n<li>Staff roles \u2014 <strong>Ferry Manager<\/strong> for everything, <strong>Ferry Booking Manager<\/strong>\nfor sailings and bookings, <strong>Ferry Cashier<\/strong> for taking bookings and\npayments \u2014 plus a screen to fine-tune what each role may do<\/li>\n<li>Overbooking is prevented in one place, so your website and your counter can\nnever sell the same seat twice<\/li>\n<\/ul>\n\n<h4>Built the WordPress way<\/h4>\n\n<ul>\n<li><strong>No custom database tables.<\/strong> Everything is stored as ordinary WordPress\nposts, meta and options, so your usual backup, staging and migration tools\nalready understand your data<\/li>\n<li><strong>Translation ready<\/strong>, and tested with WPML, Polylang and TranslatePress<\/li>\n<li>Works with any theme, and the booking form is available as a block as well\nas a shortcode<\/li>\n<li>Developer friendly: a REST API and documented <code>mpfbs_*<\/code> hooks and filters<\/li>\n<\/ul>\n\n<h4>Try it with demo data first<\/h4>\n\n<p>On a new install the dashboard offers to set up a complete demo ferry\noperation \u2014 terminals, vessels, routes, fares and ten days of sailings, ready\nto book. It is the quickest way to see how everything fits together, and it\ncan be removed again in one click without touching anything you created\nyourself.<\/p>\n\n<h4>Up and running in five minutes<\/h4>\n\n<ol>\n<li>Activate the plugin and open <strong>Ferry Manager<\/strong> in your admin menu<\/li>\n<li>Follow the <strong>Get started<\/strong> checklist, or install the demo data to explore<\/li>\n<li>Add your ports, vessels and routes, then create your sailings<\/li>\n<li>Set your fares, taxes and payment methods<\/li>\n<li>Open the <strong>Book a Crossing<\/strong> page the plugin made for you and try a booking<\/li>\n<\/ol>\n\n<!--section=installation-->\n<h4>From your WordPress dashboard<\/h4>\n\n<ol>\n<li>Go to <strong>Plugins &gt; Add New<\/strong> and search for \"MagePeople Ferry Booking System\"<\/li>\n<li>Click <strong>Install Now<\/strong>, then <strong>Activate<\/strong><\/li>\n<li>Open <strong>Ferry Manager<\/strong> in the admin menu and follow the <strong>Get started<\/strong>\nchecklist<\/li>\n<\/ol>\n\n<h4>Uploading the plugin<\/h4>\n\n<ol>\n<li>Download the plugin zip file<\/li>\n<li>Go to <strong>Plugins &gt; Add New &gt; Upload Plugin<\/strong> and choose the zip<\/li>\n<li>Click <strong>Install Now<\/strong>, then <strong>Activate<\/strong><\/li>\n<li>Open <strong>Ferry Manager<\/strong> in the admin menu<\/li>\n<\/ol>\n\n<h4>What activation sets up for you<\/h4>\n\n<p>Four pages are created automatically, so the booking flow works straight away:<\/p>\n\n<ul>\n<li><strong>Book a Crossing<\/strong> \u2014 the booking form<\/li>\n<li><strong>Booking Confirmation<\/strong> \u2014 what a customer sees after paying<\/li>\n<li><strong>My Bookings<\/strong> \u2014 a signed-in customer's own bookings<\/li>\n<li><strong>Find My Booking<\/strong> \u2014 looks a booking up from a reference and email address<\/li>\n<\/ul>\n\n<p>Activation also adds the three staff roles and a starter set of passenger\ntypes you can rename or replace.<\/p>\n\n<h4>Putting the booking form on your own pages<\/h4>\n\n<p>Use the blocks \u2014 search for \"ferry\" in the block inserter \u2014 or these\nshortcodes:<\/p>\n\n<ul>\n<li><code>[mpfbs_booking]<\/code> \u2014 the full booking flow<\/li>\n<li><code>[mpfbs_search]<\/code> \u2014 a compact search form that sends people to the booking page<\/li>\n<li><code>[mpfbs_confirmation]<\/code> \u2014 the confirmation page<\/li>\n<li><code>[mpfbs_my_bookings]<\/code> \u2014 a customer's own bookings<\/li>\n<li><code>[mpfbs_lookup]<\/code> \u2014 find a booking by reference and email<\/li>\n<\/ul>\n\n<h4>Requirements<\/h4>\n\n<p>WordPress 6.0 or newer and PHP 8.0 or newer. WooCommerce is optional.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20woocommerce%3F\"><h3>Do I need WooCommerce?<\/h3><\/dt>\n<dd><p>No. The plugin has its own checkout with offline payment methods. Add\nWooCommerce only if you want card payments, coupons or taxes handled by it,\nthen switch to WooCommerce mode on the <strong>Checkout<\/strong> settings tab.<\/p><\/dd>\n<dt id=\"can%20i%20sell%20vehicle%20spaces%20as%20well%20as%20passenger%20seats%3F\"><h3>Can I sell vehicle spaces as well as passenger seats?<\/h3><\/dt>\n<dd><p>Yes. Vehicle types have their own fares and take up the deck space you give\nthem, so a sailing stops selling cars once the deck is full even when seats\nare still available.<\/p><\/dd>\n<dt id=\"can%20customers%20book%20a%20return%20journey%3F\"><h3>Can customers book a return journey?<\/h3><\/dt>\n<dd><p>Yes. Both legs are priced together, and you can offer a return discount.<\/p><\/dd>\n<dt id=\"does%20it%20prevent%20overbooking%3F\"><h3>Does it prevent overbooking?<\/h3><\/dt>\n<dd><p>Yes. Availability is worked out in one place for your website, your counter\nand the API, and seats are held while a customer is paying. You can also hold\nseats back from online sale on any sailing.<\/p><\/dd>\n<dt id=\"do%20i%20have%20to%20create%20every%20sailing%20by%20hand%3F\"><h3>Do I have to create every sailing by hand?<\/h3><\/dt>\n<dd><p>No. Tell the schedule generator which days and times a route runs and between\nwhich dates, and it creates the whole timetable. It previews everything first\nand will not book one vessel into two places at once.<\/p><\/dd>\n<dt id=\"will%20it%20work%20with%20my%20theme%3F\"><h3>Will it work with my theme?<\/h3><\/dt>\n<dd><p>Yes. The booking form follows your theme's layout, and you can set an accent\ncolour to match your branding in the settings.<\/p><\/dd>\n<dt id=\"does%20it%20create%20database%20tables%3F\"><h3>Does it create database tables?<\/h3><\/dt>\n<dd><p>No. Everything is stored using standard WordPress posts, meta and options.<\/p><\/dd>\n<dt id=\"is%20my%20customer%20data%20sent%20anywhere%3F\"><h3>Is my customer data sent anywhere?<\/h3><\/dt>\n<dd><p>No. Booking details stay in your own WordPress database, and the plugin does\nnot contact any external service. There is an optional setting that pushes a\npurchase event to a tag manager you already run, and it is off by default.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20my%20bookings%20if%20i%20delete%20the%20plugin%3F\"><h3>What happens to my bookings if I delete the plugin?<\/h3><\/dt>\n<dd><p>They stay. Deleting the plugin leaves your bookings and timetable in place,\nunless you first switch on \"Delete all ferry data when the plugin is deleted\"\nunder <strong>Settings &gt; Advanced<\/strong>.<\/p><\/dd>\n<dt id=\"can%20i%20translate%20it%3F\"><h3>Can I translate it?<\/h3><\/dt>\n<dd><p>Yes. The plugin is fully translation-ready and works with WPML, Polylang and\nTranslatePress.<\/p><\/dd>\n<dt id=\"can%20developers%20extend%20it%3F\"><h3>Can developers extend it?<\/h3><\/dt>\n<dd><p>Yes. There is a REST API under <code>mpfbs\/v1<\/code> and documented <code>mpfbs_*<\/code> hooks and\nfilters for entities, validation, capabilities, pricing, REST controllers and\nthe dashboard. The plugin's complete source, including the readable source of\nits compiled JavaScript and CSS, ships inside the plugin under <code>apps\/<\/code> and is\npublished at https:\/\/github.com\/magepeopleteam\/ferry-booking-manager<\/p><\/dd>\n<dt id=\"where%20can%20i%20get%20help%3F\"><h3>Where can I get help?<\/h3><\/dt>\n<dd><p>In the support forum on this plugin's page. Please tell us what you were\ndoing, what you expected, and what happened instead.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First release.<\/li>\n<li>Ports, vessels, routes, sailings, passenger types and vehicle types.<\/li>\n<li>Schedule generator with a preview and vessel conflict detection.<\/li>\n<li>Availability with capacity limits, held-back seats, booking windows, and\ntemporary holds while a customer pays.<\/li>\n<li>Fares per route and per type, taxes, booking fees, return and group\ndiscounts.<\/li>\n<li>Customer booking form with one-way and return journeys, booking lookup and\na My Bookings page.<\/li>\n<li>Built-in checkout with offline payment methods, plus optional WooCommerce\ncheckout.<\/li>\n<li>Staff bookings, a bookings list with CSV export, and a dashboard of the\nday's operation.<\/li>\n<li>Three staff roles with editable permissions.<\/li>\n<li>Confirmation, cancellation and staff notification emails.<\/li>\n<li>A demo ferry operation that installs and removes in one click.<\/li>\n<li>REST API and <code>mpfbs_*<\/code> hooks for developers.<\/li>\n<li>No custom database tables.<\/li>\n<\/ul>","raw_excerpt":"Sell ferry tickets on your own website: ports, vessels, routes, timetables, fares and bookings, all from one dashboard.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/371245","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=371245"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/magepeopleteam"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=371245"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=371245"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=371245"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=371245"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=371245"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=371245"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}