
Shuttle search form — route, pickup point, date, time, and passenger selection.
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/employee transport program, a tour or resort transfer operation, or a city-to-city shuttle route, MagePeople Shuttle Booking gives you a route builder, a live pricing matrix, a schedule manager, and a WooCommerce-powered checkout — without touching a line of code.
**Live demo: shuttle.mage-people.com ** — a fully configured shuttle booking website you can use right now. No signup, no install, nothing to set up.
The demo site 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:
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.
Route, stop & schedule management
Pricing
Booking & availability
WooCommerce integration
Admin & management
Developer-friendly
magepeople-shuttle-booking text domain)[mpsb_shuttle_search]
Displays the full shuttle 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, since there is only one shuttle to switch between.target_page — URL the search form should submit to.form_title — heading text shown above the form (default: “Book a Shuttle”).form_subtitle — supporting text shown under the heading.passes — controls the Travel Pass tab. Default auto shows it whenever pass pricing is on; no hides it on this form only.disable — comma-separated shuttle-type slugs to remove from the shuttle-type tab bar on this form. Accepts shared-city-shuttle, private-shuttle, airport-transfer.Controlling the shuttle-type tabs
The shuttle-type tab bar (Shared City Shuttle / Private Shuttle / Airport Transfer) builds itself from whichever types currently have published routes — a type with no routes never gets a tab, and if only one type qualifies the bar is skipped entirely. Use disable to remove types yourself; it only affects this instance of the form and does not unpublish the routes elsewhere on the site. No attribute controls which tab opens by default, renames a tab, or reorders the tabs.
Examples
[mpsb_shuttle_search shuttle_id="123"]
[mpsb_shuttle_search disable="private-shuttle,airport-transfer"]
[mpsb_shuttle_search passes="no"]
[mpsb_shuttle_list]
Displays a responsive grid or list of published shuttles with a built-in Grid/List view toggle.
Attributes
columns — number of grid columns (default 3; supports 1, 2, 3, 4, etc.).posts_per_page — number of shuttles to display (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 ID.orderby — sort field: date (default), title, menu_order, rand, modified, or ID.order — sort direction: ASC or DESC (default DESC).ids — comma-separated shuttle IDs to show, in that order.exclude — comma-separated shuttle IDs to leave out.Example
[mpsb_shuttle_list columns="3" posts_per_page="6" category="luxury-van"]
[mpsb_my_bookings]
Shows the signed-in customer’s Upcoming, Past, Cancelled, and All bookings plus any travel passes. These tabs are automatic — the dashboard opens on the first tab that has bookings in it — and are not configurable through attributes.
Attributes
title — heading text shown above the dashboard (default: “My bookings”).[mpsb_find_booking]
Lets a guest look up a booking using its reference and booking email.
Attributes
title — heading text shown above the form (default: “Find my booking”).[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 when used on a shuttle’s own page).route_id — which of that shuttle’s saved routes to display.Example
[mpsb_route_map shuttle_id="123" route_id="your-route"]<h3>Developer Hooks & Filters</h3>
MagePeople Shuttle Booking exposes a small set of hooks for developers who want to extend it:
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/sections into the plugin’s settings framework.MagePeople Shuttle Booking 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.
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
Used to load the “Inter” and “Plus Jakarta Sans” web fonts that style the shuttle search form and shuttle list on the front end of your site, 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 when one of those pages is rendered, so that browser’s IP address and user agent reach Google. No booking, order or account data is sent.
This service is provided by Google: Google Terms of Service, Google 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 itself (Leaflet) ships with the plugin and is not loaded from a CDN, and the tile URL is configurable if you prefer a different tile provider.
This service is 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 that place name 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.
This service is provided by the OpenStreetMap Foundation: Nominatim Usage Policy, Privacy Policy.
The plugin’s shared settings/field-rendering framework can also connect to the following services, depending on which field types a given configuration uses:
Google Maps JavaScript API
Used to render an interactive map preview for “Google Map” type settings fields (used to let an admin visually place a location marker). When a field of this type is displayed with a preview enabled, the plugin loads Google’s Maps JavaScript API (https://maps.googleapis.com/maps/api/js) using the API key configured for that field, and sends the browser’s request for that script (including the configured API key) to Google. No user location or personal data is transmitted by the plugin itself.
This service is provided by Google: Google Maps Platform Terms of Service, Google 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/bot submissions. When this field type is displayed, the plugin loads Google’s reCAPTCHA API (https://www.google.com/recaptcha/api.js) using the site key configured for that field. Google’s reCAPTCHA script may collect information about the visitor’s browser and interactions in order to assess whether the visitor is human, per Google’s own reCAPTCHA terms.
This service is provided by Google: Google reCAPTCHA Terms of Service, Google Privacy Policy.
Gravatar
Used for the “User select” settings field type to display a preview image next to each selected WordPress user, via WordPress core’s built-in get_avatar_url() function. 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, site-wide).
This service is provided by Automattic: Gravatar Terms of Service, Automattic 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 or extension, not by MagePeople Shuttle Booking. Refer to WooCommerce’s documentation and to your chosen payment gateway’s documentation for details of what data they transmit.