Open End Lending - Request

Please see the Legend to understand the conventions used to document each element and attribute. Note that for requests, the XML elements are documented in alphabetical order by parent element.


🟥 <inOpenEnd>

Element TypeData Type
Parent-

This is the root element of the XML open end query input message, and is required. This contains child elements which specify the particulars of the requested calculation. The following attributes of the <inOpenEnd> element are defined:

Attributes: 🔹Account 🔹APRDec 🔹BCPY 🔹DataDirPath 🔹MAPR_Max 🔹UseMAPR

🔹 Account (1..9999)

Data TypeValuesDefault
Integer[1...9999]1

This attribute specifies which account should be used to compute the requested open end loan. Each account is numbered from 1 to 9,999, and each account corresponds to a set of setup files which define numerous settings which may affect the open end calculation, such as insurance rates, etc. If this attribute is not specified, a default value of 1 will be used.

🔹 APRDec

Data TypeValuesDefault
Integer[1...5]3

The number of decimal places of accuracy for the disclosed APR is determined by this attribute. The default value of this attribute is three (3). Note that for the APR to be computed and disclosed, the BCPY attribute (see below) must be specified.

🔹 BCPY

Data TypeValuesDefault
Enum1, 2, 4, 6, 12, 24, 26, 52, 365, annual, semiannual, quarterly, bi-monthly, monthly, semimonthly, biweekly, weekly, daily, nonenone

The value of this attribute specifies the number of billing cycles per year, and is required to compute the effective annual percentage rate (APR) and MAPR. To remain backwards compatible with previous versions of the SCEX, this attribute is optional. If left unspecified, the value of BCPY is undetermined and the APR and MAPR will not be computed nor disclosed.

🔹 DataDirPath

Data TypeValuesDefault
TextSee belowSee below

If this attribute is set, the SCE will look for a data folder containing the setup files in the path specified. Thus, if the DataDirPath is set to C:\SCEX\, the SCE will look for the setup files in C:\SCEX\data.

If the calling application wishes to specify the data directory path in its entirety (e.g. the calling app does not want the SCE to append \data to the provided path), then simply terminate the specified DataDirPath with an asterisk (*). Thus, if the DataDirPath is set to C:\SCEX\bank1\*, the SCE will look for the setup files in C:\SCEX\bank1\.

If this attribute is not set, the SCE will attempt to locate the data folder in the default data directory path location, which can be retrieved using the <inVERSION> module query, and set via the SCE API.

This attribute is useful if you wish to use only a single installation of the SCE, but have many different setup file groupings. By specifying a different DataDirPath for each grouping, you can easily separate the groups from one another instead of grouping them all together in a single directory.

🔹 MAPR_Max

Element TypeData TypeValuesDefault
DataDecimal>= 036

If you are computing the Military APR (see UseMAPR below) and wish to override the default maximum APR value of 36%, then specify the desired maximum as the value of this attribute.

🔹 UseMAPR

Data TypeValuesDefault
Booleantrue, false, 1, 0false

If this attribute is set to a value of true or 1, then the SCEX will compute the Military APR in addition to the Regulation Z effective APR. The <MAPR> element will be included in the XML loan response. Note that for the MAPR to be computed and disclosed, the BCPY attribute (see above) must be specified.


🟥 <BeginDate>

Element TypeData TypeValues
DataDate>= 1900-01-01

This element contains the date on which interest begins accruing for the scheduled payment. As an example, assuming that interest should begin accruing on March 15, 2009, then we would pass in a begin date of <BeginDate>2009-03-15</BeginDate>.

Attributes: None


🟦 <Balance>

Element TypeData TypeValuesDefault
DataDecimal>=00

Contains the outstanding principal balance of the open end loan, on which interest will be accrued. If the <Balance> is not specified, then the <Limit> must be specified.

Attributes: None


🟦 <Fee>[]

Element TypeData TypeValuesDefault
Empty--No fee

The <Fee> element itself contains no data. Instead, all of the information used to compute the fee is contained in the following attributes of the element:

Attributes: 🔹AddToFinChg, 🔸Entry, 🔹MAPR, 🔹Name

🔹 AddToFinChg

Data TypeValuesDefault
Booleantrue, false, 1, 0false

If this fee should be included in the Reg. Z Finance Charge (and hence, affect the APR), then set this attribute to true. The default value of false indicates that the fee does not affect the Finance Charge nor APR.

🔸 Entry

Data TypeValues
Currency>= 0

The fee amount, expressed in dollars and cents.

🔹 MAPR

Data TypeValuesDefault
Booleantrue, false, 1, 0false

If you wish to compute the Military APR, then certain fees may not be considered Regulation Z APR affecting fees, but are considered Military APR affecting fees. In this case, you will need to set the value of this attribute to true.

Fees which are added to the finance charge (e.g. AddToFinChg="true") are always considered MAPR fees, regardless of the stated value of this attribute.

Note that debt protection products are automatically included in the calculation of the Military APR.

🔹 Name

Data TypeValuesDefault
Textanyempty

This attribute is for convenience purposes only, and does not affect the calculation of the fee in any manner. If a Name attribute is specified for the <Fee> element, then the corresponding <Fee> element in the XML output will have a Name attribute with the same value. This allows you to easily differentiate fees in the output XML.


🟥 <IntRate>

Element TypeData TypeValues
DataDecimal>=0

The rate at which interest will accrue on the outstanding principal balance.

Attributes: 🔹AccrualCode

🔹 AccrualCode

Data TypeValuesDefault
EnumSee table Below220

This attribute allows the calling application to specify an accrual method for use during the open end calculation. If no accrual code attribute is specified, then a value of 220 is assumed. Please reference the table below for a description of the numeric accrual codes.

Accrual CodeDescription
201Unit period simple w/ 360 day divisor
202Unit period simple w/ 365 day divisor
204Unit period simple w/ true 360 calendar and 360 day divisor.
205Unit period simple w/ true 360 calendar and 365 day divisor.
210Actual / 360 simple
220Actual / 365 simple
230Actual / Actual simple
231Actual / Actual simple w/ day count starting at midnight.

🟦 <Limit>

Element TypeData TypeValuesDefault
DataDecimal>= 00

The maximum amount that can be drawn from the credit line. One must specify either the <Limit> or the <Balance>.

Attributes: 🔸PercentForBal

🔸 PercentForBal

Data TypeValues
Decimal>= 0

This attribute is mandatory when using the <Limit> element. It represents the estimated percentage of the total line of credit that the customer will use, and hence is used to compute the monthly cost.

As an example, <Limit PercentForBal="42.0">100000</Limit> is exactly equivalent to passing <Balance>42000</Balance>.


🟦 <Payment>

Element TypeData TypeValuesDefault
Empty---

Currently, the element value is not used. It may be used in the future, however.

Attributes: 🔹PmtType, 🔹FloorPmt, 🔹Lastday, 🔹PayoffPercent

🔹 PmtType

Data TypeValuesDefault
EnumSee table BelowPrinPlusInt

This attribute allows the calling application to specify the method used for computing the minimum payment. If no payment type attribute is specified, then the PrinPlusInt method is used by default.

Payment TypeDescription
EqualPmtCompute the loan as if it were a standard equal payment installment loan. This method requires the <Term> element.
IntOnlyThe minimum payment includes only interest and protection, with no principal reduction.
PrinPlusIntThe minimum payment includes interest, protection, and a principal reduction amount equal to Balance/Term. This method requires the <Term> element.
PercentToPayoffThe minimum payment is computed as a percentage of the principal plus interest. Protection is added to this calculated amount.
PercentToBalanceThe minimum payment is computed as a percentage of the balance, plus interest due. Protection is added to this calculated amount.

🔹 FloorPmt

Data TypeValuesDefault
Decimal>= 00

If the value of this attribute is greater than zero, and if the computed payment falls below this value, then the returned payment will be set equal to this floor payment amount.

🔹 Lastday

Data TypeValuesDefault
Booleantrue, false, 1, 0false

This attribute defines the ‘Last Day’ setting for loans computed with an actual day calendar where the first payment date falls at the end of a month with fewer than 31 days. As an example, if the first payment date is on April 30, should the following payment dates be made on the 30th of each month, or on the last day of the month?

If true is specified, then conditions triggering a last day situation will result in payments which fall at the end of the month. A value of false indicates that when dictated, subsequent payment dates will not be moved to the last day of the month.

🔹 PayoffPercent

Element TypeData TypeValuesDefault
DataDecimal>= 00

If PmtType is equal to PercentToPayoff or PercentToBalance, then this attribute is required, and must hold the percent used to calculate the principal and interest payment.

As an example: suppose that the balance is $10,000, interest is calculated as $83.33, and that the value of PercentToPayoff is 3.000%, then the principal and interest payment is 3% of $10,083.33, or $302.50 (payments are rounded to the nearest penny).


🟦 <Protection>

Element TypeData Type
Parent-

The <Protection> element is used to specify debt protection coverages such as life, disability, and job loss. Each type of coverage is specified by its own subelement, along with the borrower birthdays.

Attributes: 🔹ShowCaps

🔹 ShowCaps

Data TypeValuesDefault
Booleantrue, false, 1, 0false

If the calling application would like to have cap information (e.g. maximum terms, coverage amounts, ages, etc.) returned for each product offered, set the value of this attribute to true. Otherwise, leave this attribute unspecified or set it to false. See the <Caps> element defined in the output section for more information.


🟦 <Protection><Birthday1>

Element TypeData TypeValues
DataDate>= 1900-01-01

This element contains the date of birth for the primary borrower. All dates must be in the form of YYYY-MM-DD, and be 10 characters long. Hence, a birthday of April 9, 1972 would be specified as <Birthday1>1972-04-09</Birthday1>. Note that this element must be set if the Covers attribute of any of the two debt coverage elements is set to borrower1 or both.

Attributes: None


🟦 <Protection><Birthday2>

Element TypeData TypeValues
DataDate>= 1900-01-01

This element contains the date of birth of the secondary borrower. All dates must be in the form of YYYY-MM-DD, and be 10 characters long. Hence, a birthday of May 21, 1969 would be specified as <Birthday2>1969-05-21</Birthday2>. Note that this element must be set if the Covers attribute of any of the two debt coverage elements is set to both.

Attributes: None


🟦 <Protection><Dis>

Element TypeData Type
Empty-

The <Dis> element determines what type of disability coverage is desired. The element itself is empty, with all information needed for disability coverage request being specified in the following attribute:

Attributes: 🔹Covers 🔹Plan

🔹 Covers

Data TypeValuesDefault
Enumborrower1, borrower2, both, noneborrower1

This attribute determines what type of disability coverage is being requested. The values borrower1 and borrower2 represent single coverage on either the primary or secondary borrower respectively. A request for joint coverage on both borrowers is indicated by a value of both. Finally, if no coverage is desired, specify a value of none.

🔹 Plan

Data TypeValuesDefault
Integer[0...19*]0

If the specified account has been set up with multiple disability or debt cancellation plans, then this attribute determines which plan number will be used. If no plan number is specified, the first plan (plan zero) will be used. To find out the number of available plans, use the <AHSetCount> element returned from an <inINPUT_TOOL> query.


🟦 <Protection><Job>

Element TypeData Type
Empty-

The <Job> element determines what type of job loss coverage is requested for the open end loan. The element itself is empty, with all information needed for a life coverage request being specified in the following attribute:

Attributes: 🔹Covers

🔹 Covers

Data TypeValuesDefault
Enumborrower1, borrower2, both, noneborrower1

This attribute determines what type of job loss coverage is being requested. The values borrower1 and borrower2 represent single coverage on either the primary or secondary borrower respectively. A request for joint coverage on both borrowers is indicated by a value of both. Finally, if no coverage is desired, specify a value of none.


🟦 <Protection><Lif>

Element TypeData Type
Empty-

The <Lif> element determines what type of life coverage is requested for the open end loan. The element itself is empty, with all information needed for a life coverage request being specified in the following attribute:

Attributes: 🔹Covers

🔹 Covers

Data TypeValuesDefault
Enumborrower1, borrower2, both, noneborrower1

This attribute determines what type of life coverage is being requested. The values borrower1 and borrower2 represent single coverage on either the primary or secondary borrower respectively. A request for joint coverage on both borrowers is indicated by a value of both. Finally, if no coverage is desired, specify a value of none.


🟦 <Term>

Element TypeData TypeValues
DataInteger>0

Sometimes, the minimum monthly payment is computed as if the loan were a closed end loan of a specific term. Enter that term if your open end lending uses a PmtType of EqualPmt or PrinPlusInt. If the PmtType attribute is not one of these two values, then this element may be omitted.

Attributes: None


🟥 <TimeToPmt>

Element TypeData TypeValues
DataInteger>= 0

The numeric, unitless quantity representing the time from the <BeginDate> to the payment. In our sample above, the <TimeToPmt> element holds a value of 1, indicating that time between the <BeginDate> and the date on which the payment is due is one unit of time (see TimeUnits attribute below).

Attributes: 🔹TimeUnits

🔹 TimeUnits

Data TypeValuesDefault
EnumDays, Months, DateMonths

The units associated with the parent element. In the example above, the unit of time is Months. For the following examples, assume a <BeginDate> of 2009-03-01:

<TimeToPmt TimeUnits="Date">2009-04-01</TimeToPmt>

Indicates that the payment date is on April 1, 2009.

<TimeToPmt TimeUnits="Months">1</TimeToPmt>

Also indicates that the payment date is on April 1, 2009.

<TimeToPmt TimeUnits="Days">31</TimeToPmt>

Also indicates that the payment date is on April 1, 2009.

Note that when using the Days value, the actual number of days will be used to compute the payment date.