Getting Started

Travelio — Travel Agency ERP & Booking System with Customer and Agent Apps
Version: 1.0.0 (Stable)
Tech Stack: Laravel 13 · PHP 8.2+ · MySQL 8.0+ · Flutter 3.x
License: Envato Market – Regular / Extended

Developed By: BugBuild Labs

Welcome to Travelio

Travelio is a complete Travel Agency ERP — tour packages, bookings, visa processing, Hajj & Umrah, hotels, flights, transport, CRM, double-entry accounting, suppliers, HR, support and a full public website, all from one Laravel backend and one database.

This package ships four products sharing one backend:

  • Admin Panel (Web) — this documentation. The control centre for every module.
  • Public Website (Web) — the customer-facing travel site, covered in the Website section.
  • Customer & Agent Portals (Web) — self-service panels, see Customer Portal and Agent Portal.
  • Mobile App (Flutter) — one app, two roles: the customer role and the agent role (see Travelio App).

Everything talks to the same Laravel backend over a REST API (/api/v1), so a booking made in the app is instantly visible in the admin panel.

Server Requirements

Travelio runs on any standard LAMP/LEMP host — shared cPanel hosting, a VPS or a cloud instance. Confirm these before installing:

RequirementMinimumNotes
PHP8.2 or higher8.3 recommended
MySQL / MariaDBMySQL 8.0+ / MariaDB 10.4+One database
Web serverApache 2.4+ / Nginx 1.18+Document root must point at /public
Composer2.xOnly needed if you install from source
Node.js18+ (build only)Needed if you recompile assets with Vite
Memory limit512 MB256 MB works, 512 MB is comfortable for imports/backups
Max execution time300 secondsFor seeding and database backups

Required PHP extensions:

BCMathCtype cURLDOM FileinfoJSON MbstringOpenSSL PCREPDO PDO_MySQLTokenizer XMLGD Zip

Database Setup (cPanel)

Create the database before you upload anything.

  1. cPanel → MySQL Databases.
  2. Create New Database — e.g. travelio_db.
  3. Add New User with a strong password. Save the credentials.
  4. Add User To Database → tick ALL PRIVILEGES.
  5. Note the final names — cPanel prefixes them, e.g. myaccount_travelio_db.

Use UTF-8 collation (utf8mb4_unicode_ci) so Bangla, Arabic and emoji store correctly.

Keep the database name, username and password to hand — you will paste them into .env in the next steps.

Package & Source Code

Your download from CodeCanyon contains Main_Files.zip. Inside it:

FolderWhat it is
WebSourceCode/The Laravel 13 application — admin panel, public website, customer & agent portals, and the REST API for the mobile app.
AppSourceCode/The Flutter app source — one project that serves customers, agents and tour guides based on the role returned at login.
Documentation/This documentation, offline copy.

The customer and agent apps are the same Flutter codebase — the app routes a user to the customer or the agent experience based on the role returned at login. You can ship one app for both, or build two separately branded apps from the same source.

Inside WebSourceCode/ the important paths are:

app/                 Controllers, models, repositories, middleware
Modules/Installer/   The guided web installer
database/            Migrations and seeders (demo data)
resources/views/     Blade views: backend/, frontend/, portal/
routes/              web.php, api.php, auth.php, setting.php, user.php
lang/en, lang/bn     Translation files
public/              Web root — point your domain here

Upload & Environment

Upload the contents of WebSourceCode/ to your server and point the domain at the public/ folder.

  1. Upload and extract the files into your hosting directory.
  2. Set the document root of your domain to .../public. On shared hosting where you cannot change the root, upload the contents of public/ into public_html/ and the rest one level above it, then fix the two paths inside index.php.
  3. Copy .env.example to .env and fill in your values:
APP_NAME="Travelio"
APP_ENV=production
APP_DEBUG=false
APP_URL=https://yourdomain.com

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=travelio_db
DB_USERNAME=your_db_user
DB_PASSWORD=your_db_password

MAIL_MAILER=smtp
MAIL_HOST=smtp.yourprovider.com
MAIL_PORT=587
[email protected]
MAIL_PASSWORD=your_mail_password
MAIL_ENCRYPTION=tls
[email protected]
MAIL_FROM_NAME="Travelio"

Permissions: storage/ and bootstrap/cache/ must be writable (755, or 775 if PHP runs as a different user).

Never ship APP_DEBUG=true to production — it exposes environment values on error pages.

Installation

From the project root, run:

composer install --no-dev --optimize-autoloader
php artisan key:generate
php artisan migrate --seed
php artisan storage:link
php artisan optimize

migrate --seed builds every table and loads demo data — roles, permissions, settings, sample packages, bookings, customers and website content — so you can log in to a working system immediately.

Starting clean instead: run the migrations, then seed only the rows the system needs to function:

php artisan migrate:fresh
php artisan db:seed --class=PermissionSeeder
php artisan db:seed --class=RoleSeeder
php artisan db:seed --class=SettingSeeder
php artisan db:seed --class=UserSeeder

migrate:fresh drops every table. Only use it on a fresh install or a system you are happy to wipe.

If you edit permissions or roles later, both seeders are idempotent and safe to re-run:

php artisan db:seed --class=PermissionSeeder --force
php artisan db:seed --class=RoleSeeder --force

Queue Worker & Scheduler

Mail, notifications and background jobs run through Laravel's queue. On a VPS, keep a worker alive with Supervisor:

php artisan queue:work --tries=3 --timeout=90

On shared hosting, add a cron entry instead:

* * * * * cd /home/youruser/yourapp && php artisan schedule:run >> /dev/null 2>&1

The scheduler drives visa expiry reminders, recurring report generation and scheduled database backups. Without it those features simply never fire.

Set QUEUE_CONNECTION=database in .env to use the queue tables. sync also works but makes the user wait for every email.

Login, Roles & Security

Open https://yourdomain.com/login and sign in. What you see depends on your role — the sidebar only shows what your permissions allow.

Demo accounts seeded by the installer (password 12345678):

RoleEmailLands on
Super Admin[email protected]Admin dashboard — full control
Admin[email protected]Admin dashboard — the whole agency
Manager[email protected]Admin dashboard — sales, bookings, reports (no delete)
Operations Staff[email protected]Admin dashboard — day-to-day booking data entry
Accountant[email protected]Admin dashboard — finance modules
Support Agent[email protected]Admin dashboard — tickets + lookups
Travel Agent[email protected]Agent Portal
Customer[email protected]Customer Portal
Staff[email protected]Staff Portal

Change every demo password before going live, and delete the accounts you do not need.

Permissions are fine-grained: each module can be read / created / updated / deleted independently. See Users & Roles.

Dashboard

The first screen after login — the whole agency at a glance.

  • KPI cards — total bookings, revenue, visa approvals and open leads, each with a month-on-month trend.
  • Revenue Overview — monthly revenue plotted against booking count for the year.
  • Bookings by Status — confirmed / paid / pending / cancelled split as a donut.
  • Secondary tiles — customers, paid revenue, average booking value and conversion rate.
  • Recent Bookings — the latest bookings with customer, package, amount and status.
  • Top Destinations — best-selling destinations by revenue.
  • Top bar — global search, language switcher, light/dark theme, cache refresh, notifications and your profile menu.
Admin dashboard
Admin dashboard

Your Profile

Open the avatar menu at the top right → Profile to update your own name, photo, contact details and password. This page is available to every signed-in user regardless of role.

Profile settings
Profile settings

To-Do List

A private checklist for the signed-in user, separate from Task Management (which is for work assigned across the team). Add an item, tick it off, delete it when it is done. Nobody else sees your to-do list.

To-do list
To-do list

Customers

Bookings & CRM → Customers

The central customer database. Every booking, invoice, visa application and support ticket links back to a record here.

  • Full contact details — name, email, phone, address, nationality.
  • Tier and status for segmenting regular from occasional travellers.
  • Booking history and outstanding balance visible from the customer record.
  • Search, sort and page through the list; export where a report exists for it.

A customer with a login can also use the Customer Portal to see their own bookings, documents and invoices.

Customer list
Customer list

Travelers & Passports

Bookings & CRM → Customer Records

Travel documents for the people who actually fly — a customer often books for a family or a group, so travellers are stored separately from the paying customer.

  • Travelers — each passenger tied to a customer, with date of birth, gender and relationship.
  • Passports — passport number, issuing country, issue and expiry dates, scanned copy.
  • Expiry dates feed the visa and Hajj modules so you can catch an expiring passport before it blocks a departure.

Customers can maintain their own travellers and passports from the Customer Portal — you do not have to key them in.

Travelers
Travelers
Passports
Passports

CRM — Leads & Activities

Bookings & CRM → CRM

Everything before the booking: enquiries, follow-ups and the conversation history that turns a lead into a sale.

  • Leads — source, destination interest, budget, assigned staff member and pipeline stage through to conversion.
  • Contact Messages — enquiries submitted from the website contact form, answered from inside the panel.
  • Job Applications — applications received against the vacancies you publish under CMS → Job Openings.
  • Manage Activities — calls, meetings, emails and site visits logged against a lead or customer.
  • Follow-up Calendar — every scheduled follow-up on a calendar so nothing is missed.
  • Activity Timeline — one chronological feed of everything that happened with a customer.
  • Customer Notes — free-form internal notes on a customer record.
  • Communication History — the log of emails and messages sent to the customer.
Leads pipeline
Leads pipeline
Contact messages
Contact messages
Job applications
Job applications
Manage activities
Manage activities
Follow-up calendar
Follow-up calendar
Activity timeline
Activity timeline
Customer notes
Customer notes
Communication history
Communication history

Marketing

Marketing

  • Coupons — discount codes with a fixed or percentage value, usage limit, validity window and minimum spend. Customers apply them at checkout on the website and in the app.
  • Campaigns — promotional campaigns with a target audience, channel and running period, so you can measure what each push actually sold.
  • Newsletter Subscribers — everyone who subscribed from the website footer, exportable for your mailing tool.
Coupons
Coupons
Campaigns
Campaigns
Newsletter subscribers
Newsletter subscribers

Tour Management

Operations → Tour Management

Your sellable tour products and the departures behind them.

  • Package List — destination, itinerary, duration, inclusions, price and gallery. These are what appear on the website and in the app.
  • Package Category — group packages (honeymoon, family, adventure, religious…) for the website filters.
  • Package Booking — bookings taken against a package: customer, travellers, dates, amount and status.
  • Tour Schedule — dated departures with seat counts and status, so a package can run many times a year.
  • Manage Schedules — the CRUD list where departures are added and edited.
  • Tour Guides — the guides you can assign to a departure.
  • Package Reports — sales per package over a date range, exportable to CSV.
Tour packages
Tour packages
Package categories
Package categories
Manage packages
Manage packages
Package bookings
Package bookings
Manage bookings
Manage bookings
Tour schedule
Tour schedule
Manage schedules
Manage schedules
Package reports
Package reports

Visa Management

Operations → Visa Management

Visa processing end to end — from application intake to the stamped passport going back to the customer.

  • Visa Dashboard — applications by status and country, upcoming appointments and expiries.
  • Applications — applicant, destination country, visa type, submission date, fee and current status.
  • Embassy Appointment — appointment date, time, embassy and the staff member escorting the applicant.
  • Visa Documents — the checklist of documents per application, with uploads and a received/pending state.
  • Status Tracking — the visible progress trail; the same states are what the customer sees on the website's Track Your Visa page.
  • Expiry Management — issued visas approaching expiry, so you can sell the renewal before it lapses.
  • Visa Reports — volume, approval rate and revenue by country over a date range.
Visa dashboard
Visa dashboard
Visa applications
Visa applications
Embassy appointments
Embassy appointments
Visa documents
Visa documents
Status tracking
Status tracking
Expiry management
Expiry management
Visa reports
Visa reports

Hajj & Umrah

Operations → Hajj & Umrah

Pilgrimage groups are their own kind of operation — large parties, allocated hotel rooms and flight seats, staged payments and heavy document verification. Travelio handles all of it.

  • Manage Packages — Hajj and Umrah packages with duration, hotel category, distance from Haram, transport and price tiers.
  • Manage Pilgrims — each pilgrim with passport, mahram details, contact and package.
  • Hotel Allocation — which pilgrim is in which hotel and room in Makkah and Madinah.
  • Flight Allocation — pilgrims assigned to outbound and return flights.
  • Group Management — pilgrims organised into groups with a group leader.
  • Payment Management — instalments paid and outstanding per pilgrim.
  • Document Verification — passport, photo, vaccination and mahram documents checked off before submission.
  • Reports — group, payment and pilgrim reports for the season.

A Hajj package that already has pilgrims attached cannot be deleted — the system blocks it and tells you why.

Hajj & Umrah packages
Hajj & Umrah packages
Pilgrims
Pilgrims
Hotel allocation
Hotel allocation
Flight allocation
Flight allocation
Group management
Group management
Payment management
Payment management
Document verification
Document verification
Hajj reports
Hajj reports

Hotel Management

Operations → Hotel Management

  • Hotels — property list with city, star rating, contact and contract details.
  • Hotels Overview — occupancy and booking summary across all properties.
  • Manage Rooms — room types per hotel with capacity, rate and inventory.
  • Manage Bookings — hotel bookings: guest, room type, check-in/out, nights and amount.
  • Availability — room availability across dates before you confirm a booking.
  • Vouchers — printable hotel vouchers to issue to the guest.
  • Reports — hotel revenue and occupancy over a date range.

A hotel or room type with bookings against it is protected from deletion.

Hotels
Hotels
Hotels overview
Hotels overview
Manage rooms
Manage rooms
Room availability
Room availability
Hotel vouchers
Hotel vouchers
Hotel reports
Hotel reports

Transport

Operations → Transport

Every ground and water transfer you sell, each with its own booking screen because the fields genuinely differ.

  • Manage Bookings — the combined transport booking list.
  • Bus Booking — operator, route, coach type, seat and fare.
  • Train Booking — train, class, coach and seat.
  • Launch Booking — launch/ferry operator, cabin class and deck.
  • Car Rental — vehicle, rental period, with or without driver.
  • Airport Transfer — pickup and drop points, flight number and timing.
  • Manage Drivers — driver roster with licence and contact details.
  • Transport Reports — bookings and revenue by transport type.
Transport bookings
Transport bookings
Bus booking
Bus booking
Train booking
Train booking
Launch booking
Launch booking
Car rental
Car rental
Airport transfer
Airport transfer
Drivers
Drivers
Transport reports
Transport reports

Flight Management

Operations → Flight Management

  • Flight Bookings — PNR, passenger, airline, route, travel date, fare and ticket status.
  • Ticket Management — issued tickets with ticket number and the attached document.
  • Reissue Requests — date or route changes requested against an issued ticket, with the reissue charge.
  • Cancellation Requests — cancellations awaiting your action, with the penalty applied.
  • Refund Tracking — where each refund sits between airline, agency and customer.
  • Reports — flight sales and airline-wise performance over a date range.
Flight bookings
Flight bookings
Ticket management
Ticket management
Reissue requests
Reissue requests
Cancellation requests
Cancellation requests
Refund tracking
Refund tracking
Flight reports
Flight reports

Additional Services

Services

The specialised lines a travel agency sells alongside tickets and packages. Each is a full record with its own fields, customer link and revenue.

  • Travel Insurance — policy number, insurer, coverage, period and premium.
  • Student Consultancy — student, destination country, institution, intake and application stage.
  • Medical Tourism — patient, treatment, hospital, country and appointment dates.
  • Corporate Travel — corporate client accounts, their travel policy and billing arrangement.
  • Events & Conference — event travel: delegates, venue, dates and package.
Travel insurance
Travel insurance
Student consultancy
Student consultancy
Medical tourism
Medical tourism
Corporate travel
Corporate travel
Events & conference
Events & conference

Accounting

Finance → Accounting

A full double-entry accounting system built in — you do not need separate books.

  • Dashboard — income, expense, profit and cash position at a glance.
  • Manage Accounts — the chart of accounts: asset, liability, equity, income and expense heads.
  • Manage Transactions — every debit and credit, linked to its account and reference.
  • Income and Expenses — quick entry screens for day-to-day money in and out.
  • Journal Entries — manual double-entry postings for adjustments.
  • Cash Book / Bank Book — cash and bank movement with running balance.
  • Ledger — the account-wise ledger.
  • Trial Balance, Profit & Loss, Balance Sheet — the standard statements, generated live.
  • Manage Invoices / Manage Receipts — customer invoices and the payments received against them.
  • Refunds — refunds issued to customers, posted back through the accounts.
  • Tax Reports — tax collected and payable over a period.

Ledgers, journal, trial balance, P&L and balance sheet are derived views — they are calculated from your transactions rather than edited directly. An account that already has transactions cannot be deleted.

Accounting dashboard
Accounting dashboard
Chart of accounts
Chart of accounts
Transactions
Transactions
Income
Income
Expenses
Expenses
Journal entries
Journal entries
Cash book
Cash book
Bank book
Bank book
Ledger
Ledger
Trial balance
Trial balance
Profit & loss
Profit & loss
Balance sheet
Balance sheet
Invoices
Invoices
Receipts
Receipts
Refunds
Refunds
Tax reports
Tax reports

Suppliers

Finance → Suppliers

Who you buy from, what you owe them, and the contracts behind the rates.

  • Manage Suppliers — the master supplier list with contact, type and running balance.
  • Airlines — airline suppliers with code, contact and credit terms.
  • Hotels — hotel suppliers and their contracted rates.
  • Transport Vendors — bus, car and launch operators you buy from.
  • Visa Partners — agencies and consultants handling visa files on your behalf.
  • Contracts — signed rate agreements with validity dates and terms.
  • Supplier Ledger — statement per supplier: billed, paid, outstanding.
  • Supplier Reports — purchase volume and payable position over a period.
Suppliers
Suppliers
Airlines
Airlines
Transport vendors
Transport vendors
Visa partners
Visa partners
Contracts
Contracts
Supplier ledger
Supplier ledger
Supplier reports
Supplier reports

Agent Finance

Finance → Agent Finance

Travel agents sell on your behalf and earn commission. This is where that relationship is managed and settled.

  • Agents — the agent list with company, contact, commission rate and status.
  • Commissions — commission earned per booking, with paid/unpaid state.
  • Agent Invoices — invoices raised to or by agents, and their settlement.

Agents see exactly the same figures from their own login — see Agent Portal and the Travelio App (agent role).

Agents
Agents
Commissions
Commissions
Agent invoices
Agent invoices

Task Management

Work → Task Management

  • Manage Tasks — task with assignee, project, priority, due date and status.
  • Projects — group related tasks under a project with its own timeline.
  • Assignments — who is working on what right now.
  • Deadlines — everything due soon, sorted by urgency.
  • Calendar View — tasks and deadlines on a month calendar.
  • Kanban Board — drag tasks between columns as they progress.
Manage tasks
Manage tasks
Projects
Projects
Assignments
Assignments
Deadlines
Deadlines
Calendar view
Calendar view
Kanban board
Kanban board

Support Center

Work → Support Center

  • Manage Tickets — tickets raised by customers from the website, the portal or the app: subject, priority, assigned staff, status and the reply thread.
  • Manage Announcements — notices shown to customers, agents and staff in their portals.
  • Knowledge Base — the public help centre published on the website.
  • Manage KB Articles — write and categorise those help articles.
Support tickets
Support tickets
Announcements
Announcements
Knowledge base
Knowledge base
Manage KB articles
Manage KB articles

Reporting Center

Reports → Reporting Center

Nine reports, each with a date-range filter and Export to CSV.

ReportAnswers
Sales ReportsWhat did we sell, and for how much, in this period?
Visa ReportsApplications, approval rate and revenue by destination country
Package ReportsWhich tour packages actually sell
Flight ReportsTicket sales by airline and route
Hotel ReportsRoom nights, occupancy and hotel revenue
Agent ReportsSales and commission per agent
Customer ReportsWho buys, how often and how much
Financial ReportsIncome, expense and profit across the business
Custom ReportsBuild your own by picking the data range and columns
Sales reports
Sales reports
Visa reports
Visa reports
Agent reports
Agent reports
Customer reports
Customer reports
Financial reports
Financial reports
Custom reports
Custom reports

CMS — Your Website

Content & HR → CMS

The public site is fully editable from here — no code, no theme files.

  • Manage Pages — static pages (About, Privacy, Terms, Careers…) with a rich-text editor.
  • Manage Blogs — travel blog posts with cover image, category and SEO fields.
  • Manage Sliders — the home-page hero slides.
  • Manage Testimonials — customer quotes with photo and rating.
  • Manage Gallery — the photo gallery, grouped into albums.
  • Manage FAQs — the questions shown on the website FAQ page.
  • Manage Menus — build the header and footer navigation.
  • Visa Services, Flight Fare Deals, Transport Services — the service and offer blocks the website advertises.
  • Job Openings — vacancies on the careers page; applications land in CRM → Job Applications.
  • Content Blocks — reusable text/image blocks dropped into pages.
  • SEO Settings — meta title, description, keywords, social share image and analytics tags.
Manage pages
Manage pages
Manage blogs
Manage blogs
Manage sliders
Manage sliders
Testimonials
Testimonials
Gallery
Gallery
FAQs
FAQs
Menus
Menus
Visa services
Visa services
Flight fare deals
Flight fare deals
Transport services
Transport services
Job openings
Job openings
Content blocks
Content blocks
SEO settings
SEO settings

Human Resources

Content & HR → Human Resources

  • Staff Attendance — daily attendance per employee.
  • Leave Requests — requests submitted by staff, approved or rejected here.
  • Payslips — monthly payslips with earnings, deductions and net pay.

Staff members submit leave and view their own attendance and payslips from the Staff Portal.

Staff attendance
Staff attendance
Leave requests
Leave requests
Payslips
Payslips

Users, Roles & Permissions

Main → User Roles

Access control is a checkbox grid — every module can be granted Read, Create, Update and Delete independently.

  1. Roles → open or create a role, tick exactly what it may do, save.
  2. Users → add the person, assign the role, set active or suspended.

Ten roles ship configured: Super Admin, Admin, Manager, Operations Staff, Accountant, Support Agent, Agent, Customer, Staff and Tour Guide. Agent, Customer and Staff are portal roles — they land on their own panel instead of the admin dashboard.

Changing a role updates everyone already assigned to it. A user's menu shrinks or grows the next time they load a page.

Users
Users
Roles & permissions
Roles & permissions

Branches

System → Branches

If your agency has more than one office, register each branch here with its address and contact. Records can then be attributed to the branch that produced them.

Branches
Branches

Activity & Login Logs

System → Activity Logs / Login Activity

  • Activity Logs — every create, update and delete: who did it, to which record, when, and what changed. Recorded automatically for every module.
  • Login Activity — sign-in history with IP address, device and result.

Logging is automatic and cannot be bypassed from the UI, which makes it usable as an audit trail in a dispute.

Activity logs
Activity logs
Login activity
Login activity

Languages

System → Language

Travelio ships bilingual — English and Bangla — and every interface phrase is editable from this screen. Add a language, then translate the phrase list; users switch language from the top bar. Right-to-left languages are supported.

Language manager
Language manager

Settings

System → Settings

  • General Settings — agency name, logo, favicon (PNG/JPG/WebP — SVG is not accepted), contact details, currency, timezone and date format.
  • Booking Policy (inside General Settings) — Cancellation window: how many hours before the travel date a customer may still cancel a paid booking from the app or portal (default 24; past that only staff can cancel). Cancellation penalty: the percentage kept from the refund (default 10%); the rest is credited to the customer's wallet.
  • Mail Setting — SMTP host, port, encryption and the from-address used for every outgoing email.
  • API Security — the shared X-App-Key the mobile app sends on every request. A fresh install seeds a fixed default key and the app ships with the same value, so nothing to configure. Press Generate to rotate it, then rebuild the app with the new value in env/prod.json; clear it to switch the check off.
  • reCAPTCHA — Google reCAPTCHA site and secret keys to protect the public forms.
  • Social Login Settings — Google and Facebook login credentials.
  • Payout Setup — how agent commissions are paid out.
  • Database Backup — take a backup on demand and download it, or schedule one through the cron scheduler.

Third-party costs — hosting, domain, SMTP, SMS, payment gateways, Apple/Google developer accounts — are not included in the item price. You supply your own credentials in these screens.

General settings
General settings
Mail settings
Mail settings
reCAPTCHA
reCAPTCHA
Database backups
Database backups

The Public Website

Everything a visitor sees lives on the same install and is driven by the data you enter in the admin panel — packages, visa services, fare deals, blogs, testimonials and pages.

  • Home — hero slider, search, featured packages, services and testimonials.
  • Tour Packages — browse and filter packages by category, destination and price, then book.
  • Flight, Hotel and Transport Booking — search and request bookings online.
  • Visa Service and Track Your Visa — apply for a visa and follow its status with a reference number.
  • Hajj & Umrah Packages — the pilgrimage packages with full itinerary.
  • Track Booking — check any booking's status without logging in.
  • Become a Travel Agent — the agent application form that feeds your agent list.
  • Blog, Gallery, Testimonials, FAQ, Support Center — the content you publish from the CMS.
  • About, Contact, Careers, Privacy Policy, Terms & Conditions — the standard pages, all editable.
  • Sign Up / Login — customer accounts, which open the Customer Portal.
Home page
Home page
Tour packages
Tour packages
Flight booking
Flight booking
Hotel booking
Hotel booking
Transport booking
Transport booking
Visa service
Visa service
Track your visa
Track your visa
Hajj packages
Hajj packages
Umrah packages
Umrah packages
Track booking
Track booking
Become a travel agent
Become a travel agent
Travel blog
Travel blog
Photo gallery
Photo gallery
Testimonials
Testimonials
FAQ
FAQ
Support centre
Support centre
About us
About us
Contact us
Contact us
Careers
Careers
Privacy policy
Privacy policy
Terms & conditions
Terms & conditions
Sign up
Sign up
Customer login
Customer login
Admin sign-in
Admin sign-in

Customer Portal

Customers sign in on the website and get their own panel showing only their own records — enforced in the backend, not just hidden in the interface.

  • Dashboard — upcoming trips, outstanding balance and recent activity.
  • Bookings and Tour Bookings — everything they have booked, with status.
  • Flight Tickets — issued tickets, downloadable.
  • Visa Application — their application and where it has reached.
  • Travelers and Passport Info — the only records they can add and edit themselves.
  • Documents — files you have shared with them.
  • Invoices, Payments, Wallet — what they owe, what they paid, and their balance.
  • Support Tickets — raise and follow up an issue.
  • Notifications, Preferences, Profile — their own account settings.
Customer dashboard
Customer dashboard
Bookings
Bookings
Tour bookings
Tour bookings
Flight tickets
Flight tickets
Visa application
Visa application
Travelers
Travelers
Passport info
Passport info
Documents
Documents
Invoices
Invoices
Payments
Payments
Wallet
Wallet
Support tickets
Support tickets
Notifications
Notifications
Preferences
Preferences
Profile
Profile

Agent Portal

Travel agents get a panel scoped to their own production — the bookings they made, the customers they brought and the commission they earned.

  • Dashboard — sales, commission and wallet balance at a glance.
  • Bookings — every booking they created, with status and value.
  • Customers — the customers registered under them.
  • Commissions — earned commission, paid and pending.
  • Invoices and Transactions — their billing and settlement history.
  • Wallet — running balance and payouts.
  • Reports — their own sales and commission reports.
  • Profile — their company and contact details.

The same data is available on the move in the Travelio App (agent role).

Agent dashboard
Agent dashboard
Bookings
Bookings
Customers
Customers
Commissions
Commissions
Invoices
Invoices
Transactions
Transactions
Wallet
Wallet
Reports
Reports
Profile
Profile

Common Tasks

Every module in Travelio behaves the same way, so once you have learned one screen you have learned them all.

To do thisDo that
Add a recordOpen the module, click Add at the top right, fill the form, Save. The button only appears if your role has create permission.
Edit or deleteIn the list, use the menu on the row → Edit or Delete. Deletes ask for confirmation.
Find a recordEvery list has a search box, sortable columns and paging.
Filter a reportPick a date range at the top of the report, then Export CSV.
Give a colleague accessUsers → Roles, tick the permissions, then assign the role to the user.
Change the website contentCMS — pages, blogs, sliders, testimonials, gallery, FAQs and menus.
See who changed somethingActivity Logs.

Some records refuse to delete — a Hajj package with pilgrims, an account with transactions, a hotel with bookings. The system tells you which link is blocking it. Remove the dependency first.

Troubleshooting

SymptomFix
500 error after uploadCheck storage/ and bootstrap/cache/ are writable, and that APP_KEY is set (php artisan key:generate).
Blank white pagePHP version below 8.2, or a missing extension. Check your host's PHP selector and error log.
Database connection refusedWrong DB_* values in .env, or the cPanel prefix is missing from the database and user name.
Assets or images not loadingRun php artisan storage:link, and confirm APP_URL matches the real domain, including https.
Changes to .env do nothingConfig is cached. Run php artisan optimize:clear.
Emails never arriveVerify the SMTP values under Settings → Mail, and make sure the queue worker or cron is running.
404 on every page except homeApache mod_rewrite is off, or .htaccess was not uploaded (it is a hidden file).
A user cannot see a menuTheir role lacks the read permission for it — Users → Roles.

Support & Updates

Item support covers installation help, bug fixes and answering questions about the included features. It does not cover customisation, third-party service configuration, or hosting problems on your server.

When reporting a problem, include your PHP version, the exact error message and the steps that produced it — it gets you an answer far faster.

Costs for hosting, domains, payment gateways, SMS, email services and Apple/Google developer accounts are not included in the item price and must be arranged separately.

Changelog

Every release is listed here, newest first. The same history ships inside the package as WebSourceCode/CHANGELOG.md (web) and AppSourceCode/CHANGELOG.md (app), so you can diff exactly what changed before upgrading.

Version 1.1.0 — September 2026

Security

  • Removed the customer wallet top-up API endpoint that credited a wallet with no payment taken. A wallet is now funded only by a confirmed payment or a staff-recorded adjustment.
  • Wallet and agent-withdrawal balance checks run inside a database transaction with a row lock, so two concurrent payments can no longer both pass the check and overdraw.
  • Visa applicant documents (passport scans, IDs) moved from the public disk to a private one and are served only through authenticated, permission-checked download routes. Existing installs: run php artisan travelio:move-private-documents once after upgrading.
  • SVG is no longer accepted for the site logo and favicon (stored-XSS risk from inline rendering).
  • The image-upload pipeline checks the file extension against an explicit whitelist instead of building a PHP function name from it.
  • Android release builds fail with a clear message when android/key.properties is missing, instead of silently producing a debug-signed bundle the Play Store rejects.

Fixed

  • Uploading a logo, favicon or any file through an admin form could fail with "something went wrong" — the request sanitiser was coercing uploaded files to strings.
  • Wallet balance is read from the latest ledger row instead of replaying a customer's full history; total held across all wallets is one SQL aggregate.

Changed

  • Booking cancellation now respects an admin-configurable window and penalty — Settings → General Settings → Booking Policy.
  • Removed the unused Inertia/Vue layer and laravel/breeze; upgraded intervention/image to 3.x; one jQuery (3.7.1) and one Select2 (4.1) build in the admin panel.
  • Android release builds ship with R8 code shrinking enabled; --obfuscate --split-debug-info documented in the app README.
  • The optional multi-tenant SaaS module (tenants, plans, subscriptions, subscription payment gateways) is no longer part of this edition. Travelio installs and runs as a single-agency ERP; stancl/tenancy is no longer a dependency.
Version 1.0.0 — Initial release
  • Tour packages, visa management, Hajj & Umrah, hotel/flight/transport booking, additional services.
  • CRM, double-entry accounting, suppliers, agent commission, task management, support center, reports.
  • CMS website builder, HR, role-based access; customer, agent and staff portals.
  • Optional multi-tenant SaaS mode with plans, subscriptions and 12 payment gateways.
  • Flutter app for customers, agents and tour guides with push notifications.
  • Guided web installer; four languages with RTL/LTR support.

Upgrading from 1.0.0: replace the source files, run composer install --no-dev, php artisan migrate --force, php artisan travelio:move-private-documents and php artisan optimize:clear. Then review the new Booking Policy settings.