Custom program managers
Contents
Custom program managers#
For: developers
Build custom program managers to implement eligibility, entitlement, cycle, and payment logic for OpenSPP programs.
How to use this section#
Read Manager pattern to understand the wrapper/implementation architecture
Read Building a custom manager for the step-by-step process and method reference
Follow the Tutorial: build CCT program managers to build a complete CCT program with all three manager types
Tip
The tutorial includes a downloadable module: spp_cct_managers.zip
When do you need this?#
Programs in OpenSPP use managers for eligibility, entitlements, cycles, and payments. The built-in managers cover common patterns, but you need a custom manager when the program requires logic they do not support.
Requirement |
Built-in managers |
Custom manager |
|---|---|---|
Standard recurrence-based cycles |
Yes |
|
Per-beneficiary fixed-amount entitlements |
Yes |
|
Basic eligibility filters |
Yes |
|
Custom eligibility formula (e.g., income + children) |
Yes |
|
Per-child or per-member entitlement calculations |
Yes |
|
Non-standard cycle timing (e.g., calendar quarters) |
Yes |
|
Integration with external payment gateways |
Yes |
|
Multi-criteria scoring for eligibility ranking |
Yes |
Topics covered#
Manager pattern — how the strategy pattern works: wrapper models, implementation models, base classes, and extension points
Building a custom manager — step-by-step guide with registration pattern and method reference for all manager types
Tutorial: build CCT program managers — complete module with eligibility, entitlement, and cycle managers for a conditional cash transfer program
See also#
Custom change request types — building custom change request types (similar tutorial pattern)
openspp.org