Rate Lock and Confirm
The LOCK_CONFIRM
action enables Pricing Engine integrations to both initiate and confirm a rate lock request in a single operation.
To implement the LOCK_CONFIRM
action, the integration needs to send additional buySide
information in addition to the core LOCK
result information described in the previous section. The buySide
object includes some of the same fields as delivered in a standard lock request operation - integrations have the option to either echo back those same lock request fields, or adjust their values as appropriate while confirming the rate lock. In addition, the action also supports delivering other fields into the lock request confirmation, such as profitability information in the form of a ProfitMargin
adjustment, to fully specify the rate lock parameters.
Below you will find the JSON schema definition for the details of a lock and confirm transaction result, followed by a sample transaction result payload. The LOCK_CONFIRM
action does not support sending sell-side and comparison information.
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"validationMessage": {
"oneOf": "Two of lockDate, lockNumberOfDays and lockExpirationDate are required.",
"oneOfSub": "Two of lockDate, lockNumberOfDays and lockExpirationDate are required.",
"oneOfBuySideSub": "Two of lockDate, lockNumberOfDays and lockExpirationDate are required.",
"datePattern": "Date should be in the format MM/DD/YYYY."
},
"properties": {
"programNotes": {
"type": "string",
"description": "Free form Rate Lock Request Program Notes."
},
"planCode": {
"type": "string",
"description": ""
},
"lockDate": {
"$ref": "#/definitions/datePattern",
"description": ""
},
"lockExpirationDate": {
"$ref": "#/definitions/datePattern",
"description": ""
},
"lockNumberOfDays": {
"$ref": "#/definitions/integerField",
"description": ""
},
"adjustments": {
"type": "array",
"items": {
"$ref": "#/definitions/adjustmentItem"
},
"minItems": 1,
"description": ""
},
"lastRateSetDate": {
"$ref": "#/definitions/datePattern",
"description": ""
},
"correspondentCommitmentType": {
"type": "string",
"enum": [
"Best Efforts",
"Mandatory"
],
"description": "Type of lock associated with the correspondent trade."
},
"correspondentDeliveryType": {
"type": "string",
"description": "The processing method of the commitment."
},
"isDeliveryType": {
"type": "boolean",
"description": "Gets set based on the committment type."
},
"hedging": {
"type": "boolean",
"description": "A flag to indicate whether a loan is part of the hedge."
},
"onrpLock": {
"type": "boolean",
"description": ""
},
"onrpEligible": {
"type": "boolean",
"description": ""
},
"penaltyTerm": {
"type": "string",
"enum": [
"1 Year",
"2 Years",
"3 Years"
],
"description": "It is the period of the prepaid penalty."
},
"currentAcquisition": {
"type": "boolean",
"description": "The lot/land status of the property"
},
"currentConstructionRefi": {
"type": "boolean",
"description": "Indicated whether a refinance is being done on the construction."
},
"prepayPenalty": {
"type": "boolean",
"description": "Indicates whether there is a prepayment penalty on the loan."
},
"gpmRate": {
"$ref": "#/definitions/numericField",
"description": ""
},
"gpmYears": {
"$ref": "#/definitions/integerField",
"description": ""
},
"baseRate": {
"$ref": "#/definitions/numericField",
"description": ""
},
"basePrice": {
"$ref": "#/definitions/numericField",
"description": ""
},
"baseMarginRate": {
"$ref": "#/definitions/numericField",
"description": ""
},
"rateSheetId": {
"type": "string",
"description": ""
},
"requestImpoundWaived": {
"type": "string",
"enum": [
"Waived",
"Not Waived",
""
],
"description": "Indicates whether any portion of the payment will be part of an escrow account."
},
"requestImpoundType": {
"type": "string",
"enum": [
"No Impounds",
"Insurance only",
"Taxes only",
"Taxes and Insurance",
""
],
"description": "Describes what portion of the payment will have an escrow account."
},
"lenderFeeWaiverOption": {
"type": "boolean",
"description": "Indicates whether a lender will waive their fees."
},
"sellerPaidMiPremium": {
"$ref": "#/definitions/integerField",
"description": "Lock Request Seller Paid MI Premium"
},
"fhaUpfrontMiPremiumPercent": {
"$ref": "#/definitions/integerField",
"description": ""
},
"roundToNearest50": {
"type": "boolean",
"description": ""
},
"comments": {
"type": "string",
"description": ""
},
"buySide": {
"type": "object",
"properties": {
"commitment": {
"type": "object",
"properties": {
"number": {
"type": "string",
"description": "Commitment number associated with the trade."
},
"date": {
"$ref": "#/definitions/datePattern",
"description": ""
},
"masterCommitmentNumber": {
"type": "string",
"description": "Master commitment number associated with the trade."
}
},
"additionalProperties": false
},
"expirationDate": {
"$ref": "#/definitions/datePattern",
"description": ""
},
"delivery": {
"type": "object",
"properties": {
"type": {
"type": "string",
"description": ""
},
"expirationDate": {
"$ref": "#/definitions/datePattern",
"description": ""
}
},
"additionalProperties": false
},
"startingAdjustPrice": {
"$ref": "#/definitions/numericField",
"description": ""
},
"unDiscountedRate": {
"$ref": "#/definitions/numericField",
"description": ""
},
"startingAdjustRate": {
"$ref": "#/definitions/numericField",
"description": ""
},
"startingAdjPrice": {
"$ref": "#/definitions/numericField",
"description": ""
},
"branch": {
"type": "object",
"properties": {
"approvalDate": {
"$ref": "#/definitions/datePattern",
"description": ""
},
"approvedBy": {
"type": "string",
"description": ""
},
"price": {
"$ref": "#/definitions/numericField",
"description": ""
},
"reasonForApproval": {
"type": "string",
"description": ""
}
},
"additionalProperties": false
},
"corporate": {
"type": "object",
"properties": {
"approvalDate": {
"$ref": "#/definitions/datePattern",
"description": ""
},
"approvedBy": {
"type": "string",
"description": ""
},
"price": {
"$ref": "#/definitions/numericField",
"description": ""
},
"reasonForApproval": {
"type": "string",
"description": ""
}
},
"additionalProperties": false
},
"profitMarginAdjustedBuyPrice": {
"$ref": "#/definitions/numericField"
},
"correspondent": {
"type": "object",
"properties": {
"tradeId": {
"type": "string",
"description": ""
},
"tradeNumber": {
"type": "string",
"description": ""
}
},
"additionalProperties": false
},
"lockDate": {
"$ref": "#/definitions/datePattern",
"description": ""
},
"lockExpirationDate": {
"$ref": "#/definitions/datePattern",
"description": ""
},
"lockNumberOfDays": {
"$ref": "#/definitions/integerField",
"description": ""
},
"baseRate": {
"$ref": "#/definitions/numericField",
"description": ""
},
"baseMarginRate": {
"$ref": "#/definitions/numericField",
"description": ""
},
"srpPaidOut": {
"$ref": "#/definitions/numericField",
"description": ""
},
"rateSheetId": {
"type": "string",
"description": ""
},
"lastRateSetDate": {
"$ref": "#/definitions/datePattern",
"description": ""
},
"adjustments": {
"type": "array",
"items": {
"$ref": "#/definitions/adjustmentItem"
},
"minItems": 1,
"description": ""
}
},
"additionalProperties": false,
"required": [
"baseRate"
],
"oneOf": [
{
"required": [
"lockDate",
"lockNumberOfDays"
],
"validationMessage": {
"$ref": "#/validationMessage/oneOfBuySideSub"
}
},
{
"required": [
"lockDate",
"lockExpirationDate"
],
"validationMessage": {
"$ref": "#/validationMessage/oneOfBuySideSub"
}
},
{
"required": [
"lockExpirationDate",
"lockNumberOfDays"
],
"validationMessage": {
"$ref": "#/validationMessage/oneOfBuySideSub"
}
}
]
}
},
"required": [
"baseRate",
"buySide"
],
"oneOf": [
{
"required": [
"lockDate",
"lockNumberOfDays"
],
"validationMessage": {
"$ref": "#/validationMessage/oneOfSub"
}
},
{
"required": [
"lockDate",
"lockExpirationDate"
],
"validationMessage": {
"$ref": "#/validationMessage/oneOfSub"
}
},
{
"required": [
"lockExpirationDate",
"lockNumberOfDays"
],
"validationMessage": {
"$ref": "#/validationMessage/oneOfSub"
}
}
],
"additionalProperties": false,
"definitions": {
"integerField": {
"type": "integer",
"minimum": 1
},
"numericField": {
"type": "number",
"minimum": 0.001,
"multipleOf": 0.001
},
"datePattern": {
"type": "string",
"pattern": "^^(?:(?:(?:0?[13578]|1[02])(\\/)31)\\1|(?:(?:0?[1,3-9]|1[0-2])(\\/)(?:29|30)\\2))(?:(?:1[6-9]|[2-9]\\d)?\\d{2})$|^(?:0?2(\\/)29\\3(?:(?:(?:1[6-9]|[2-9]\\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:(?:0?[1-9])|(?:1[0-2]))(\\/)(?:0?[1-9]|1\\d|2[0-8])\\4(?:(?:1[6-9]|[2-9]\\d)?\\d{2})$",
"validationMessage": {
"$ref": "#/validationMessage/datePattern"
}
},
"adjustmentItem": {
"type": "object",
"properties": {
"adjustmentType": {
"type": "string",
"enum": [
"Adjustment",
"LockExtensionAdjustment",
"ReLockFeeAdjustment",
"CustomPriceAdjustment"
],
"description": ""
},
"description": {
"type": "string",
"description": ""
},
"priceAdjustmentType": {
"type": "string",
"enum": [
"BasePrice",
"BaseMargin",
"BaseRate",
"ProfitMargin"
],
"description": ""
},
"adjustment": {
"$ref": "#/definitions/numericField",
"description": ""
}
},
"required": [
"adjustmentType",
"description",
"priceAdjustmentType"
],
"additionalProperties": false
}
}
}
Below is a sample rate lock and confirm transaction result payload with most of the fields supported in the lock and confirm operation:
{
"status": "completed",
"loanFormat": "application/vnd.plm-2.0.0+json",
"loan": {
"applications": [
{
"borrower": {
"equifaxScore": 750,
"transUnionScore": 770,
"firstName": "John",
"lastName": "Smith",
"firstNameWithMiddleName": "John Tyler",
"fullName": "John Tyler Smith"
},
"coborrower": {
"equifaxScore": 730,
"transUnionScore": 740,
"firstName": "Jane",
"lastName": "Smith",
"firstNameWithMiddleName": "Jane Mary",
"fullName": "Jane Mary Smith"
}
}
],
"property": {
"addressLineText": "Test address",
"loanPurposeType": "ConstructionOnly",
"AppraisedValueAmount": 50000,
"propertyUsageType": "PrimaryResidence",
"condotelIndicator": true,
"nonwarrantableProjectIndicator": true,
"city": "Pleasanton",
"state": "California",
"postalCode": "94588",
"county": "Alameda",
"financedNumberOfUnits": 10,
"streetAddress": "4420 Rosewood Drive",
"unitType": "Apartment",
"unitNumber": 7
},
"loanProductData": {
"loanDocumentationType": "FullDocumentation",
"lienPriorityType": "FirstLien",
"fnmProductPlanIdentifier": "N",
"borrowerEstimatedClosingDate": "06/01/2020",
"balloonLoanMaturityTermMonthsCount": 18,
"gsePropertyType": "Attached"
},
"gfe": {
"fundingAmount": 41000
},
"freddieMac": {
"helocActualBalance": "5000"
},
"regulationZ": {
"lenderPaidMortgageInsuranceIndicator": true
},
"hudLoanData": {
"loanFor203KIndicator": true,
"totalForLesserOfSumAsIs": 3
},
"propertyUsageType": "PrimaryResidence",
"creditScoreToUse": "750",
"mortgageType": "Conventional",
"loanAmortizationType": "Fixed Rate",
"otherAmortizationTypeDescription": "Desc",
"noClosingCostOption": true,
"loanAmortizationTermMonths": 180,
"baseLoanAmount": 450000,
"borrowerRequestedLoanAmount": 460000,
"firstSubordinateLienAmount": 450000,
"secondSubordinateAmount": 44334433,
"propertyAppraisedValueAmount": 650000,
"purchasePriceAmount": 600000,
"firstTimeHomebuyersIndicator": true,
"otherSubordinateAmount": 1200,
"twelveMonthMortgageRentalHistoryIndicator": true,
"loanProgramName": "30 Year Fixed",
"mipPaidInCashAmount": 3000
},
"result": {
"format": "application/vnd.productpricing-lock-and-confirm-1.0.0.json",
"action": "LOCK_CONFIRM",
"details": {
"programNotes": "FreeForm Field to enter Program Notes blah blah",
"planCode": "30-FIXED",
"lockDate": "07/24/2020",
"lockExpirationDate": "08/21/2020",
"hedging": true,
"penaltyTerm": "1 Year",
"prepayPenalty": true,
"baseRate": 1.65,
"baseMarginRate": 0.5,
"requestImpoundWaived": "Not Waived",
"requestImpoundType": "Taxes only",
"lenderFeeWaiverOption": true,
"fhaUpfrontMiPremiumPercent": 2,
"roundToNearest50": true,
"adjustments": [
{
"adjustmentType": "Adjustment",
"description": "Waive Escrow and Impounds",
"priceAdjustmentType": "BasePrice",
"adjustment": 0.75
},
{
"adjustmentType": "Adjustment",
"description": "Mobile Margin",
"priceAdjustmentType": "BaseMargin",
"adjustment": 0.5
},
{
"adjustmentType": "Adjustment",
"description": "60 Day Lock Period",
"priceAdjustmentType": "BaseRate",
"adjustment": 0.004
},
{
"adjustmentType": "Adjustment",
"description": "Extended Payment Option",
"priceAdjustmentType": "BaseRate",
"adjustment": 0.003
}
],
"rateSheetId": "RS9110",
"lastRateSetDate": "06/05/2020",
"basePrice": 12.11,
"comments": "Testing lock and confirm",
"buySide": {
"expirationDate": "07/21/2020",
"delivery": {
"type": "hello",
"expirationDate": "07/21/2020"
},
"startingAdjustPrice": 1.3,
"unDiscountedRate": 1.1,
"startingAdjustRate": 1.2,
"startingAdjPrice": 1.3,
"branch": {
"approvalDate": "07/08/2020",
"approvedBy": "someone",
"price": 21.21,
"reasonForApproval": "some reason"
},
"corporate": {
"approvalDate": "07/08/2020",
"approvedBy": "someone",
"price": 11.21,
"reasonForApproval": "dont know"
},
"profitMarginAdjustedBuyPrice": 0.26,
"correspondent": {
"tradeId": "3242",
"tradeNumber": "Trade-1234"
},
"lockDate": "07/21/2020",
"lockExpirationDate": "08/30/2020",
"baseRate": 4.3,
"baseMarginRate": 12.14,
"rateSheetId": "New ratesheet Id",
"lastRateSetDate": "05/07/2020",
"srpPaidOut": 41.5,
"adjustments": [
{
"adjustmentType": "Adjustment",
"description": "Waive Escrow and Impounds 1",
"priceAdjustmentType": "BasePrice",
"adjustment": 0.11
},
{
"adjustmentType": "Adjustment",
"description": "Mobile Margin 1",
"priceAdjustmentType": "BaseMargin",
"adjustment": 0.22
},
{
"adjustmentType": "Adjustment",
"description": "60 Day Lock Period 1",
"priceAdjustmentType": "BaseRate",
"adjustment": 0.33
},
{
"adjustmentType": "Adjustment",
"description": "",
"priceAdjustmentType": "ProfitMargin"
},
{
"adjustmentType": "Adjustment",
"description": "LO Comp",
"priceAdjustmentType": "ProfitMargin",
"adjustment": 0.99
}
]
}
}
},
"partnerStatus": "partner status",
"respondingParty ": {
"name": "PPE Partner",
"address": "P.O. BOX 509124, SUITE 300",
"city": "SAN DIEGO",
"state": "CA",
"postalCode": "92150",
"pointOfContact": {
"fax": "8002376526",
"phone": "8009864343",
"email": "[email protected]"
}
},
"referenceNumber": "000901"
}
Updated over 1 year ago