layout | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
API Attributes | |
---|---|
Direction | Inward |
Invoked by | PBMS |
Mode | Synchronous |
Tables | disbursement_envelope |
disbursement_envelope represents a control object that uniquely defines one instance of disbursement for one disbursement cycle for a benefit program
A benefit program - in one disbursement cycle - will create exactly one disbursement envelope.
This envelope will represent the control object under which all individual disbursements will be made - for one benefit program - for one disbursement cycle.
The object (and corresponding persistent table) will have the following attributes
Attribute | Datatype |
---|---|
disbursement_envelope_id | Uniquely Identifies the Disbursement Envelope. Primary Key of the Table |
benefit_program_mnemonic | The short code that uniquely identifies the benefit program that is creating this disbursement envelope |
disbursement_frequency | ENUM - identifies the frequency with which disbursements are effected under this benefit program. Possible Values |
cycle_code_mnemonic | Identifies the particular frequency cycle under which this envelope is being created. |
number_of_beneficiaries | Specifies the number of distinct beneficiaries that this envelope will serve |
number_of_disbursements | Specifies the number of discrete disbursements that this envelop will create. In ideal cases, this should equal to the number of beneficiaries, there might be instances where a beneficiary gets more than one disbursement in a single envelope. |
total_disbursement_amount | The total of all individual disbursements. This is the control total for one "disbursement cycle - benefit program" |
disbursement_currency_code | The ISO Currency code in which the disbursement is going to be effected. |
disbursement_schedule_date | This is the date on which the Disbursement needs to be effected. |
receipt_time_stamp | The timestamp when the envelope was received and persisted by the G2P Bridge |
cancellation_status | Enum |
cancellation_time_stamp | The timestamp when the cancellation request was received |
Attribute | Datatype |
---|---|
disbursement_envelope_id | Uniquely identifies the disbursement envelope. Primary Key |
number_of_disbursements_received | The PBMS will first create the disbursement envelope. After that, the PBMS will then dispatch (create) the individual disbursements under the envelope. Being a social benefit program, each envelop can potentially target a large population - running into hundreds of thousands (perhaps even millions). |
total_disbursement_amount_received | This represents the sum of individual disbursements received. Once this number matches the number specified in the envelope (control figure), the system will not accept any more disbursements from the upstream PBMS |
funds_available_with_bank | Enum FUNDS_NOT_AVAILABLE |
funds_available_latest_timestamp | |
funds_available_latest_error_code | |
funds_available_attempts | |
funds_blocked_with_bank | Enum |
funds_blocked_time_stamp | |
funds_blocked_latest_error_code | |
funds_blocked_attempts | |
funds_blocked_reference_number | This is the Amount Block (Funds Hold) Reference number - returned by the Sponsor Bank. |
id_mapper_resolution_required | TRUE / FALSE |
number_of_disbursements_shipped | The G2P Bridge will ship the disbursements to the Sponsor Bank in batches (Note that the volume of disbursements is expected to be in 100s of 1000s or perhaps even millions, batch processing will be necessary). |
number_of_disbursements_reconciled | The number of disbursements - where we have received the corresponding "Debit" to the program account in the sponsor bank |
number_of_disbursements_reversed | The number of disbursements - where we have received the corresponding "Debit" to the program account in the sponsor bank - as well as - a subsequent reversal to the "Debit" |
Will result in persistence of 1 record each in the tables - disbursement_envelope and disbursement_envelope_batch_status
- disbursement_schedule_date should be greater than today + disbursement_sla_days (configuration)
- disbursement_currency_code should be equal to benefit_program.disbursement_currency_code
- disbursement_envelope_id should be unique
- benefit_program_mnemonic should exist in benefit_program
- number_of_beneficiaries - valid non zero integer
- number_of_disbursements - should be greater or equal to number_of_beneficiaries
- total_disbursement_amount - valid non zero number