I Can Receive Family Allowance Payments - Technical Documentation
Overview
Glossary
- Family Allowance Fund (CAF - Caisse Allocations Familiales) (FamilyAllowanceAgency): Government agency that provides financial aid and social benefits to families.
- Accommodation Personal Assistance (APL - Aide Personnalisée au Logement) (RentalAllowance): housing allowance provided by CAF to help individuals and families with low incomes reduce their rent or housing costs.
- Accommodation Personal Assistance Slip (RentalAllowanceStatement): Periodic summary document of Accommodation Personal Assistance payments (pdf/CSV)
- Accommodation Personal Assistance Payment (TenantRentalAllowance) : Periodic payment line of Accommodation Personal Assistance
Class diagram
- The RentalAllowance contract references the RentalContract.
- A RentalAllowanceContract is binding the tenant with the HousingAgency (modeled as a company).
- The RentalAllowanceContract generates the RentalAllowanceStatement, which contains individual payments (TenantRentalAllowance).

From RentalAllowance to Accounting Payment

RentalAllowanceContract state machine transitions

APIs
RentalAllowanceContract (adb-contracts)
- I can
POSTaRentalAllowanceContract-POST /contracts/allowances - I can
POSTa collection ofRentalAllowanceContract-POST /contracts/allowances/batch - I can
GETaRentalAllowanceContract-GET /contracts/allowances/{contractId} - I can progress (
SIGN,SUSPENDorTERMINATE) aRentalAllowanceContract(state machine) -PATCH /allowances/{contractId}/transitions/{transition} - I can
PATCHRentalAllowanceContractnext expected amount -PATCH /contracts/allowances/{contractId}/amount - I can
GETaRentalAllowanceContractrelated to my RC -GET /contracts/search/local - I can
GETaRentalAllowanceContractallowance details -GET /contracts/allowances/{contractId}/allowance-details - I can
PATCHRentalAllowanceContractallowance details -PATCH /contracts/allowances/{contractId}/allowance-details
RentalAllowanceStatement
- I can upload an
RentalAllowanceStatementdocument - I can
POSTaRentalAllowanceStatement-POST /accounting/allowance-statements - I can
GETaRentalAllowanceStatement-GET /accounting/allowance-statements/{statementId} - I can
DELETEaRentalAllowanceStatement-DELETE /accounting/allowance-statements/{statementId} - I can
GETa list ofRentalAllowanceStatements(filter + sort + paginate) -GET /accounting/allowance-statements?q={q} - I can
PATCHanRentalAllowanceStatementstate -PATCH /accounting/allowance-statements/{statementId}/state/{state} - I can propose an
RentalAllowanceStatement-POST /accounting/allowance-statements/{statementId}/propose - I can process an
RentalAllowanceStatement-POST /accounting/allowance-statements/{statementId}/process
TenantRentalAllowance
- I can add tenant rental allowance to the statement -
POST /accounting/allowance-statements/{statementId}/tenant-payment - I can remove tenant rental allowance from the statement -
DELETE /accounting/allowance-statements/{statementId}/tenant-payment