Branch Level Holidays
Introduction
Some MFI's span large regions where different branch offices might observe different holidays. They need the ability to define holidays for specific branch offices in Mifos and be able to set the repayment rule to follow during those holidays.
User Stories
Priority | User Story | Section in FR |
---|---|---|
1 | As an Administrator at an MFI, I want to be able to define a period of time as a holiday for specific branches, and choose the repayment rule to follow during the holiday for those branches.. |
Goals
- Ability to define a holiday for branch offices, all the way up to head office level in the office hierarchy.
- Ability to set a repayment rule for those holidays for schedules to follow, will only apply to the offices that are affected
Non-Goals
The following items will not be addressed in this release:
- Editing the branches or any other details that apply to a holiday that has already been created.
- Deleting holidays already created in Mifos
Definitions and Terminology
Term | Definitions |
---|---|
- Mandatory fields will be preceded by *
- Links are italicized
- Buttons are Button
Related Documents
- Business Requirements - Main:KMBI - Mifos Business Requirements (update link)
Branch Level Holidays
This feature will allow holidays to be defined at the branch level.
Use Cases
Administrator creates a holiday for specific branches.
Actors
- Administrator
Preconditions
- None
Basic Flow
- Administrator navigates to Define new holidays.
- Administrator creates a new holiday with a period from one date to another, name of holiday, and repayment rule.
- Administrator selects branch offices the holiday applies to.
- Administrator hits Preview.
- System displays new holiday with details of the holiday including the branches the holiday applies to
- Administrator chooses to Submit.
Post-conditions
- Mifos has new holiday defined for the branches selected. Only schedules in those branches are affected by the holiday. They are updated the following day with the repayment rule selected.
Alternative Flows
Administrator edits branches of new holiday during holiday creation.
- At step 5 of basic flow, Administrator clicks on Edit Holiday to edit details of the holiday and adds or removes branches, and hits Preview again. Use case continues at step 3 of Basic Flow.
Post-conditions
- Mifos has new holiday defined.
- Schedules only in those branches are affected.
Validations
- Holidays periods cannot be created in the past (either To or From dates must be before current date) - following error message is displayed - Holiday can't be added for current date or dates in the past.
Administrator creates a holiday for an area office.
Preconditions
- Mifos has been set up with the following office hierarchy - HO > AO > BO
Flow
- At step 3 of basic flow, Administrator selects an area office to apply a holiday to. Use case continues at step 4 of Basic Flow.
Post-conditions
- Mifos has new holiday defined for that area office.
- All schedules under the area office are updated the next day with the new holiday change. This includes all branch offices under the area office.
Validations
- Holidays periods cannot be created in the past (either To or From dates must be before current date) - following error message is displayed - Holiday can't be added for current date or dates in the past.
Administrator creates a new branch office in Area Office 1.
Actors
- Administrator
Preconditions
- A holiday has been defined that applies to Area Office 1.
Basic Flow
- Administrator navigates to Define offices and creates a new branch office with parent Area Office 1.
- Administrator chooses to Submit.
Post-conditions
- Any schedules created under the new branch office inherit holidays of its parents. This would include both holidays defined for the HO, and holidays defined for Area Office 1.
Administrator moves Branch Office 1 from Area Office 1 to Area Office 2
Actors
- Administrator
Preconditions
- Branch Office 1 is under Area Office 1 in Mifos office hierarchy.
- There are different holidays defined for Area Office 1 and Area Office 2.
- Branch Office 1 also has a holiday defined just for that office.
Basic Flow
- Administrator navigates to View offices and edits Branch Office 1. Administrator changes the parent of Branch Office 1 from Area Office 1 to Area Office 2.
- Administrator chooses to Submit.
Post-conditions
- The next day, all schedules under Branch Office 1 are updated so that changes to schedules due to holidays from Area Office 1 are removed, and new updates are made to schedules based on holidays defined for Area Office 2.
- The holiday changes that stem from holiday attached to Branch Office 1 are still on the schedules in Branch Office 1.
User Stories
Priority | Size | User Stories | Mingle card # |
---|---|---|---|
1 | Small | As a User, I can create a new holiday for offices from head office to branch office level. | |
1 | Large | As a User, I can see that loan schedules in all child offices affected by new holiday have been applied the repayment rule set. | |
1 | Medium | As a User, I can see that savings schedules in all child offices affected by new holiday have been applied the repayment rule set. | |
1 | Medium | As a User, I can see that client, group, and center fees in all child offices affected by new holiday have been applied the repayment rule set |
Branch Level Holidays Functional Requirements
Updates Across all parts of workflow
FR# | Pri | Description | Comments / Mockups |
---|---|---|---|
0.1 | P1 | All references to Organization Wide should be removed from these screens | |
0.2 | P1 | Update the UI screens for all these pages to be similar to other pages in Admin - for example, Admin header at top should be different color, and we should have the Holiday Information and Review & Submit at the top like on other pages like Define New Fee. |
New selection of branches in holiday creation
FR# | Pri | Description | Comments / Mockups |
---|---|---|---|
1.1 | P1 | When creating a new holiday, there will be a new selection tree to select multiple offices the holiday will apply to. | createnewholiday.jpg |
1.2 | P1 | There should be a tree/hierarchical view of offices - listed[] in alphabetical order by parent office, then next child, til the lowest level, then up one, etc. (same as View Offices page right now) and it will list the office hierarchy. See mockup for exmaple | |
1.3 | P1 | If a parent office is selected, then all child offices inherit the holiday. | |
1.4 | P1 | If a child office is selected, then the holiday is only applied to the child office. | |
1.5 | P1 | The user can select one or more offices, |
New preview of holiday
FR# | Pri | Description | Comments / Mockups |
---|---|---|---|
2.1 | P1 | A new column will be added titled "Applies To" where the offices that holiday applies to are listed. If holiday applies to a parent office and all children underneath it, only the parent office needs to be listed. | previewnewholiday.jpg |
2.2 | P1 | Offices are separated by commas and sorted alphabetically by parent. |
New View Holidays
FR# | Pri | Description | Comments / Mockups |
---|---|---|---|
3.1 | P1 | Similar to preview, new column will be added titled "Applies To" where the offices that each holiday applies to are listed. See Section 2 for more details. |
Other Assumptions
QA Considerations
- Existing holidays in the system should automatically apply to Head Office.
Standard Considerations
Security (Permissions, Roles, and Data Scope)
Does the user need to be in a particular user hierarchy to use this feature? | No |
Does the office hierarchy affect use of this feature? | No |
Are you using any existing permissions to control this feature? | No |
Are you adding any new permissions or changing existing permission to control this feature? | P2 - add new permission for creating holidays |
Are you using any existing activities to control this feature? | No |
Are you adding any new activities or changing existing activities to control this feature? | No |
Are there any special considerations for upgrade scenarios? What will be the default value for new permissions? | No |
What will be the default values for default roles in a new installation? | No |
Impacts to System
Does this feature affect Bulk Loan Creation? How? | Yes - only branches w/ that holiday designated should have schedules affected |
Does this feature affect Collection Sheet Entry? How? | Yes - only branches w/ that holiday designated should have schedules affected |
Does this feature affect Redo Loans? | Yes - only branches w/ that holiday designated should have schedules affected |
Does this feature affect Undo Loans? | Yes - only branches w/ that holiday designated should have schedules affected |
Does this feature behave differently for LSIM or GLIM? | No - schedules should be updated accordingly with LSIM on or off. |
Globalization/Localization
Will this feature support users localizing data that they enter? | N/A |
Does this feature involve any date/time related data, and if so how should conversions be handled? | Yes - should already be taken care of |
Is there currency or other numeric data ? If so does it require any special handling or validation? | No |
Logging
Change Log
Do changes to the data that is collected or stored by the new feature have to be fully logged by the system? | N/A |
Does the administrator configuring the system need the ability to turn on or off logging for this feature? | No |
Is the feature currently logged but the structure of the logged records changing? | No |
Reporting
Provide any relevant information about reporting requirements for the new features and answer the questions below, providing detail to explain any particular area when necessary.
Does the feature affect any existing reports? | Collection Sheet report |
Does the feature require adding any new reports? | No |
Performance
Will the feature be a high use-case scenario? | No |
Will the feature have potential for high concurrency? | No |
Does the feature include complex UI or data gathering logic that will be used by a significant portion of the user base? | No |
Does the feature contain risks of database connection timeout? | No |
Will the feature contain any bulk insert/update/delete transactions? | No |
Will the feature contain any caching mechanisms or cache refreshing mechanisms? | No |
Could the feature result in a large amount of data being sent to the client or between the database and web server? | No |
Would users on a low bandwidth connection likely face issues with a part of this feature? | No |
Does the feature affect existing batch jobs or require adding any new batch jobs? | Yes - []Apply Holiday Changes will be affected |
Setup and Installation
New Installations
Will the feature include demo data? | No |
Does the feature require any data to be gathered at setup runtime? | No |
Backward Compatibility and Upgrades
Is there any data conversion that needs to be done as part of an upgrade? | No |
Will customers lose data or will the way existing data is stored change significantly? | No |
Will another feature, workflow or portion of the data model be deprecated as a result of this new feature? | No |
Will existing role permissions be changed or impacted by this feature? If so provide details in the security section. | No |
Will existing customers need to learn a new UI process or change the way they use the system as a result of this new feature? | New selection for holidays - must choose Head Office to work as expected |
Hosting Support
If different user groups are using the same database, are there concerns over the sharing of data related to the feature? | No |
Are there expected to be performance related issues with having many customers sharing the same hardware in support of this feature? | No |
Configuration
Does this feature require changes to configuration files? | No |
If so, is this feature enabled or disabled by default? | N/A |
Customers
Which MFI's do we expect to use this feature? | KMBI, GK |
How will this impact them? | Ability to create new holidays now for specific branches |
Open Questions and Notes
Review and Approvals
Date | Name | Role | Status |
PM | |||
Dev | |||
QA |