/admin (the prefix is configurable in Basic Control).
Default admin credentials after seeding:
- Email:
[email protected] - Password: set during initial setup or check
database/seeders/AdminSeeder.php
What admin can control
Basic Control
Site title, timezone, currency symbol, pagination sizes, admin URL prefix, and brand colors (primary + secondary) with live preview.
Appearance
Home page variation (Quest, Elite, or Voyage), tour listing layout, and page themes.
Manage content
Hero section, destinations, about page, footer content, and all homepage sections.
Manage menu
Navigation links for all header and footer menus.
Package approval
Review packages submitted by guides. Approve, hold, or reject each one before it goes live.
KYC management
Approve or reject guide identity verification documents.
User management
View, create, edit, and deactivate traveler and guide accounts.
Bookings
View all bookings across all guides with status and payment details.
Payment gateways
Configure and enable/disable payment methods (Stripe, PayPal, Flutterwave, etc.).
Email / SMS config
SMTP settings, Twilio, and Infobip credentials for transactional messages.
Notification templates
Edit the content of all email, SMS, and push notification templates.
Blog
Full blog management — create, edit, categorize, and publish posts.
Languages
Add translation languages and edit individual translation keys.
SEO
Set meta title, description, and Open Graph tags per page.
Basic Control — colors and site identity
Admin → Settings → Basic Control is where you set the two brand colors that drive the entire frontend color scheme.Live preview
The Basic Control form includes color pickers that use a live preview. As you drag the picker, the page updates in real time so you can see exactly how the colors will look before saving.How saved colors reach the frontend
When you click Save in Basic Control, thebasicControlUpdate method in BasicControlController runs two things:
- It saves
primary_colorandsecondary_colorto thebasic_controlsdatabase table. - It calls
generateDynamicCss(), which writes a newpublic/assets/themes/adventra/css/dynamic-colors.css.
:root (light) and html[data-theme="dark"]. Every button, link, badge, and sidebar active state in tripfy.css references --tf-primary and --tf-secondary, so the entire UI updates on the next page load.
See Theme system for the full structure of the generated CSS.
Package approval workflow
Guides submit packages for review. The admin sees them listed under Admin → Packages with a status of Pending.Review the package
Click View to open the full package detail, including description, pricing, itinerary, and photos.
Take action
Choose one of:
- Approve — the package becomes publicly visible
- Hold — keeps it pending for further review
- Reject — the guide is notified and the package is not listed
KYC management
Guides must pass identity verification before they can receive payouts. Under Admin → KYC Management, you see all submitted verification documents.- Click Approve to mark the guide as verified — this unlocks withdrawal features for them.
- Click Reject to decline the submission and send the configured rejection notification.
User management
Admin → Users lists all traveler and guide accounts. You can:- Filter by role (
user,guide) and status (active / inactive) - Edit account details including name, email, phone, and role
- Activate or deactivate an account without deleting it
- View a user’s booking history
Notification templates
Admin → Notification Templates lets you edit the content of every automated message the system sends. Templates exist for:- Booking confirmation, cancellation, and completion
- Package approval and rejection
- KYC approval and rejection
- Password reset
- Welcome email
{{name}}, {{booking_id}}) documented in the template editor.
After installation, the NotificationSeeder seeds all default templates with @tripfy.africa sender addresses:
Payment gateway configuration
Each payment gateway has its own form under Admin → Payment Methods. Enable a gateway by toggling it on and entering your API credentials. The checkout page shows only gateways that are both enabled and have valid credentials configured.Email and SMS configuration
Admin → Email Configuration sets SMTP credentials. Admin → SMS Configuration sets Twilio or Infobip credentials. These are separate from push notifications, which are configured under Admin → Settings → Push Notification using your Firebase project credentials.Admin routes structure
All admin routes are defined inroutes/admin.php and are protected behind admin authentication middleware. The route prefix defaults to admin but is configurable via Basic Control → Admin URL Prefix.
The dangerous
/trans route that previously allowed unauthenticated database modifications has been removed. The /queue-work and /schedule-run utility routes are now protected behind admin authentication. See the security section in INSTALL.md for the full list of security fixes applied.