Daily Maintenance Visibility

Introduction

In order to keep loans up-to-date, automate communications, and apply rules, LoanPro runs a daily (or, more accurately, nightly) process to apply the next days interest, update the archive reports, run the calculator, etc. We refer to this process as Daily Maintenance. LoanPro offers some visibility into what happened during this process, so clients can know when the process has been completed, and generally what the process did.

How to Find Daily Maintenance Information

Report

You can find the Daily Maintenance report by navigating to My Account > Billing & Statements > Daily Maintenance.

This report shows

  • Day of the Month – The day for which data is shown
  • Queued Time – The time when Daily Maintenance was queued
  • In Progress Time – The time when Daily Maintenance started processing the tenant
  • Completed Time – The time when Daily Maintenance finished processing the tenant
  • Queued Loans – The total number of loans eligible to be processed by Daily Maintenance (non-archived loans in the tenant)
  • Loans Maintained – The total number of loans processed by Daily Maintenance

You can filter results by month and year using the filter drop-downs at the top left of the report.

Event-Based Notifications

There are three event-based notifications that can be used to notify you about Daily Maintenance. These include:

  • Daily Maintenance Queued – Your tenant has been added to the queue so that Daily Maintenance can run on your tenant and accounts.
  • Daily Maintenance In Progress – Daily Maintenance is running on your tenant and is updating your accounts.
  • Daily Maintenance Completed – Your tenant and all of your accounts have been updated by Daily Maintenance.

API

Information about Daily Maintenance can be pulled through the API. To pull Daily Maintenance information, send a GET request to the following endpoint:

GET https://loanpro.simnang.com/api/public/api/1/odata.svc/TenantDMStats

This endpoint will return Daily Maintenance information for all of the days that have been recorded for the tenant. The information for each day will look like this:

{ "__metadata": 
{ "uri": "http://loanpro.simnang.com/api/public/api/1/odata.svc/TenantDMStats(id='14',date=datetime'2021-03-19')", "type": "Entity.TenantDMStats"
},
"id": "14",
"date": "/Date(1616112000)/",
"queued": "/Date(1616133984)/",
"inProgress": "/Date(1616133988)/",
"completed": "/Date(1616139970)/",
"totalLoans": 447,
"maintainedLoans": 447
}

This information includes:

  • id – An ID for the record
  • date – The date and time for this record
  • queued – The date and time when Daily Maintenance was queued
  • inProgress – The date and time when Daily Maintenance started processing the tenant
  • completed – The date and time when Daily Maintenance finished processing the tenant
  • totalLoans – The total number of loans eligible to be processed by Daily Maintenance (non-archived loans in the tenant)
  • maintainedLoans – The total number of loans processed by Daily Maintenance
All dates and times are in UTC and will be returned in epoch format.

If you would like to get this information for a specific date, an OData filter or other parameters can be added to the endpoint URL.

For example:

https://loanpro.simnang.com/api/public/api/1/odata.svc/TenantDMStats?$filter=date%20ge%20datetime%272021-03-17%27%20and%20date%20le%20datetime%272021-03-17%27&$orderby=date

Using the $filter token and the $orderby token will let you specify a date range for which information will be returned and the property that will be used to sort the data.

Database

The information displayed in the Daily Maintenance Report (My Account > Billing & Statements > Daily Maintenance) comes from a database table called dm_stats_entity. This table can be queried to get completion times for daily maintenance.

Use Cases

The most common use case for daily maintenance information is learning when the daily maintenance process has completed for a given day. You may want to know this if you have processes that run outside of LMS (e.g. manually or in middleware). Because daily maintenance recalculates numbers and runs rules applied, loan portfolios, statuses, or other categorizations may change during the daily maintenance process. The completion of the daily maintenance process is the signal that all loans are up-to-date, including their calculated numbers, rules applied actions, etc.

If a user wants to run an external process on all loans in a specific portfolio, and they do it before the completion of daily maintenance, they may run the process on a loan that would have had a portfolio removed, or may miss a loan that would have had it added during the daily maintenance process.

Customer Questions

  • How do I know that daily maintenance has completed?

You can get this information either through an API query, event-based notification, or from the database, as the article shows.


How did we do?


Powered by HelpDocs (opens in a new tab)