How Mifos handles calendar?
Mifos does not have Calendar, instead it has Meeting facilities.
Supported features by Meeting
Limitation of Meeting
How these new Calendar features address the limitations of Mifos meeting?
A calendar means a list of planned events attached to an entity in Mifos X, allows creating any number events for an entity (Member/SHG/Center/Branch). This can be used for reminders, generating collection sheet etc.
Non Goals
Key Functional Areas Impacted
Use Case 1: Adding Center meeting (During center creation)
In addition to the current parameters of Center / Group definition, the following changes are needed on New Center / Group creation:
Once Centre/Group is created with event details, this event can be used during child group creation or new loan account creation (within that Centre/Group). In next use case we will see in-detail.
Use Case 2: Creating New Loan (mapped to Centre/Group meeting)
In addition to the current parameters of loan application, the following changes are needed on new Loan creation:
1. Ability to specify meeting.
2. Loan term’s unit will be populated based on “meeting” selected. And it will become un-editable to user
3. Repaid every’s unit will be populated based on “meeting” selected. And it will become un-editable to user
4. Expected disbursement on will pre populated as next meeting date. But can be change to any future date.
5. First repayment on will pre populated as next meeting date. But can be changed to any future meeting date.
Technical Details (implementation approach )
Data Model
Calendar
# | Field | Description |
1 | Id | System generated |
5 | createDate | Event created date |
6 | Title | Name given to the event |
7 | description | Description |
8 | Location | Location of the event |
9 | startDate | Start date of the event |
10 | endDate | End date of the event |
11 | durationHour |
|
12 | durationMinute |
|
13 | type_ |
|
14 | Repeating | Yes/No |
15 | Recurrence | RRULE:FREQ=WEEKLY;UNTIL=20110701T160000Z RRULE:FREQ=DAILY;UNTIL=20000131T090000Z;BYMONTH=1 |
16 | remindBy | Email / SMS / System alert |
17 | firstReminder | reminder ( Number of minutes before event start time) |
18 | secondReminder | reminder ( Number of minutes before event start time) |
CalInstance
# | Field | Description |
1 | entityId | Member/Centre/SHG system id |
2 | entityTypeId | Id indicating entity is a Member/Centre/SHG |
3 | calId | Calendar Id |
Attendance
# | Field | Description |
1 | Id | Member/Centre/SHG system id |
2 | entityId | Member/Centre/SHG system id |
3 | entityTypeId | Id indicating entity is a Member/Centre/SHG |
4 | CalId |
|
5 | MeetingDate |
|
6 | Enum_attendance |
|
ER Diagram (Calendar)
External references