Large Services: Complete Protection & Payment Framework
Enterprise-grade task management with 8-stage lifecycle, escrow protection, dispute resolution, budget flexibility, and team delegation.
ServiceRequest::class • TutorAssignment::class • Platform Fee: 20%
1. What Are Large Services?
Large Services are complex, high-value tasks requiring expert assignment, milestone tracking, and escrow-protected payments. Unlike Small Services (AI-powered instant answers), Large Services involve:
| Feature | Small Services | Large Services |
|---|---|---|
| Service Type | Quick Q&A, instant help | Complex projects, research, coding, tutoring |
| Processing | AI-powered (OpenAI) | Human expert assignment |
| Lifecycle | 3 statuses (pending → answered → completed) | 8 statuses (full workflow) |
| Payment | Direct charge | Escrow (30-day freeze) |
| Disputes | Simple refund | 6-type dispute system with evidence |
| Delegation | None | Full team delegation with 60+ permissions |
Code Reference: ServiceRequest::$requestSizeLarge = 'large' (app/Models/ServiceRequest.php:63)
2. Request Lifecycle (8 Official Statuses)
Every Large Service request follows this precise state machine:
2.1 Service Request Statuses
Source: app/Models/LargeServiceStatus.php
-
pending – Request submitted, awaiting expert proposals
- Student can view proposals, modify budget, or cancel
- System sends notifications to qualified experts
-
assigned – Student accepted a proposal, expert is preparing to start
- Payment captured and moved to escrow
- Expert gains access to workspace and conversation
-
submitted – Expert delivered initial solution
- Student has 48 business hours to review
- Can approve, request revision, or open dispute
-
in_review – Student is evaluating the delivered work
- Auto-approval after 48h if no action
- Evidence (files, messages) locked for dispute protection
-
resubmitted – Expert delivered revision after feedback
- Same review window (48h)
- Revision count tracked for quality metrics
-
completed – Student approved the work
- Funds released from escrow to expert wallet
- Platform fee (20%) deducted
- Referral commission (10%) processed if applicable
-
resolved – Dispute was settled
- Partial or full refund processed
- Remaining funds (if any) released to expert
-
cancelled – Request cancelled before completion
- Smart refund calculation based on work delivered
- Cancellation fees may apply (see Cancellation section)
2.2 Expert Assignment Statuses
Source: app/Models/TutorAssignment.php:27-34
const STATUS_PENDING = 'pending'; // Awaiting student decision
const STATUS_AWAITING_PAYMENT = 'awaiting_payment'; // Proposal accepted, payment pending
const STATUS_AWAITING_STUDENT_DECISION = 'awaiting_student_decision'; // Expert delivered
const STATUS_IN_PROGRESS = 'in_progress'; // Active work phase
const STATUS_REVISION_REQUESTED = 'revision_requested'; // Student wants changes
const STATUS_COMPLETED = 'completed'; // Final approval
const STATUS_REJECTED = 'rejected'; // Proposal declined
const STATUS_CANCELLED = 'cancelled'; // Assignment terminated
3. Proposal System
Experts submit competitive proposals with pricing, timeline, and approach. Students compare and select:
3.1 Proposal Statuses
- pending: Expert submitted, awaiting student review
- accepted: Student chose this proposal, payment processing begins
- rejected: Student declined this proposal
3.2 Proposal Contents
Each proposal includes:
- Proposed Price: Expert's quote (student sees final price including 20% platform fee)
- Estimated Delivery: Timeline (validated: min 1 hour, max 30 days)
- Approach: Text explaining methodology
- Expert Profile: Rating, completed tasks, specializations
3.3 Auto-Assignment
If expert pressure is high (workload > 80%), system may auto-assign to the highest-rated available expert to maintain SLA.
Code: app/Services/ExpertPressure/ExpertLoadCalculator.php
4. Escrow & Financial Protection
All payments are held in secure escrow until delivery confirmation:
4.1 Escrow Flow
Student Payment → Platform Escrow (frozen 30 days) → Expert Wallet (available after release)
↓
Auto-release after 100 days (safety mechanism)
4.2 Configuration
Source: app/Services/LargeService/LargeServiceFinancialProcessor.php:20-22
freeze_period_minutes: 43,200 // = 30 days (production)
SAFETY_PERIOD: 100 days // Maximum hold duration
4.3 Release Triggers
- Student Approval: Manual approval → immediate release
- Auto-Approval: 48 business hours after delivery with no dispute
- Safety Release: After 100 days (prevents indefinite hold)
4.4 Release Code Example
if ($serviceRequest->status === 'completed') {
$earning->update([
'status' => 'available',
'release_reason' => 'task_completed',
'released_at' => now()
]);
}
if ($earning->created_at <= now()->subDays(100)) {
$earning->update([
'status' => 'available',
'release_reason' => 'auto_safety_release_100d'
]);
}
Source: app/Services/LargeService/LargeServiceFinancialProcessor.php:159-186
5. Dispute System (6 Official Types)
When issues arise, either party can open a dispute with evidence. System provides structured resolution:
5.1 Dispute Types & Refund Percentages
Source: app/Models/LargeService/Dispute/ServiceDispute.php:44-49
| Type | Default Refund % | Description |
|---|---|---|
quality_issue |
50% | Delivered work doesn't meet quality standards |
deadline_missed |
30% | Expert failed to deliver on agreed timeline |
scope_disagreement |
70% | Work doesn't match original request scope |
payment_issue |
40% | Billing or charge disputes |
communication_issue |
20% | Expert unresponsive or unprofessional |
other |
40% | Other issues not covered above |
5.2 Dispute Lifecycle (8 Statuses)
- pending: Dispute opened, awaiting expert response
- awaiting_expert_response: Expert has 24h to respond
- expert_accepted: Expert agreed to proposed resolution
- escalated_to_admin: Requires platform mediation
- under_review: Admin investigating with evidence
- awaiting_response: Waiting for party to respond
- resolved: Decision made, funds distributed
- closed: Dispute closed (no action)
5.3 Evidence Requirements
System automatically collects:
- All conversation messages (timestamps preserved)
- File uploads (immutable after submission)
- Delivery confirmations
- Revision requests and responses
- Budget change history
6. Budget Change Requests
When project scope expands, either party can request budget adjustment:
6.1 Who Can Request?
- Expert-initiated: Additional work discovered, requires more budget (5% fee applies)
- Student-initiated: Student wants to add features (3% fee applies)
6.2 Budget Change Fees
Source: app/Models/LargeService/Budget/BudgetChangeRequest.php:78-79
const FEE_PERCENTAGE_EXPERT_REQUEST = 5; // Expert pays 5% on increase
const FEE_PERCENTAGE_STUDENT_REQUEST = 3; // Student pays 3% on increase
6.3 Validation Rules
- Amount: min: original_budget × 0.1, max: original_budget × 3
- Validity: 48 hours to accept/reject
- Limit: Max 3 budget changes per request
6.4 Statuses
- pending: Awaiting other party approval
- approved: Accepted, payment processed
- rejected: Declined, project continues with original budget
- expired: No response within 48h
7. Team Delegation System
Experts can delegate tasks to collaborators with granular permission control:
7.1 Delegation Roles
- Primary Expert (Owner): Full control, receives payment
- Collaborator: Assigned specific permissions, receives compensation share
- Observer: View-only access
7.2 Permission Types (60+ Available)
Sample permissions:
'view_request_details'
'submit_delivery'
'respond_to_revision'
'upload_files'
'send_messages'
'request_budget_change'
'accept_proposal' // Only owner by default
'cancel_request' // Only owner
7.3 Compensation Distribution
Owner sets compensation percentage for each collaborator:
- Total collaborator shares cannot exceed 70% of expert earnings
- Owner must retain at least 30%
- Compensation calculated AFTER platform fee deduction
Example:
Service Price: $1,000
Platform Fee (20%): -$200
Net Expert Earnings: $800
Owner: 50% = $400
Collaborator A: 30% = $240
Collaborator B: 20% = $160
8. Fees & Commission Structure
8.1 Platform Fee: 20%
CRITICAL CORRECTION: The platform fee is 20%, NOT 10-15% as previously stated.
Source: config/finance.php:13
'default_platform_fee_percent' => env('DEFAULT_PLATFORM_FEE_PERCENT', 20),
8.2 Complete Commission Breakdown
| Component | Percentage | Calculation Base |
|---|---|---|
| Platform Fee | 20% | Total payment (before VAT) |
| Referral Commission | 10% | Net earnings (after platform fee) |
| Ambassador Commission | Varies | Net profit (after all deductions) |
8.3 Revenue Distribution (Platform Perspective)
Source: config/finance.php:41-44
60% → Shareholders
25% → Marketing & Growth
10% → Operations
5% → Reserve Fund
8.4 Payment Calculation Example
Service Request: $1,000 (excluding VAT)
STEP 1: Platform Fee
Platform Fee (20%): $200
Remaining: $800
STEP 2: Referral Commission (if applicable)
Referral Commission (10% of net): $80
After Referral: $720
STEP 3: Expert Receives
Expert Net Earnings: $720
STEP 4: Delegation (if applicable)
If expert delegated 30% to collaborator:
Owner: $504 (70% of $720)
Collaborator: $216 (30% of $720)
8.5 Wallet States
- pending: Payment captured, awaiting delivery confirmation (escrow hold)
- frozen: Under dispute or compliance review
- available: Released, ready for withdrawal
- withdrawn: Transferred to bank account
Need Help?
This guide is based on actual platform code and reflects real operational rules. For technical support or policy clarification:
Phone: +966 11 123 4567
Email: info@mogtehad.com
Documentation Version: 2025-11-30 | Based on: ServiceRequest.php, TutorAssignment.php, LargeServiceFinancialProcessor.php, ServiceDispute.php

