Freelance Tutor Marketplace
A web marketplace where parents find tutors by subject, lesson rate and availability, book lessons and pay online. Tutors manage their calendars and earnings, while the platform deducts a commission and schedules weekly payouts.
Audience: Parents booking tutoring for their children, freelance tutors and marketplace administrators.
User roles
- Parent: Search and compare tutors; Book and pay for lessons; View and cancel own bookings; Review completed lessons
- Tutor: Manage profile, subjects and lesson rates; Set availability and calendar exceptions; View and manage own lessons; Complete payout onboarding; View earnings and payout status
- Administrator: Approve or suspend tutor profiles; Manage subjects and commission settings; Resolve booking and payment issues; Moderate reviews; Monitor payouts
Features
- Accounts and permissions. Provide email-based accounts with parent, tutor and administrator permissions and ownership checks.
- Tutor profiles. Publish tutor biographies, subjects, lesson rates and profile photos after administrator approval.
- Tutor discovery. Filter approved tutors by subject, lesson rate and bookable availability.
- Availability management. Let tutors define recurring availability and exceptions using explicit time zones.
- Booking and checkout. Temporarily reserve a lesson slot during checkout and confirm it only after verified payment without allowing overlapping bookings.
- Cancellations and refunds. Apply agreed cancellation rules, release cancelled slots and track refund outcomes.
- Commission and weekly payouts. Record the commission and tutor share for each payment and issue weekly payouts for eligible completed lessons.
- Tutor earnings dashboard. Show tutors completed lesson earnings, deductions, pending balances and payout history.
- Email and SMS notifications. Send booking confirmations, cancellation notices and scheduled lesson reminders to parents and tutors.
- Verified lesson reviews. Allow one parent review per completed booking and provide administrator moderation.
- Marketplace operations. Provide an administrator panel for tutor approvals, booking support, refunds and failed payout investigation.
- External calendar synchronization. Synchronize tutor bookings and external busy periods with a connected calendar to reduce scheduling conflicts.
Data
- User: Account identity, role, contact details, time zone and notification preferences.
- TutorProfile: Public biography, subjects, lesson rate, photo and approval status.
- Subject: Administrator-managed subject taxonomy linked to tutor profiles.
- AvailabilityRule: Recurring bookable windows and dated exceptions in the tutor's time zone.
- Booking: Parent, tutor, subject, lesson interval, temporary reservation expiry and lifecycle status.
- Payment: Provider references, payment and refund states, and the commission policy captured at checkout.
- LedgerEntry: Immutable records of tutor earnings, platform commission, refunds and payout allocations.
- Payout: Tutor, weekly batch, allocated earnings, provider reference and settlement or failure status.
- Review: Booking-linked rating, review text and moderation status.
- Notification: Recipient, channel, scheduled send time, delivery status and deduplication key.
- CalendarConnection: Tutor's external calendar authorization, encrypted credentials and synchronization cursor.
Integrations
- Marketplace payments and tutor payouts (Stripe Connect or Adyen for Platforms): Choose a provider supporting the launch countries, tutor identity verification, commissions and weekly payouts; verify webhook signatures and reconcile payments, refunds, disputes and payout failures idempotently.
- Transactional email (Amazon SES, Postmark or SendGrid): Send confirmations and reminders asynchronously; process bounce and delivery webhooks and avoid duplicate sends.
- SMS reminders (Twilio or Vonage): Validate phone numbers, respect consent and messaging restrictions, handle delivery callbacks and provider rate limits.
- External calendars, later phase (Google Calendar or Microsoft Outlook): Use OAuth for booking export and busy-time import; handle token revocation, webhook expiry, incremental synchronization and API limits.
Background jobs
- Expire unpaid booking reservations and release held slots.
- Send email and SMS reminders in each recipient's time zone.
- Mark elapsed lessons as awaiting completion or dispute resolution according to the agreed policy.
- Calculate weekly payout eligibility, submit payouts and reconcile settlement results.
- Retry transient notification failures and reconcile missed payment webhooks.
- Synchronize connected calendars and renew subscriptions in the later phase.
Non-functional requirements
- Booking integrity: Enforce non-overlapping tutor bookings atomically, including simultaneous checkout attempts and daylight-saving transitions.
- Financial reliability: Use immutable financial records, idempotent payment processing and reconciliation so retries cannot duplicate charges, refunds or payouts.
- Security: Enforce record ownership, protect administrator actions, encrypt integration credentials and keep card data with the payment provider.
- Privacy: Minimize children's personal data, restrict access to contact details and define retention and deletion rules that preserve required financial records.
- Operations: Use managed hosting, automated deployments, database backups and alerts for failed payments, overdue payouts and reminder delivery failures.
Suggested stack a suggestion, not a decision
- A backend framework with transactional APIs and a built-in administrative interface.
- A relational database such as PostgreSQL for bookings, permissions and financial records.
- A durable job queue and scheduler, optionally backed by Redis.
- An object storage service compatible with S3 for profile photos.
- A web application framework with server-rendered tutor pages and authenticated parent and tutor dashboards.
- Managed cloud infrastructure with CI/CD, centralized logs and error monitoring.
Assumptions
- The initial release supports one-to-one lessons with a fixed duration and no recurring booking packages.
- The marketplace launches in one country with one settlement currency.
- Parents hold accounts; children do not sign in or communicate directly through the platform.
- Lesson delivery happens outside the platform; built-in video and chat are excluded.
- Tutors use provider-hosted identity verification and payout onboarding.
- The commission policy is centrally configured and captured on each booking.
- Only completed, undisputed lessons are eligible for weekly payouts.
- External calendar synchronization is deferred until after the initial release.
Open questions to answer before development
- Which launch country and currency must the payment provider support, and who is legally responsible for collecting payments and handling disputes?
- What are the cancellation, rescheduling, tutor absence and parent no-show rules, including refund eligibility?
- How is lesson completion confirmed, and how long may a parent dispute a lesson before its earnings become payout-eligible?
- How is commission calculated, and who bears payment processing fees, refunds and chargebacks?
- What happens if a refund or chargeback arrives after the tutor has already been paid?
- Are lessons online, in person or both, and must discovery include location or travel distance?
- Are lesson durations fixed, and are buffers, booking notice periods or recurring lessons required?
- What tutor checks are required before publication, particularly where tutors work with children?
- Can parents manage multiple children, and what child information must tutors see?
- What booking volume, tutor count and peak concurrent checkout demand should the first release support?