Commercial

Tours & Travel Manager

By Site Administrator · Oct 12, 2026 · 11 views

What it is

Web software for tour / pilgrimage operators to manage trips, multi-stop routes, passengers (with families), vendors, expenses, and simple accounts.

Stack: PHP + MySQL/MariaDB · Admin login · Public tour list


License (required)


The software will not start without a valid `admin/.license` file bound to the customer computer.

Customer steps

1. Copy the package to the server (e.g. `D:\www\apps\tour`).

2. Configure `config/database.php` (database name, user, password).

3. Import `sql/schema.sql` into your database (or run installer if provided).

4. Open `license.php` in the browser on that same computer.

5. Click Generate info.db.

6. Send `info.db` (app root folder) to the software developer.

7. Receive `.license` back → save it as `admin/.license` (exact name, including the leading dot).

8. Open the site / admin login.

Developer steps

1. Keep `tools/generate_license.php` private (do not give to customers).

2. Open it (or CLI): upload customer `info.db`, set validity days + customer name.

3. Download / send `.license` to the customer.

4. Optional CLI:

`php tools/generate_license.php /path/to/info.db 365 "Agency Name"`

What is checked

- File present at `admin/.license`

- Cryptographic signature (cannot be forged without developer secret)

- Hardware ID match (MAC, CPU, hostname, OS, disk token, paths)

- Expiry date

- Extra checks on front page, admin login, and every admin page header

Removing one check is not enough; core module must remain intact.

Settings → Software License shows validity, days left, and customer name.


Login

- URL: `admin/login.php`

- Default: tadmin / password (change under Settings)


Main functions

Public front page (`index.php`)

Lists upcoming/ongoing tours: title, route, dates, Trip ID, cost per person, total seats, seats available.


Dashboard

All tours with Trip ID (from start date, e.g. `01122026`), seats, cost, status. Open a tour or + Add Tour.

Add Tour

- Title, from/to dates, from/to cities, seats, cost per seat, status

- Outbound stops and Return stops (city + label)

- Per stop: Bus / Train / Flight / Hotel / Meal / Ticket / Entry pass / Misc

- + Add Stop is below the stop list

Tour tabs (open a tour)

| Tab | Purpose |

|-----|---------|

| Overview | Seats, pax count, stop list with services |

| Passengers | Add head of family; choose how many family members → rows for ID, name, age, sex, seat. Fare/paid on head only. Aadhaar lookup from permanent records. List & delete |

| Transport | Bus/train/flight services from stops |

| Hotel | Hotel services from stops |

| Expenses | Credits (charges); from stops + manual |

| Vendor | Debits to vendors for this trip |

| Reports | Passenger report (printable) with paid/balance |

| Account | Income vs vendor debits; this tour / month / year |

Passengers (menu)

Permanent master records (ID, name, phone, gender…) reusable on any tour.

Vendors (menu)

Permanent vendor master (bus/train/flight/hotel…); link payments under a tour.


Settings

- Software license validity

- Agency name, address, phone, email, GST, license no., banner

- Change password · Add admin


Install checklist

1. PHP 7.4+ with PDO MySQL · MySQL 8 / MariaDB 10.5+

2. `config/database.php` → your DB (e.g. `tour`)

3. Import schema into that database

4. `license.php` → info.db → developer → admin/.license`

5. Admin login · change default password


Important files

| Path | Role |

|------|------|

| `license.php` | Customer: generate `info.db` |

| `admin/.license` | Issued license (required) |

| `includes/LicenseGuard.php` | Validation engine |

| `tools/generate_license.php` | Developer only |

| `config/database.php` | DB credentials |

| `sql/schema.sql` | Tables |


Support notes

- Moving the app to another PC requires a new `info.db` and a new `.license`.

- Expired license blocks the app until a renewed `.license` is installed.

- Do not delete or empty `includes/LicenseGuard.php` or license checks in `index.php` / `admin/login.php` / `includes/auth.php` / `admin/_header.php`.

CLICK HERE

← Back to Blog