Grants & Packages

Matchpal uses a prepaid billing model where students purchase packages that create grants, which are then consumed through sessions and revisions.

The Billing Model

The flow works like this:

Package Purchase → Grant Created → Hours Allocated → Services Consumed
  1. Student purchases a package (e.g., "10 hours of tutoring")
  2. Matchpal creates a grant with that balance
  3. When matched, hours are allocated to relationships
  4. As sessions occur, hours are consumed from the allocation

Packages

Packages are the products students purchase.

Package Components

Each package defines:

  • Service Type - Tutoring, advising, or both
  • Quantity - Hours, sessions, or revisions included
  • Price - What the student pays
  • Validity - Expiration period, if any

Common Package Types

PackageTypeQuantityUse Case
Tutoring StarterTutoring5 hoursTry tutoring
Tutoring StandardTutoring10 hoursExam preparation
Tutoring PremiumTutoring20 hoursComprehensive prep
Advising PackageAdvising3 hoursApplication guidance
Combo BundleBoth8 hoursMixed services

Package Purchase

Students typically purchase through:

  • External WooCommerce shop
  • Automatic fulfillment via webhook
  • Grant created without manual intervention

See Integrations for the technical flow.

Grants

Grants represent available service credit on a student's account.

Grant Properties

PropertyDescription
StudentWho owns the grant
TypeTutoring, advising, or universal
TotalOriginal amount
UsedConsumed through sessions
HeldReserved for active relationships
AvailableTotal minus used and held

Grant Calculation

Available = Total - Used - Held

Example:

  • Total: 10 hours
  • Used: 3 hours (completed sessions)
  • Held: 4 hours (active relationship allocation)
  • Available: 3 hours (for new relationships)

Multiple Grants

Students can have multiple grants:

  • From different purchases
  • For different service types
  • With different expiration dates

The system aggregates by service type when displaying balances.

Grant Holds

When a relationship is created, hours are "held."

Why Holds Exist

Holds ensure:

  • Hours are reserved for the relationship
  • Provider knows capacity is guaranteed
  • Student can't over-allocate

How Holds Work

  1. Relationship created with 5-hour allocation
  2. 5 hours marked as "held"
  3. Available balance decreases by 5
  4. As sessions occur, "held" converts to "used"
  5. When relationship ends, unused hold releases

Hold Release

Holds release when:

  • Relationship completed → unused returns to available
  • Relationship cancelled → full amount returns
  • Relationship declined → full amount returns
  • Admin manually releases

Usage Tracking

Session Consumption

Each completed session:

  1. Duration recorded
  2. Deducted from relationship allocation
  3. "Used" increases
  4. "Held" decreases (within that relationship)

Revision Consumption

Each completed revision:

  1. Fixed or time-based amount
  2. Deducted similarly to sessions
  3. Typically used for advising grants

Real-Time Balance

Students see current state:

  • Total purchased
  • Used to date
  • Currently held
  • Available for new work

Viewing Balances

For Students

Students see:

  • Current balance summary
  • Breakdown by service type
  • Usage history
  • Holds by relationship

For Providers

Providers see:

  • Hours allocated to their relationships
  • Hours remaining with each student
  • (Not other student grant info)

For Admins

Admins see:

  • Any student's full grant picture
  • Platform-wide grant statistics
  • Usage trends and patterns
  • Ability to adjust any grant

Managing Grants

Adding a Grant

Admins can manually add grants:

  1. Open student profile
  2. Navigate to grants/billing
  3. Click "Add Grant"
  4. Select type and amount
  5. Add reference note
  6. Save

Adjusting a Grant

Modify existing grants:

  1. Find the grant
  2. Click "Adjust"
  3. Increase or decrease
  4. Document reason
  5. Save

Grant Expiration

If grants have validity periods:

  • System tracks expiration dates
  • Expired grants no longer available
  • Warning notifications before expiry
  • Admin can extend if policy allows

Special Scenarios

Insufficient Balance

If student needs services but balance is zero:

  • Cannot create new relationships
  • Existing relationships may continue
  • Student prompted to purchase more
  • Admin can add grant manually if warranted

Over-Allocation

System prevents allocating more than available:

  • Relationship creation checks balance
  • Allocation adjustment checks balance
  • Clear errors if insufficient

Refunds

If refund is needed:

  1. Verify unused hours
  2. Reduce grant accordingly
  3. Process payment refund separately
  4. Document adjustment

Package Upgrades

To add more hours:

  • Purchase additional package
  • New grant added to account
  • Combines with existing balance
  • Or admin manually adds grant

Reporting

Usage Reports

Track consumption:

  • Hours used per period
  • Usage by service type
  • Usage by student
  • Usage by provider

Financial Reports

For business metrics:

  • Packages sold
  • Revenue by package type
  • Outstanding balances
  • Consumption velocity

Was this page helpful?