feat: add waitlist module, quick payment/transaction edit, and catering fee deduction from professor share
This commit is contained in:
@@ -103,7 +103,9 @@ const getClassReport = async (classId) => {
|
||||
revenue: revenue.actualReceivedRevenue,
|
||||
sessionDurationHours,
|
||||
sessionsCount: sessionCounts.held,
|
||||
extraExpensePerSession: cls.extraExpensePerSession
|
||||
extraExpensePerSession: cls.extraExpensePerSession,
|
||||
serviceFeePerPerson: cls.serviceFeePerPerson,
|
||||
studentsCount: (cls.students || []).length
|
||||
});
|
||||
|
||||
const netProfit = calculateNetProfit({
|
||||
@@ -185,7 +187,9 @@ const getSessionReport = async (sessionId) => {
|
||||
revenue: sessionIncome,
|
||||
payoutHourlyRate: cls.payoutHourlyRate,
|
||||
sessionDurationHours,
|
||||
sessionsCount: 1
|
||||
sessionsCount: 1,
|
||||
serviceFeePerPerson: (cls.serviceFeePerPerson || 0) / (plannedSessions || 1),
|
||||
studentsCount
|
||||
});
|
||||
const sessionExtraExpense = calculateExtraExpenses({
|
||||
extraExpensePerSession: cls.extraExpensePerSession,
|
||||
@@ -308,7 +312,9 @@ const getRangeReport = async (query = {}) => {
|
||||
revenue: receivedInRange,
|
||||
sessionDurationHours,
|
||||
sessionsCount: sessionsHeldInRange,
|
||||
extraExpensePerSession: cls.extraExpensePerSession
|
||||
extraExpensePerSession: cls.extraExpensePerSession,
|
||||
serviceFeePerPerson: cls.serviceFeePerPerson,
|
||||
studentsCount: (cls.students || []).length
|
||||
});
|
||||
|
||||
return {
|
||||
@@ -509,6 +515,7 @@ const getAnalytics = async (query = {}) => {
|
||||
payoutPercentage: cls.payoutPercentage,
|
||||
payoutHourlyRate: cls.payoutHourlyRate,
|
||||
extraExpensePerSession: cls.extraExpensePerSession,
|
||||
serviceFeePerPerson: cls.serviceFeePerPerson,
|
||||
sessionDurationHours: resolveSessionDurationHours(cls),
|
||||
studentsCount,
|
||||
plannedSessions,
|
||||
@@ -610,7 +617,9 @@ const getAnalytics = async (query = {}) => {
|
||||
revenue: received,
|
||||
sessionDurationHours: profile.sessionDurationHours,
|
||||
sessionsCount: held,
|
||||
extraExpensePerSession: profile.extraExpensePerSession
|
||||
extraExpensePerSession: profile.extraExpensePerSession,
|
||||
serviceFeePerPerson: profile.serviceFeePerPerson,
|
||||
studentsCount: profile.studentsCount
|
||||
});
|
||||
total += payout.totalPayout;
|
||||
}
|
||||
@@ -670,7 +679,9 @@ const getAnalytics = async (query = {}) => {
|
||||
revenue: profile.actualReceivedRevenue,
|
||||
sessionDurationHours: profile.sessionDurationHours,
|
||||
sessionsCount: profile.heldSessions,
|
||||
extraExpensePerSession: profile.extraExpensePerSession
|
||||
extraExpensePerSession: profile.extraExpensePerSession,
|
||||
serviceFeePerPerson: profile.serviceFeePerPerson,
|
||||
studentsCount: profile.studentsCount
|
||||
});
|
||||
totalProfessorPayoutsAllTime += payout.totalPayout;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user