Escrow Module - Response

The Data object for Escrow module Response is defined below, in the order of fields returned:

🟥 Data

TypeRequired
Objectyes

The Data object encapsulates the response data for a given module, and will always be present.

Fields: 🔹Adjustment

Objects: 🟥 Errors[], 🟥 Warnings[], 🟥 Schedule[]


🟥 Data.Errors[]

TypeRequired
Array of Stringyes

The Errors[] field contains an Array of Strings which describe any errors encountered while handling the request. If the length of the Errors[] Array is zero (0), then the module processed the request successfully, and the Data object can be further processed by the calling application for the returned data.

On the other hand, if the length of the Errors[] Array is greater than zero (0), then this indicates that an error condition has been detected, and the calling application should not process the respons Data object further. In this case, the contents of the Errors[] array will describe the error(s) encountered.

A typical error is the omission of a 🟥 required field.


🟥 Data.Warnings[]

TypeRequired
Array of Stringyes

The Warnings[] field contains an Array of Strings which describe any warnings generated by the module handling the request. The most common warnings returned by modules inform the calling application that the module does not recognize a specified field (which may help to isolate a field name spelling error in the calling application's code). Note that field names which start with "//" will bre treated as comment fields by the SCE, and no warnings will be generated for these unrecognized fields.

Example - Request and response illustrating warnings when passing unrecognized fields:

{
  "Module": "Escrow",
  "Data": {
    "//": "This is a comment.",
    "Hello": "Friend!",
    "How": "are you?"
 }
}
{
  "Result": 200,
  "Module": "Escrow",
  "Data": {
    "Errors": [
      "Data.PmtStream (Object) not found.",
      "Data.EscrowItems[] (Array) not found."
    ],
    "Warnings": [
      "Request field Data.Hello (String) not recognized.",
      "Request field Data.How (String) not recognized."
    ]
  }
}      

🔹 Data.Adjustment

TypeRequired
Currencyno

This optional field represents the difference between the aggregate Schedule Closing cost and the sum of the closing costs in each itemized funding schedule. It is present only in successful responses, and is returned immediately before the Schedule[] array.


🟥 Data.Schedule[]

TypeRequired
Array of Objectsyes

The core output for the Escrow module is the disclosure of funding schedules. All valid responses will contain an aggregate funding schedule of category, Aggregate. This aggregate schedule will contain a unique field of name, 'Adjustment', whose value is the difference between the aggregate 🔸Closing cost and the sum of closing costs in each itemized funding schedule.

Fields: 🔸Category, 🔸Pmt, 🔸NumPmts, 🔸Cushion, 🔸Closing, 🔸Slush, 🔹Adjustment

Objects: 🟥 Event[]

🔸 Data.Schedule[].Category

TypeRequired
Stringyes

This required field identifies the category of the funding schedule established through the use of Name and Category fields of the EscrowItem object in the Request.

🔸 Data.Schedule[].Pmt

TypeRequired
Currencyyes

The value of this required field contains the currency value of the periodic payment used to fund the escrow item(s) of the schedule. This payment is rounded up to the nearest penny (or currency unit) and is the sum of each individually rounded EscrowItem appearing in the Schedule[].

🔸 Data.Schedule[].NumPmts

TypeRequired
Integeryes

The value of this required field contains the value of the number of funding payments, Pmt, necessary to fund the Closing cost and Cushion required by the escrow items listed in the Schedule.

🔸 Data.Schedule[].Cushion

TypeRequired
Currencyyes

The value of this required field represents the Cushion required to fund the Schedule. A Cushion is a CushionNo of Pmt's beyond Closing cost required at the commencement of a Schedule.

🔸 Data.Schedule[].Closing

TypeRequired
Currencyyes

The value of this required field represents the closing cost required to fund the Schedule.

🔸 Data.Schedule[].Slush

TypeRequired
Currencyyes

This required field represents the penny-difference between a number of payments computed by rounding an amount and that amount, itself. It is a rounding error. In this case we have rounded payments derived from EscrowItem Cost's and the sum of the EscrowItem Cost's, themselves.

🔹 Data.Schedule[].Adjustment

This optional field represents the difference between the sum of each individual Schedule Closing cost, and the aggregate schedule's closing cost. This field will only be present in the first disclosed schedule of Category, "Aggregate"


🟥 Data.Schedule[].Event[]

TypeRequired
Array of Objectsyes

This required array of objects represents all of the elements of which a Schedule[] is composed. The layout of the events is like a spreadsheet, clearly displaying the evolution of the balance of the schedule from beginning to end. The events are ordered by the dates on which they occur.

Fields: 🔸Date, 🔸Name, 🔸Amt, 🔸Balance

Objects: None

🔸Data.Schedule[].Event[].Date

TypeRequiredValue
StringyesYYYY-MM-DD

The value of this required field represents the date of the event. If an event of name Pmt occurs on the same date as an EscrowItem Cost, the event of name Pmt will be processed first.

🔸Data.Schedule[].Event[].Name

TypeRequired
Stringyes

The value of this required field is either Pmt or the Name of the EscrowItem being paid.

🔸Data.Schedule[].Event[].Amt

TypeRequired
Currencyyes

The value of this required field is the cash value of the event. If the event is a payment, the value of this field is positive. If the event is an EscrowItem Cost, the value is negative.

🔸Data.Schedule[].Event[].Balance

TypeRequired
Currencyyes

The value of this required field is the accumulating escrow balance immediately after the event's Amt is applied. The balance immediately before the Amt is applied can be derived by subtracting the Amt from this value.