Functional requirements
This page lists the functional capabilities the Tripfy Africa platform must provide. Requirements are organized by the role that owns or initiates the action.Traveler capabilities
Authentication and account
- Register using email and password, or via Google/Facebook OAuth.
- Provide first name, last name, email, and phone number at registration.
- Verify your email address before accessing booking features.
- Log in with email and password; use Forgot password to receive a reset link.
- Enable optional two-factor authentication (2FA) for added security.
- Update personal profile information and upload a profile picture.
- Change your account password from the profile page.
- Delete your account from the profile settings.
Package discovery and browsing
- Browse all published tour packages from the public packages listing.
- Search packages by keyword.
- Filter packages by category, destination, price range, and rating.
- Sort results by price, rating, or date.
- View a full package detail page including description, itinerary, images, included/excluded items, meeting point, and requirements.
- View featured packages surfaced on the homepage.
- Browse packages grouped by destination.
Booking
- Check availability for a specific date before booking.
- Select the number of adult, child, and infant participants.
- Submit traveler detail forms for each participant.
- Apply a coupon code at checkout to receive a discount.
- Choose a payment method and complete payment via the checkout flow.
- Receive a booking confirmation email after successful payment.
- View your full booking history with current status for each booking.
- Cancel an eligible booking from the booking list.
Communication and notifications
- Send messages to a guide via the in-platform chat, scoped to a specific package.
- Receive in-app notifications for booking status changes.
- Manage your notification preferences (email, SMS, push).
Reviews
- Submit a star rating (1–5) and written review for a completed booking.
- Upload photos with your review.
- View reviews left by other travelers on each package page.
Guide capabilities
Onboarding and profile
- Register as a guide (vendor) using the standard registration flow, then request vendor status.
- Complete KYC verification by uploading required identity documents before publishing packages.
- Update business information, profile picture, and public guide profile.
- Add and manage individual guide profiles associated with your account.
Package management
- Create a tour package with title, rich-text description, category, and destination.
- Upload multiple images and videos for a package.
- Set package pricing, including support for multiple pricing tiers.
- Manage an availability calendar and set maximum traveler capacity per date.
- Specify included items, excluded items, meeting points, and participant requirements (fitness level, age restrictions, etc.).
- Save a package as a draft before submitting for admin review.
- Submit a package for admin approval; the package enters a pending state.
- Edit a package after approval; edits re-enter the review queue if required.
- Apply a discount to a specific package.
- Request featured listing status for a package.
- Manage SEO metadata (title, description, meta keywords) for each package.
- Use AI-assisted tools to generate package descriptions and images.
- Delete individual packages or multiple packages at once.
Booking management
- View all incoming booking requests for your packages.
- Accept or reject a booking request.
- Mark a booking as complete after the tour has taken place.
- View a booking calendar showing confirmed bookings by date.
- Search and filter your booking list.
Financial management
- View your earnings dashboard with transaction history.
- Request a payout via supported payout gateways (Flutterwave, Paystack, bank transfer, and others).
- Confirm payout requests and track payout status.
- Purchase or renew a subscription plan that governs your listing limits and commission rate.
- Enable or disable specific payment gateways you accept from travelers.
Communication
- Receive and reply to traveler messages in the in-platform chat.
- Set a nickname for a chat conversation.
- Delete a chat conversation.
- Reply to traveler reviews posted on your packages.
Admin capabilities
User and guide management
- View, search, and filter all registered user accounts.
- Suspend or reinstate user accounts.
- Reset user passwords.
- Review guide KYC documents and approve or reject guide applications.
- Request additional documentation from a guide applicant.
- View a full audit log of user activity.
Package moderation
- Review all packages submitted for approval.
- Approve or reject a package submission.
- Edit package content to correct inaccuracies.
- Suspend a published package that violates platform guidelines.
- Manage package categories and destinations.
Financial administration
- Configure platform commission rates per guide tier or plan.
- View revenue, commission, and payout reports.
- Process or approve guide payout requests.
- Configure and manage payment gateways available on the platform.
- Set up and manage subscription plans for guides.
- Create and manage coupon codes.
Content and system configuration
- Manage site-wide content (homepage, blog posts, static pages).
- Customize email notification templates.
- Manage multi-language translations.
- Configure system settings (maintenance mode, feature flags, etc.).
- View system performance metrics and error reports.
Cross-role capabilities
Notifications (all roles)
- The system sends email notifications for: registration confirmation, booking creation, booking status changes, payment confirmation, review requests, and payout updates.
- Users receive in-app push notifications for real-time events.
- Notification delivery is tracked; users can opt out of non-critical notifications.
Support tickets (travelers and guides)
- Submit a support ticket with an optional file attachment.
- View ticket history and current status.
- Reply to an open ticket.
- Close a resolved ticket.
- Download ticket attachments.
The API surfaces a subset of these capabilities over authenticated REST endpoints. See the API reference for endpoint details.