Service Layer medium complexity backend
0
Dependencies
0
Dependents
6
Entities
0
Integrations

Description

Business logic service that determines honorarium eligibility and rates based on organization-specific threshold configurations stored in integration_configs. Reads threshold rules per organization (e.g., contact honorarium at 3rd assignment, higher rate at 15th) and evaluates whether a newly completed assignment crosses a threshold.

Feature: Assignment Counting & Honorarium Tracking

honorarium-calculation-service

Responsibilities

  • Read organization-specific threshold configurations from integration_configs
  • Evaluate whether current assignment count crosses a threshold
  • Calculate applicable honorarium rate for a given count
  • Trigger push notification dispatch when a threshold is crossed
  • Provide threshold summary for display in UI components

Interfaces

getThresholdConfig(organizationId)
evaluateThreshold(mentorId, assignmentCount)
calculateHonorariumRate(count, config)
hasThresholdBeenCrossed(previousCount, newCount, config)
getNextThreshold(currentCount, config)
listCrossedThresholds(mentorId)
notifyThresholdCrossed(mentorId, threshold)