Teacher Training Entitlement - funding
Funding eligibility during registration
TODO: to be completed by NPQ reg team
Accepting an application
When accepting an application we evaluate the funded_place attribute passed in the payload against the funding_cap of the cohort and eligible_for_funding status of the application:
- The
funded_placeattribute in the accept application payload will be evaluated only for cohorts that have afunding_cap. - The
funded_placemust betrueorfalseif the cohort has afunding_cap.
When accepting an application with a funded_place:
- The
funded_placecan betrueorfalseif the application iseligible_for_funding. - The
funded_placecan only befalseif the application is noteligible_for_funding.
Changing the funded place of an application
Lead providers can change the funded_place of an application via the API:
- The application must be
accepted. - The application must be
eligible_for_fundingif changing totrue. - The cohort of the application must have a
funding_cap. - If changing
funded_placetofalsethe application must have noeligible,payable,paidorsubmitteddeclarations.
Previously funded
An application is considered previously_funded if:
- Another application exists with an equivalent course (as determined by
rebranded_alternative_courses).- If the application course is not
npq-additional-support-offerornpq-early-headship-coaching-offerit must be the same course. - If the application course is
npq-additional-support-offerornpq-early-headship-coaching-offerit can be an application with either of these two courses.
- If the application course is not
- The other application is
acceptedandeligible_for_funding. - The
funded_placeof the application is either not set (nil, i.e. prior to 2024) or istrue.
Application serialization/eligible for funding
When an application is serialized we determine the eligible_for_funding state by inspecting the user eligibility and if the application has been previously_funded.
An application is eligible_for_funding if:
- They have no
previously_fundedapplications. - They are
eligible_for_funding.
Creating a declaration
On creating a new declaration, it is marked as eligible if:
- There are no
previously_fundedapplications. - They are
eligible_for_fundingandfunded_placeis not set (nil, i.e. prior to 2024) or istrue.
Pre-2024 funded place behaviour
Prior to 2024 we only calculated eligibility for declarations using the eligible_for_funding attribute (there was no notion of funded_place). Similarly, we only checked only eligible_for_funding during the previously_funded method as well.
See ECF #4871 for how funded_place was originally introduced in ECF (and later replicated in NPQ reg) for more details.