Orange Travels
Manage vehicles and tour packages with locations, pricing, and features.
by Md Waseel Mohiuddin · github.com/mdwaseel/travel-service-manager
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/mdwaseel/travel-service-manager/archive/refs/heads/main.zipA comprehensive WordPress plugin for managing travel services, including vehicles (cars and boats), tour packages, locations, and assignments. It provides admin interfaces for management and shortcodes for frontend display of vehicles and tours.
Description
This plugin allows travel agencies or service providers to manage their fleet of vehicles (cars and boats), assign them to specific locations with pricing and availability details, and create detailed tour packages. It includes features like a featured carousel (via shortcodes), AJAX-powered location filtering for vehicles, and custom single-page templates for tours.
Key components:
- Custom database tables for locations and vehicle assignments.
- Custom post types for vehicles (
tsm_vehicle) and tours (tsm_tour). - Admin dashboard with submenus for managing locations, vehicles, assignments, tour packages, and button URLs.
- Frontend shortcodes for displaying vehicles and tours with filtering and styling.
- Support for images, galleries, itineraries, features, and guidelines in tour packages.
The plugin is designed for ease of use in travel-related WordPress sites, with built-in validation, nonce security, and responsive styling.
Features
- Locations Management: Add, edit, and delete locations via a dedicated admin page.
- Vehicles Management: Create vehicles (cars or boats) with details like seats, fuel type (Petrol, Diesel, Electric, Hybrid, CNG), AC status, minimum booking hours, and featured images.
- Vehicle Assignments: Assign vehicles to locations with custom pricing (base price, extra KM/hour prices, max range for cars), availability, and rental types (Round Trip, Single Trip, Hourly Rental, Daily Rental).
- Tour Packages Management: Create detailed tours with types (Group, Private, Honeymoon, etc.), pricing, duration, itineraries, features, guidelines, featured images, and galleries.
- Button URLs Configuration: Set global URLs for "Book Now" and "Contact" buttons used in frontend displays.
- Frontend Display:
- Shortcode
[show_vehicles type="Car|Boat" location="Location Name"]for vehicle grids with AJAX location filtering. - Shortcode
[show_tours]for tour package grids. - Custom single-page template for individual tours.
- Shortcode
- Filtering and Sorting: Admin filters for assignments (by vehicle, location, availability) and sorting options.
- Styling and Icons: Includes responsive CSS and Font Awesome icons for a modern look.
- Database Schema Management: Automatic table creation and schema updates on activation.
- Security: Uses WordPress nonces, sanitization, and escaping for inputs and outputs.
Installation
- Download the plugin ZIP file from the GitHub repository.
- Log in to your WordPress admin dashboard.
- Navigate to Plugins > Add New > Upload Plugin.
- Upload the ZIP file and click Install Now.
- Activate the plugin.
- The plugin will automatically create necessary database tables on activation.
- Flush permalinks (go to Settings > Permalinks and save changes) to enable custom tour slugs.
Requirements:
- WordPress 5.0 or higher.
- PHP 7.0 or higher.
- MySQL/MariaDB compatible with WordPress.
Usage
Admin Interface
- Access the plugin via the Orange Travels menu in the WordPress admin sidebar.
- Dashboard: Quick links to management pages.
- Locations: Add/edit/delete locations.
- Vehicles: Add/edit/delete vehicles with custom meta fields.
- Assign Locations: Assign vehicles to locations with pricing and options; includes filters and sorting.
- Tour Packages: Add/edit/delete tours with rich details (itineraries, features, galleries).
- Button URLs: Set URLs for "Book Now" and "Contact" buttons.
Frontend Shortcodes
- [show_vehicles type="Car" location="Rajamundry"]: Displays a grid of cars (or boats) filtered by location. Supports AJAX location dropdown for dynamic filtering.
- [show_vehicles type="Boat"]: Displays boats (no location filter by default).
- [show_tours]: Displays a grid of all tour packages with links to single tour pages.
Place these shortcodes on any page or post. For example, create a "Services" page and add [show_vehicles type="Car"] for car listings.
Single Tour Pages
- Tours use the custom permalink structure
/tour/{tour-slug}/. - The plugin provides a custom template (
templates/single-tsm_tour.php) for detailed views, including gallery, itinerary, features, and guidelines.
Customization
- Extend styling by overriding the inline CSS enqueued by the plugin.
- Add custom icons or fields by modifying the PHP code (e.g., in
tsm_tour_packages_page()for more tour types).
Configuration
- Button URLs: Go to Orange Travels > Button URLs to set links for booking and contact forms (e.g., to a WooCommerce checkout or contact page).
- Default Locations: Vehicles default to "Rajamundry" if no location is specified in shortcodes.
- Outstations: Special handling for "Outstations" location (no display in filters).
- Schema Updates: The plugin handles database upgrades automatically (e.g., adding new columns like
available,max_range,rental_type).
For advanced customization, refer to the source code in travel-services-manager.php.
Contributing
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a feature branch (
git checkout -b feature/YourFeature). - Commit your changes (
git commit -m 'Add YourFeature'). - Push to the branch (
git push origin feature/YourFeature). - Open a Pull Request.
Report issues or suggest features via GitHub Issues.
License
This plugin is licensed under the GPL-2.0-or-later. See the LICENSE file for details.
Credits
- Author: Md Waseel Mohiuddin
- Author URI: https://waseel.in
- Plugin URI: https://github.com/Mdwaseel/Travel-Service-Manager
For questions or support, open an issue on GitHub.