WordPress plugin profile

MagePeople Shuttle Booking

Sell airport, hotel & corporate shuttle tickets with WooCommerce — routes, stop pricing, schedules, round trips, seats.

Version1.3.0
Active installsNew
Rating0.0 / 5
Tested toWP 7.0.4

About this plugin

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. Try the live demo **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: 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 the 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 automatically calculates the return departure time from the forward journey’s arrival, then adds a correctly-priced, correctly-directioned return leg to the cart when a customer books round trip. Direction-aware seat availability – forward and return seat inventory 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 on a route individually, with an automatic fallback to the one-way fare for the return direction so you don’t have to fill in every field twice. 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, four or five matches for every offered demo corridor, fares, discounts, schedules, Travel Pass plans, location badges, and local featured images. Who is this for? Airport shuttle and airport transfer operators Hotels and resorts offering guest shuttle/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 Core booking flow A visitor searches by route, picks a pickup point, a date (only days the shuttle actually runs are selectable), a time, and the number of passengers. The plugin shows the correct drop-off stops and drop-off 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 the admin to manage. Feature highlights Route, stop & schedule management 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 WooCommerce payment gateways, taxes, and order emails Shuttle products are managed automatically — 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/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-booking text domain) Clean action/filter hooks for extending settings Requirements WordPress 5.8 or higher PHP 7.4 or higher WooCommerce (required — MagePeople Shuttle Booking sells shuttle tickets through the WooCommerce cart and checkout) Shortcodes Shuttle search form [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"] Shuttle catalog / list [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"] Customer bookings dashboard [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”). Guest booking lookup [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”). 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 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. 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 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.