Description
MagePeople Shuttle Booking turns any WordPress + WooCommerce site into a complete shuttle booking and transportation reservation system. Build multi-stop routes, set stop-to-stop pricing, publish departure schedules, and let customers book airport shuttles, hotel transfers, corporate shuttle rides and scheduled shuttle services entirely online, with real WooCommerce checkout and real-time seat availability.
Whether you run an airport shuttle service, a hotel transfer desk, a corporate or employee transport program, a tour or resort transfer operation, or a city-to-city shuttle route, this plugin gives you a route builder, a live pricing matrix, a schedule manager and a WooCommerce-powered checkout, without touching a line of code.
Try the live demo
Live demo: wpshuttlebooking.com – a fully configured shuttle booking website you can use right now. No signup, no install, nothing to set up.
The demo runs this exact plugin with the same one-click demo data the importer installs, so what you try there is what your own shuttle booking site will do after setup. In the demo you can:
- Search a live airport shuttle route and see that only the days the shuttle actually operates are selectable
- Choose a pickup point and a drop-off point on a multi-stop route and watch the fare update per segment
- Switch between one-way and round-trip booking and see the return departure time calculated automatically from the turnaround time
- Check real-time seat availability, tracked separately for the outbound and return leg
- Go through a complete WooCommerce checkout and end up with a real shuttle booking attached to a real order
If you are comparing shuttle booking, airport transfer or hotel transfer plugins for WordPress, the demo is the fastest way to see the full booking flow before you install anything.
Why choose MagePeople Shuttle Booking?
- Built on WooCommerce – no separate payment system to learn. Every shuttle booking is a real WooCommerce order, so you keep every gateway, tax rule and reporting tool you already use.
- True round-trip logic – set a turnaround time once and the plugin calculates the return departure time from the forward journey’s arrival, then adds a correctly priced, correctly directed return leg to the cart.
- Direction-aware seat availability – outbound and return seats are tracked independently, so a full outbound trip never blocks an available return trip on the same route.
- Stop-to-stop pricing matrix – price every valid origin destination combination individually, with an automatic fallback to the one-way fare for the return direction.
- Guided route setup – add stops in order, set the time offset and distance from the first stop, and the plugin works out arrival times, drop-off options and schedules for you.
- One-click professional demo data – import or sync 30 ready-made U.S. services (ten Shared, ten Private and ten Airport) with one-way and round-trip routes, fares, discounts, schedules, Travel Pass plans, location badges and local featured images.
Who is this plugin for?
- Airport shuttle and airport transfer operators
- Hotels and resorts offering guest shuttle or transfer services
- Corporate and employee transport programs
- Campus and staff shuttle services
- Tour operators offering pickup and drop-off transfers
- City-to-city and intercity shuttle route operators
- Van, minibus and small coach transport businesses
How the booking flow works
- A visitor searches by route, picks a pickup point, a date (only days the shuttle runs are selectable), a time and the number of passengers.
- The plugin shows the correct drop-off stops and points for that route and direction, live seat availability and the fare.
- On a round-trip route, the customer can toggle between one-way and round-trip pricing before booking.
- The booking is added to the WooCommerce cart (round trip automatically adds the return leg) and checkout is handled entirely by WooCommerce.
- After checkout, a shuttle booking record is created and linked to the order, ready for you to manage.
Features
Routes, stops & schedules
- Custom shuttle post type with route builder
- Ordered, multi-stop route configuration
- Time-offset and distance data per stop (from the first stop)
- Pickup point and drop-off point support per stop
- Schedule manager with multiple departure times per route
- Per-route operating days (weekday availability)
- Turnaround-time setting with automatically calculated return departure time
Pricing
- Stop-to-stop pricing matrix for every valid route segment
- Independent return-direction pricing with automatic one-way fallback
- Live fare and subtotal display before checkout
- Server-side price and availability re-validation on add-to-cart (never trusts the browser)
Booking & availability
- Real-time, direction-aware seat availability per date, route and segment
- Automatic calendar graying-out of fully booked dates, per direction
- Round-trip booking with automatic return-leg cart handling
- Standalone reverse-direction (return-only) booking support
WooCommerce integration
- Every shuttle booking becomes a real WooCommerce order
- Works with your existing payment gateways, taxes and order emails
- Shuttle products are managed automatically, with no manual product setup
Admin & management
- Modern 4-step shuttle editor (Basic Info Route Pricing Schedule) with AJAX autosave
- Searchable, filterable, paginated shuttle list with instant AJAX filtering
- Bookings dashboard with shuttle, route and date filters
- One-click booking status changes (processing, completed, pending, on-hold, cancelled, refunded, failed) with no page reload
- CSV export of all bookings
- One-click demo data importer to explore the plugin instantly
- Built-in environment status page (WordPress, WooCommerce and PHP checks)
Developer-friendly
- Translation-ready (all strings use the
magepeople-shuttle-bookingtext domain) - Clean action and filter hooks for extending settings
Shortcodes
Shuttle search form: [mpsb_shuttle_search]
Displays the full booking search form (route, pickup point, date, time, passengers, drop-off stop/point) and the trip-review screen that follows it. Travel Pass purchasing appears inside this same form automatically once weekly or monthly pass pricing is configured. There is no separate pass shortcode.
Attributes:
shuttle_id– lock the form to a single shuttle (used automatically on a single shuttle page). This also removes the shuttle-type tab bar.target_page– URL the search form should submit to.form_title– heading text above the form (default: „Book a Shuttle”).form_subtitle– supporting text under the heading.passes– controls the Travel Pass tab. Defaultautoshows it whenever pass pricing is on;nohides it on this form only.disable– comma-separated shuttle-type slugs to remove from the tab bar on this form. Acceptsshared-city-shuttle,private-shuttle,airport-transfer.
The shuttle-type tab bar (Shared City Shuttle / Private Shuttle / Airport Transfer) builds itself from the types that currently have published routes. A type with no routes never gets a tab, and if only one type qualifies the bar is skipped. disable only affects that one form and does not unpublish routes elsewhere. No attribute sets the default tab, renames a tab or reorders tabs.
Examples:
[mpsb_shuttle_search shuttle_id="123"]
[mpsb_shuttle_search disable="private-shuttle,airport-transfer"]
[mpsb_shuttle_search passes="no"]
Shuttle catalog / list: [mpsb_shuttle_list]
Displays a responsive grid or list of published shuttles with a built-in Grid/List toggle.
Attributes:
columns– number of grid columns (default 3)posts_per_page– number of shuttles to show (default -1 for all)category– filter by vehicle category slug (e.g.van)type– filter by shuttle type slug (e.g.airport)stop– filter by stop slug or stop IDorderby–date(default),title,menu_order,rand,modifiedorIDorder–ASCorDESC(defaultDESC)ids– comma-separated shuttle IDs to show, in that orderexclude– comma-separated shuttle IDs to leave out
Example: [mpsb_shuttle_list columns="3" posts_per_page="6" category="luxury-van"]
Customer bookings dashboard: [mpsb_my_bookings]
Shows the signed-in customer’s Upcoming, Past, Cancelled and All bookings plus any travel passes. The tabs are automatic (the dashboard opens on the first tab that has bookings) and are not configurable.
Attribute: title – heading above the dashboard (default: „My bookings”).
Guest booking lookup: [mpsb_find_booking]
Lets a guest look up a booking using its reference and booking email.
Attribute: title – heading above the form (default: „Find my booking”).
Route map: [mpsb_route_map]
Displays a map of one saved shuttle route.
Attributes:
shuttle_id– the shuttle whose route to map (defaults to the current shuttle on its own page)route_id– which of that shuttle’s saved routes to display
Example: [mpsb_route_map shuttle_id="123" route_id="your-route"]
Developer hooks & filters
do_action( 'mpsb_before_add_cart_btn' )– fires immediately before the add-to-cart button, useful for injecting custom content into the booking form.apply_filters( 'mpsb_filter_settings', $pages )– register additional settings pages or sections in the plugin’s settings framework.
The plugin also integrates through standard WooCommerce hooks (woocommerce_add_to_cart, woocommerce_checkout_order_processed, woocommerce_order_status_changed and others) so booking records always stay in sync with the linked WooCommerce order.
Requirements
- WordPress 5.8 or higher
- PHP 7.4 or higher
- WooCommerce (required – shuttle tickets are sold through the WooCommerce cart and checkout)
External services
This plugin can connect to the third-party services listed below. None of them require an account with MagePeople, and the plugin never sends your customers’ personal details or booking data to any of them.
Google Fonts
Loads the „Inter” and „Plus Jakarta Sans” web fonts that style the shuttle search form and shuttle list on the front end, and the Shuttle list and Shuttle edit screens in wp-admin. The stylesheet is requested from https://fonts.googleapis.com/css2 by the visitor’s or administrator’s own browser, so that browser’s IP address and user agent reach Google. No booking, order or account data is sent.
Provided by Google: Terms of Service, Privacy Policy.
OpenStreetMap map tiles
Used by the route map (the [mpsb_route_map] shortcode and the route-map editor in wp-admin) to draw the map background. Map images are requested from https://{s}.tile.openstreetmap.org by the browser displaying the map, which passes that browser’s IP address and the coordinates being viewed to the OpenStreetMap tile servers. The map library (Leaflet) ships with the plugin and is not loaded from a CDN. The tile URL is configurable if you prefer a different tile provider.
Provided by the OpenStreetMap Foundation: Tile Usage Policy, Privacy Policy.
Nominatim (OpenStreetMap place search)
Used only in wp-admin, and only when an administrator types a place name into the route-map editor’s search box, to turn it into map coordinates. The typed search text is sent from your server to https://nominatim.openstreetmap.org/search. Nothing is sent unless an administrator actively searches, and the endpoint can be changed with the mpsb_nominatim_search_endpoint filter.
Provided by the OpenStreetMap Foundation: Nominatim Usage Policy, Privacy Policy.
The plugin’s shared settings and field-rendering framework can also connect to the following services, depending on which field types a configuration uses:
Google Maps JavaScript API
Used to render an interactive map preview for „Google Map” type settings fields. When such a field is displayed with a preview enabled, the plugin loads https://maps.googleapis.com/maps/api/js using the API key configured for that field, and the browser’s request for that script (including the key) is sent to Google. No user location or personal data is transmitted by the plugin itself.
Provided by Google: Maps Platform Terms of Service, Privacy Policy.
Google reCAPTCHA
Used to render a reCAPTCHA (v2 checkbox or v3) challenge for „Google reCAPTCHA” type settings fields, to help protect forms from spam. When displayed, the plugin loads https://www.google.com/recaptcha/api.js using the site key configured for that field. Google’s script may collect information about the visitor’s browser and interactions to assess whether the visitor is human, per Google’s own reCAPTCHA terms.
Provided by Google: reCAPTCHA Terms, Privacy Policy.
Gravatar
Used by the „User select” settings field type to show a preview image next to each selected WordPress user, via WordPress core’s get_avatar_url(). This requests an avatar image from Gravatar.com based on the selected user’s email address, as WordPress core does by default for any user avatar.
Provided by Automattic: Terms of Service, Privacy Policy.
Appneck
Used to collect some telemetry data upon your confirmation, to troubleshoot problems faster and make product improvements. Appneck does not gather any data by default; the SDK only starts gathering basic telemetry data when you allow it via the admin notice.
Provided by Appneck: Privacy Policy.
Payments
Checkout and payment processing, including any communication with gateways such as Stripe or PayPal, is handled entirely by WooCommerce and the gateway’s own plugin, not by MagePeople Shuttle Booking. Refer to the documentation of WooCommerce and your chosen gateway for details of what data they transmit.
1.0.0
Initial release of MagePeople Shuttle Booking.
Screenshots
Installation
- Make sure WooCommerce is installed and active.
- In your WordPress dashboard go to Plugins Add New and search for „MagePeople Shuttle Booking”.
- Click Install Now, then Activate.
- Import the one-click demo data to explore the plugin, or create your first shuttle with the 4-step editor (Basic Info Route Pricing Schedule).
- Add the
[mpsb_shuttle_search]shortcode to any page to show the booking form. - Optional: add
[mpsb_shuttle_list],[mpsb_my_bookings]and[mpsb_find_booking]to give customers a catalog, a bookings dashboard and a guest lookup.
You can also upload the plugin ZIP via Plugins Add New Upload Plugin, or unzip it into /wp-content/plugins/ and activate it from the Plugins screen.
FAQ
-
Does this plugin need WooCommerce?
-
Yes. Every shuttle booking is sold through the WooCommerce cart and checkout and becomes a real WooCommerce order.
-
Which payment methods are supported?
-
Any payment gateway that works with your WooCommerce store, such as Stripe or PayPal. Payments, taxes and order emails are handled entirely by WooCommerce and your gateway plugin.
-
Can I set a different price for each stop-to-stop segment?
-
Yes. The pricing matrix lets you price every valid origin destination combination on a route. The return direction can have its own prices, or automatically fall back to the one-way fare.
-
How do round trips work?
-
Set a turnaround time once. The plugin calculates the return departure time from the outbound arrival and adds a correctly priced return leg to the cart when the customer books round trip.
-
Will a full outbound trip block the return trip?
-
No. Seat availability is tracked separately for each direction, so a sold-out outbound trip never blocks an available return trip.
-
Can I use it for airport transfers and hotel shuttles?
-
Yes. It is built for airport shuttles, hotel and resort transfers, corporate and campus shuttles, tour transfers and city-to-city routes.
-
Can I limit which days a shuttle runs?
-
Yes. Set operating days per route and add multiple departure times. Only days the shuttle actually operates are selectable, and fully booked dates are grayed out per direction.
-
Can guests check their booking without an account?
-
Yes. Use
[mpsb_find_booking]so guests can look up a booking with its reference and booking email. -
Can I show only one type of shuttle on a page?
-
Yes. Use the
disableattribute of[mpsb_shuttle_search]to hide Shared City Shuttle, Private Shuttle or Airport Transfer tabs, or useshuttle_idto lock the form to one shuttle. -
Can I export my bookings?
-
Yes. The bookings dashboard has a CSV export of all bookings, plus filters by shuttle, route and date.
-
Is the plugin translation-ready?
-
Yes. All strings use the
magepeople-shuttle-bookingtext domain. -
Where can I try it before installing?
-
Visit the live demo at wpshuttlebooking.com.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“MagePeople Shuttle Booking – Airport Shuttle, Transfer & Route Booking for WooCommerce” is open source software. The following people have contributed to this plugin.
ContributorsInterested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.3.1
- New: added the Appneck SDK for opt-in telemetry and update tracking. It does not collect any data by default; it only starts after you confirm via the admin notice. See External services in this readme.
1.0.0
- Initial release.

























