Skip to main content

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

  1. Register using email and password, or via Google/Facebook OAuth.
  2. Provide first name, last name, email, and phone number at registration.
  3. Verify your email address before accessing booking features.
  4. Log in with email and password; use Forgot password to receive a reset link.
  5. Enable optional two-factor authentication (2FA) for added security.
  6. Update personal profile information and upload a profile picture.
  7. Change your account password from the profile page.
  8. Delete your account from the profile settings.

Package discovery and browsing

  1. Browse all published tour packages from the public packages listing.
  2. Search packages by keyword.
  3. Filter packages by category, destination, price range, and rating.
  4. Sort results by price, rating, or date.
  5. View a full package detail page including description, itinerary, images, included/excluded items, meeting point, and requirements.
  6. View featured packages surfaced on the homepage.
  7. Browse packages grouped by destination.

Booking

  1. Check availability for a specific date before booking.
  2. Select the number of adult, child, and infant participants.
  3. Submit traveler detail forms for each participant.
  4. Apply a coupon code at checkout to receive a discount.
  5. Choose a payment method and complete payment via the checkout flow.
  6. Receive a booking confirmation email after successful payment.
  7. View your full booking history with current status for each booking.
  8. Cancel an eligible booking from the booking list.

Communication and notifications

  1. Send messages to a guide via the in-platform chat, scoped to a specific package.
  2. Receive in-app notifications for booking status changes.
  3. Manage your notification preferences (email, SMS, push).

Reviews

  1. Submit a star rating (1–5) and written review for a completed booking.
  2. Upload photos with your review.
  3. View reviews left by other travelers on each package page.

Guide capabilities

Onboarding and profile

  1. Register as a guide (vendor) using the standard registration flow, then request vendor status.
  2. Complete KYC verification by uploading required identity documents before publishing packages.
  3. Update business information, profile picture, and public guide profile.
  4. Add and manage individual guide profiles associated with your account.

Package management

  1. Create a tour package with title, rich-text description, category, and destination.
  2. Upload multiple images and videos for a package.
  3. Set package pricing, including support for multiple pricing tiers.
  4. Manage an availability calendar and set maximum traveler capacity per date.
  5. Specify included items, excluded items, meeting points, and participant requirements (fitness level, age restrictions, etc.).
  6. Save a package as a draft before submitting for admin review.
  7. Submit a package for admin approval; the package enters a pending state.
  8. Edit a package after approval; edits re-enter the review queue if required.
  9. Apply a discount to a specific package.
  10. Request featured listing status for a package.
  11. Manage SEO metadata (title, description, meta keywords) for each package.
  12. Use AI-assisted tools to generate package descriptions and images.
  13. Delete individual packages or multiple packages at once.

Booking management

  1. View all incoming booking requests for your packages.
  2. Accept or reject a booking request.
  3. Mark a booking as complete after the tour has taken place.
  4. View a booking calendar showing confirmed bookings by date.
  5. Search and filter your booking list.

Financial management

  1. View your earnings dashboard with transaction history.
  2. Request a payout via supported payout gateways (Flutterwave, Paystack, bank transfer, and others).
  3. Confirm payout requests and track payout status.
  4. Purchase or renew a subscription plan that governs your listing limits and commission rate.
  5. Enable or disable specific payment gateways you accept from travelers.

Communication

  1. Receive and reply to traveler messages in the in-platform chat.
  2. Set a nickname for a chat conversation.
  3. Delete a chat conversation.
  4. Reply to traveler reviews posted on your packages.

Admin capabilities

User and guide management

  1. View, search, and filter all registered user accounts.
  2. Suspend or reinstate user accounts.
  3. Reset user passwords.
  4. Review guide KYC documents and approve or reject guide applications.
  5. Request additional documentation from a guide applicant.
  6. View a full audit log of user activity.

Package moderation

  1. Review all packages submitted for approval.
  2. Approve or reject a package submission.
  3. Edit package content to correct inaccuracies.
  4. Suspend a published package that violates platform guidelines.
  5. Manage package categories and destinations.

Financial administration

  1. Configure platform commission rates per guide tier or plan.
  2. View revenue, commission, and payout reports.
  3. Process or approve guide payout requests.
  4. Configure and manage payment gateways available on the platform.
  5. Set up and manage subscription plans for guides.
  6. Create and manage coupon codes.

Content and system configuration

  1. Manage site-wide content (homepage, blog posts, static pages).
  2. Customize email notification templates.
  3. Manage multi-language translations.
  4. Configure system settings (maintenance mode, feature flags, etc.).
  5. 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.

Build docs developers (and LLMs) love