UNPKG

@matech/thebigpos-sdk

Version:
2,278 lines (2,098 loc) 282 kB
/* eslint-disable */ /* tslint:disable */ // @ts-nocheck /* * --------------------------------------------------------------- * ## THIS FILE WAS GENERATED VIA SWAGGER-TYPESCRIPT-API ## * ## ## * ## AUTHOR: acacode ## * ## SOURCE: https://github.com/acacode/swagger-typescript-api ## * --------------------------------------------------------------- */ export type UserRole = | "Borrower" | "LoanOfficer" | "Admin" | "SuperAdmin" | "Realtor" | "SettlementAgent" | "LoanProcessor" | "LoanOfficerAssistant" | "BranchManager" | "SystemAdmin"; export type SiteConfigurationType = | "None" | "Account" | "Corporate" | "Branch" | "LoanOfficer" | "Partner"; export type SSOIntegrationType = "ConsumerConnect" | "TheBigPOS"; export type OperationType = | "Add" | "Remove" | "Replace" | "Move" | "Copy" | "Test" | "Invalid"; export type LogLevel = "None" | "Info" | "Warning" | "Error"; export type LoanRole = | "Borrower" | "CoBorrower" | "NonBorrower" | "LoanOfficer" | "LoanProcessor" | "LoanOfficerAssistant" | "SupportingLoanOfficer" | "BuyerAgent" | "SellerAgent" | "TitleInsuranceAgent" | "EscrowAgent" | "SettlementAgent"; export type LoanQueueType = | "Unknown" | "New" | "Append" | "Update" | "FieldUpdates" | "Document" | "Buckets"; export type LoanQueueReason = "Unknown" | "Locked" | "LOSError" | "Exception"; export type LoanLogType = "Loan" | "Queue" | "POSFlagChanged" | "Verification"; export type LoanImportStatus = | "WaitingProcess" | "InProgress" | "Completed" | "Failed" | "Cancelled"; export type LoanImportMode = "All" | "NewOnly" | "UpdateOnly"; export type LoanAccessScopeType = "User" | "Branch"; export type LOSStatus = | "Unknown" | "Pending" | "Retrying" | "Successful" | "Failed" | "FailedPermanently"; export type FilterType = | "DateGreaterThanOrEqualTo" | "DateGreaterThan" | "DateLessThan" | "DateLessThanOrEqualTo" | "DateEquals" | "DateDoesntEqual" | "DateNonEmpty" | "DateEmpty" | "StringContains" | "StringEquals" | "StringNotEmpty" | "StringNotEquals" | "StringNotContains"; export type Environment = "Development" | "Staging" | "UAT" | "Production"; export type EntityType = | "Account" | "Corporate" | "Branch" | "LoanOfficer" | "Realtor"; export type BranchType = "Mortgage" | "RealEstate"; export type BorrowerType = "Borrower" | "CoBorrower" | "Unknown"; export type BorrowerRelationship = "NotApplicable" | "Spouse" | "NonSpouse"; export interface ASOSettings { enabled: boolean; softPull: boolean; triMerge: boolean; closingCosts: boolean; du: boolean; lp: boolean; iceIncomeAnalyzer: boolean; iceCreditAnalyzer: boolean; voa: boolean; voi: boolean; voie: boolean; voe: boolean; flood: boolean; avm: boolean; disclosures: boolean; preApproval: boolean; preQualification: boolean; mi: boolean; miRadian: boolean; miEssent: boolean; miNational: boolean; miEnact: boolean; mimgic: boolean; miArch: boolean; } export interface Account { /** @format uuid */ id: string; name: string; fusionCustomerID: string; mfaPreference: string; /** @format date-time */ createdAt: string; /** @format date-time */ updatedAt?: string | null; /** @format int32 */ allowedLoginsWithoutMFA: number; losSettings: LOSSettings; asoSettings?: ASOSettings | null; settings: AccountSettings; } export interface AccountSettings { isSmsEnabled: boolean; smsNumber?: string | null; } export interface AccountSettingsRequest { isSmsEnabled: boolean; smsNumber?: string | null; } export interface Action { /** @format uuid */ id: string; name: string; comments?: string | null; /** @format uuid */ siteConfigurationID: string; applicationSettings?: any; surveysToken?: string | null; } export interface Address { /** @format uuid */ id: string; street?: string | null; unit?: string | null; city?: string | null; state?: string | null; county?: string | null; postalCode?: string | null; } export interface AddressRequest { /** @minLength 1 */ street: string; unit?: string | null; /** @minLength 1 */ city: string; /** @minLength 1 */ state: string; county?: string | null; /** @minLength 1 */ postalCode: string; } export interface AdminAccessGetForms { /** @format date-time */ createdAt?: string | null; /** @format date-time */ updatedAt?: string | null; /** @format date-time */ deletedAt?: string | null; /** @format uuid */ id: string; /** @format int32 */ type: number; target: string; name: string; isDefault: boolean; description?: string | null; slug?: string | null; status: string; language?: string | null; borrowerType?: BorrowerType | null; showProgressBar: boolean; } export interface AdminAccessUser { /** @format date-time */ createdAt?: string | null; /** @format date-time */ updatedAt?: string | null; /** @format date-time */ deletedAt?: string | null; /** @format uuid */ id: string; role: string; firstName: string; lastName: string; email: string; phone?: string | null; title?: string | null; forcePasswordReset: boolean; mfaEnabled: boolean; phoneVerified: boolean; /** @format int32 */ loginsWithoutMFACount: number; canImpersonate: boolean; loanIDs: string[]; drafts: Draft[]; notificationSettings?: UserNotificationSettings | null; /** @format uuid */ accountID?: string | null; loans: UserLoan[]; } export interface AdminUser { firstName: string; lastName: string; email: string; password: string; } export interface AffordabilityCalculator { /** @format double */ monthlyPrincipalAndInterest: number; /** @format double */ monthlyTaxes: number; /** @format double */ monthlyInsurance: number; /** @format double */ monthlyPmi: number; /** @format double */ monthlyTotal: number; /** @format double */ actualFrontRatio: number; /** @format double */ actualBackRatio: number; /** @format double */ loanAmount: number; /** @format double */ downPayment: number; /** @format double */ homeValue: number; amortization: Amortization; } export interface AffordabilityCalculatorRequest { /** * @format double * @min 0 * @max 200000 */ totalMonthlyIncome: number; /** * @format double * @min 0 */ totalMonthlyExpenses: number; /** * @format double * @min 0 * @max 95 */ downPayment: number; /** * @format double * @min 1 * @max 25 */ interestRate: number; /** * @format int32 * @min 1 * @max 40 */ term: number; /** * @format double * @min 0 * @max 10 */ pmi: number; /** * @format double * @min 5 * @max 60 */ frontRatio: number; /** * @format double * @min 5 * @max 80 */ backRatio: number; /** * @format double * @min 0 * @max 200000 */ annualTaxes: number; /** * @format double * @min 200 * @max 50000 */ annualInsurance: number; } export interface AllowImpersonationRequest { /** * @format email * @minLength 1 */ email: string; } export interface Amortization { /** @format double */ balance: number; /** @format double */ periodicInterest: number; /** @format int32 */ periods: number; /** @format double */ periodicPayment: number; /** @format double */ totalInterest: number; /** @format double */ totalPayment: number; /** @format date-time */ startDate: string; /** @format date-time */ endDate?: string | null; schedule: AmortizationSchedule[]; /** @format int32 */ monthsWithPmi: number; } export interface AmortizationSchedule { /** @format double */ interest: number; /** @format double */ principal: number; /** @format double */ balance: number; /** @format date-time */ date: string; /** @format double */ pmi: number; } export interface ApplicationRowData { borrowerEmail?: string | null; borrowerFirstName?: string | null; borrowerLastName?: string | null; /** @deprecated */ firstName?: string | null; /** @deprecated */ lastName?: string | null; coBorrowerEmail?: string | null; coBorrowerFirstName?: string | null; coBorrowerLastName?: string | null; loanOfficer?: string | null; loanOfficerEmail?: string | null; loanID: string; /** @format date-time */ applicationDate?: string | null; loanReferenceID: string; /** @format float */ loanAmount?: number | null; loanNumber?: string | null; /** @deprecated */ role?: string | null; /** @format date-time */ initialDisclosureDate?: string | null; /** @format date-time */ closingDisclosureDate?: string | null; /** @format date-time */ underwritingApprovalDate?: string | null; /** @format date-time */ closedDate?: string | null; /** @format date-time */ fundingDate?: string | null; /** @format date-time */ currentStatusDate?: string | null; channel?: string | null; currentMilestone?: string | null; lastMilestone?: string | null; loanStatus?: string | null; loanTerm?: string | null; subjectPropertyStreet?: string | null; subjectPropertyUnitType?: string | null; subjectPropertyUnitNumber?: string | null; subjectPropertyCity?: string | null; subjectPropertyState?: string | null; subjectPropertyZip?: string | null; loanPurpose?: string | null; buyerAgent?: EncompassContact | null; sellerAgent?: EncompassContact | null; settlementAgent?: EncompassContact | null; escrowAgent?: EncompassContact | null; titleInsuranceAgent?: EncompassContact | null; } export interface Attachment { fileName: string; base64Data: string; } export interface BranchBase { /** @format date-time */ createdAt: string; /** @format date-time */ updatedAt?: string | null; /** @format date-time */ deletedAt?: string | null; /** @format uuid */ id: string; name: string; type: string; } export interface BranchReduced { /** @format uuid */ id: string; name: string; type: string; siteConfigurations: SiteConfigurationReduced[]; } export interface BranchSearchCriteria { searchText?: string | null; isActive?: boolean | null; brands?: string[] | null; type?: string | null; } export interface BranchSummary { /** @format uuid */ id: string; name: string; type: string; } export interface BranchUser { /** @format date-time */ createdAt?: string | null; /** @format date-time */ updatedAt?: string | null; /** @format date-time */ deletedAt?: string | null; /** @format uuid */ id: string; role: string; firstName: string; lastName: string; email: string; phone?: string | null; title?: string | null; forcePasswordReset: boolean; mfaEnabled: boolean; phoneVerified: boolean; /** @format int32 */ loginsWithoutMFACount: number; canImpersonate: boolean; loanIDs: string[]; drafts: Draft[]; notificationSettings?: UserNotificationSettings | null; /** @format uuid */ branchID: string; branchName: string; /** @format uuid */ corporateID: string; corporateName: string; siteConfigurations: SiteConfigurationReduced[]; } export interface BranchUserPaginated { rows: BranchUser[]; pagination: Pagination; /** @format int64 */ count: number; } export interface BusinessRule { /** @format date-time */ createdAt: string; /** @format date-time */ updatedAt?: string | null; /** @format date-time */ deletedAt?: string | null; /** @format uuid */ id: string; name: string; description?: string | null; tasks: Task[]; filter: BusinessRuleCondition[]; applyToAllBorrowerPairs: boolean; } export interface BusinessRuleCondition { /** @format int32 */ conditionType: number; targetFieldID: string; targetFieldValue: string; } export interface BusinessRuleRequest { /** * @minLength 1 * @maxLength 250 */ name: string; description?: string | null; tasks: TaskUpdateRequest[]; filter: BusinessRuleCondition[]; applyToAllBorrowerPairs: boolean; } export interface ChangePasswordRequest { /** @minLength 1 */ oldPassword: string; /** @minLength 8 */ newPassword: string; } export interface CommentUserInformation { entityId: string; entityType: string; entityName?: string | null; entityUri?: string | null; } export interface Company { name?: string | null; siteUrl?: string | null; address?: string | null; address2?: string | null; city?: string | null; state?: string | null; zip?: string | null; phone?: string | null; fax?: string | null; nmlsid?: string | null; } export interface CompanyAddress { address: string; address2?: string | null; city: string; state: string; zip: string; } export interface ConditionComment { commentId: string; comments: string; /** @format int32 */ forRoleId: number; forRole: CommentUserInformation; /** @format date-time */ dateCreated: string; createdBy: string; createdByName: string; } export interface ContactInfo { phone: string; tollFreePhone?: string | null; fax?: string | null; } export interface Corporate { /** @format date-time */ createdAt?: string | null; /** @format date-time */ updatedAt?: string | null; /** @format date-time */ deletedAt?: string | null; /** @format uuid */ id: string; name: string; /** @uniqueItems true */ branchIDs: string[]; siteConfigurations: SiteConfigurationReduced[]; } export interface CorporateBase { /** @format date-time */ createdAt: string; /** @format date-time */ updatedAt?: string | null; /** @format date-time */ deletedAt?: string | null; /** @format uuid */ id: string; name: string; } export interface CorporatePaginated { rows: Corporate[]; pagination: Pagination; /** @format int64 */ count: number; } export interface CorporateRequest { /** * @minLength 1 * @maxLength 250 */ name: string; } export interface CorporateSearchCriteria { searchText?: string | null; isActive?: boolean | null; } export interface CreateAccessScopeRequest { scopeType: "User" | "Branch"; /** @format uuid */ userId?: string | null; /** @format uuid */ branchId?: string | null; } export interface CreateAccountRequest { /** @minLength 1 */ name: string; /** @minLength 1 */ domain: string; eConsentBucket?: string | null; ignoreCoBorrowerRelationship: boolean; user: AdminUser; companyAddress: CompanyAddress; contactInfo: ContactInfo; theme: Theme; /** * @format int64 * @min 0 */ nlmsid: number; settings: AccountSettingsRequest; environment: "Development" | "Staging" | "UAT" | "Production"; losIntegration: LOSIntegration; } export interface CreateBranchRequest { /** * @minLength 1 * @maxLength 250 */ name: string; /** @format uuid */ corporateID: string; type: string; } export interface CreateDocumentTemplateRequest { /** @minLength 1 */ htmlBody: string; /** * @minLength 1 * @maxLength 255 */ name: string; type: string; description?: string | null; destinationBucket?: string | null; status: string; } export interface CreateGroupMemberRequest { /** @format uuid */ userId: string; loanRole: | "Borrower" | "CoBorrower" | "NonBorrower" | "LoanOfficer" | "LoanProcessor" | "LoanOfficerAssistant" | "SupportingLoanOfficer" | "BuyerAgent" | "SellerAgent" | "TitleInsuranceAgent" | "EscrowAgent" | "SettlementAgent"; } export interface CreateInviteRequest { /** @minLength 1 */ firstName: string; /** @minLength 1 */ lastName: string; /** @format email */ emailAddress: string; phoneNumber?: string | null; /** @deprecated */ relationship: "NotApplicable" | "Spouse" | "NonSpouse"; loanID: string; route?: string | null; /** @format uuid */ siteConfigurationID: string; /** @deprecated */ userRole?: UserRole | null; loanRole?: LoanRole | null; } export interface CreateLoanImportRequest { /** @format uuid */ accountID: string; /** * @format date-time * @minLength 1 */ endDate: string; /** * @format date-time * @minLength 1 */ startDate: string; importMode: "All" | "NewOnly" | "UpdateOnly"; } export interface CreateUserDeviceRequest { token: string; } export interface CreateUserDraft { loanRole: | "Borrower" | "CoBorrower" | "NonBorrower" | "LoanOfficer" | "LoanProcessor" | "LoanOfficerAssistant" | "SupportingLoanOfficer" | "BuyerAgent" | "SellerAgent" | "TitleInsuranceAgent" | "EscrowAgent" | "SettlementAgent"; } export interface CreateUserGroupRequest { /** * @minLength 1 * @maxLength 200 */ name: string; /** @maxLength 1000 */ description?: string | null; } export interface CreateUserLoan { loanRole?: LoanRole | null; } export interface CreateUserRelationRequest { /** * @format uuid * @minLength 1 */ userId1: string; /** * @format uuid * @minLength 1 */ userId2: string; /** @minLength 1 */ relationType: string; } export interface CreateUserRequest { /** * @format email * @minLength 1 */ email: string; phone?: string | null; /** * @minLength 1 * @maxLength 255 */ firstName: string; /** * @minLength 1 * @maxLength 255 */ lastName: string; title?: string | null; /** @format uuid */ branchId?: string | null; /** @minLength 1 */ userRole: string; } export interface CustomLoanData { eConsentInformation?: EConsentInformation | null; } export interface DetailedUser { /** @format date-time */ createdAt?: string | null; /** @format date-time */ updatedAt?: string | null; /** @format date-time */ deletedAt?: string | null; /** @format uuid */ id: string; role: string; firstName: string; lastName: string; email: string; phone?: string | null; title?: string | null; forcePasswordReset: boolean; mfaEnabled: boolean; phoneVerified: boolean; /** @format int32 */ loginsWithoutMFACount: number; canImpersonate: boolean; loanIDs: string[]; drafts: Draft[]; notificationSettings?: UserNotificationSettings | null; } export interface Device { /** @format uuid */ id: string; /** @format uuid */ accountID: string; serialNumber: string; apps: any; /** @format uuid */ createdBy: string; /** @format uuid */ updatedBy?: string | null; /** @format uuid */ managedBy?: string | null; name?: string | null; type?: string | null; status?: string | null; comments?: string | null; } export interface DeviceAction { is_enabled: boolean; localized_name?: string | null; name?: string | null; remarks?: string | null; localized_action_info?: string | null; status_code?: string | null; action_info?: string | null; localized_status_description?: string | null; status_description?: string | null; } export interface DeviceMDM { managed_status?: string | null; device_id?: string | null; is_supervised: boolean; os_version?: string | null; is_lost_mode_enabled: boolean; owned_by?: string | null; is_removed?: string | null; product_name?: string | null; device_name?: string | null; device_type?: string | null; platform_type?: string | null; wifi_mac?: string | null; udid?: string | null; serial_number?: string | null; customer_name?: string | null; customer_id?: string | null; model?: string | null; last_contact_time?: string | null; platform_type_id?: string | null; device_capacity?: string | null; imei: string[]; user?: MdmUser | null; actions?: DeviceAction[] | null; } export interface DevicePaginated { rows: Device[]; pagination: Pagination; /** @format int64 */ count: number; } export interface DeviceRequest { apps: any; name?: string | null; comments?: string | null; } export interface DocumentData { documentID: string; /** @format uuid */ eSignRecordID: string; documentBucketTitle?: string | null; documentName?: string | null; /** @format date-time */ createdAt: string; extension?: string | null; password: string; systemGenerated: boolean; } export interface DocumentDataRequest { documentID?: string | null; /** @format uuid */ eSignRecordID: string; documentBucketTitle?: string | null; documentName?: string | null; /** @format date-time */ createdAt: string; base64Data?: string | null; extension?: string | null; password?: string | null; systemGenerated: boolean; } export interface DocumentTemplate { /** @format date-time */ createdAt?: string | null; /** @format date-time */ updatedAt?: string | null; /** @format date-time */ deletedAt?: string | null; /** @format uuid */ id: string; htmlBody: string; name: string; multipleCustomTemplates: boolean; isDefault: boolean; type: string; description?: string | null; destinationBucket?: string | null; isDestinationBucketConfigurable: boolean; status: string; versions: DocumentTemplateVersionBase[]; } export interface DocumentTemplateBase { /** @format date-time */ createdAt?: string | null; /** @format date-time */ updatedAt?: string | null; /** @format date-time */ deletedAt?: string | null; /** @format uuid */ id: string; htmlBody: string; name: string; multipleCustomTemplates: boolean; isDefault: boolean; type: string; description?: string | null; destinationBucket?: string | null; isDestinationBucketConfigurable: boolean; status: string; } export interface DocumentTemplateVersion { /** @format date-time */ createdAt: string; /** @format date-time */ updatedAt?: string | null; /** @format date-time */ deletedAt?: string | null; /** @format uuid */ id: string; /** @format int32 */ version: number; name: string; isActive: boolean; htmlBody: string; documentTemplate: DocumentTemplateBase; } export interface DocumentTemplateVersionBase { /** @format date-time */ createdAt: string; /** @format date-time */ updatedAt?: string | null; /** @format date-time */ deletedAt?: string | null; /** @format uuid */ id: string; /** @format int32 */ version: number; name?: string | null; isActive: boolean; htmlBody: string; } export interface DocumentTemplateVersionRequest { /** @maxLength 255 */ name?: string | null; isActive: boolean; htmlBody: string; } export interface DocumentTemplateVersionUpdateRequest { /** @maxLength 255 */ name: string; isActive: boolean; /** @minLength 1 */ htmlBody: string; } export interface Draft { /** @format date-time */ createdAt: string; /** @format date-time */ updatedAt?: string | null; /** @format date-time */ deletedAt?: string | null; /** @format uuid */ id: string; customData: any; user: UserBase; loanOfficer: UserBase; siteConfiguration: SiteConfigurationReduced; } export interface DraftContent { /** @format date-time */ createdAt: string; /** @format date-time */ updatedAt?: string | null; /** @format date-time */ deletedAt?: string | null; /** @format uuid */ id: string; customData: any; user: UserBase; loanOfficer: UserBase; siteConfiguration: SiteConfigurationReduced; applicationPayload: any; } export interface DraftContentPaginated { rows: DraftContent[]; pagination: Pagination; /** @format int64 */ count: number; } export interface DraftLoanOfficerReassignRequest { /** @format uuid */ loanOfficerID: string; } export interface DraftRequest { applicationPayload: any; customData?: any; } export interface EConsentInformation { status: string; /** @format date-time */ acceptedDate?: string | null; ipAddress?: string | null; source?: string | null; } export interface EnabledServices { /** @format date-time */ createdAt?: string | null; /** @format date-time */ updatedAt?: string | null; /** @format date-time */ deletedAt?: string | null; /** @format uuid */ id: string; mobilePrequal?: boolean | null; fullApp?: boolean | null; mobileApp?: boolean | null; ringCentral?: boolean | null; rates?: boolean | null; socialSurvey?: boolean | null; borrowerTasks?: boolean | null; docusign?: boolean | null; emailNotifications?: boolean | null; autoTaskReminders?: boolean | null; voc?: boolean | null; spanishPrequal?: boolean | null; spanishFullApp?: boolean | null; prequalLetter?: boolean | null; payments?: boolean | null; leadApp?: boolean | null; documents?: boolean | null; loanCalculator?: boolean | null; disclosures?: boolean | null; buyerClient?: boolean | null; sellerClient?: boolean | null; clientLifestyle?: boolean | null; loanDetails?: boolean | null; loanStatus?: boolean | null; loanStatusNotifications?: boolean | null; loanAndProperty?: boolean | null; personalInformation?: boolean | null; employment?: boolean | null; assets?: boolean | null; realEstate?: boolean | null; encompassWeb?: boolean | null; support?: boolean | null; leads?: boolean | null; openHouseForm?: boolean | null; listingOfferForm?: boolean | null; listings?: boolean | null; addCoBorrower?: boolean | null; autoNameTaskDocuments?: boolean | null; } export interface EncompassContact { name?: string | null; email?: string | null; phone?: string | null; company?: string | null; } export interface Error { message: string; } export interface File { /** @format uuid */ id: string; fileName: string; name: string; s3FilePath: string; user?: User | null; account?: Account | null; url: string; } export interface FilePaginated { rows: File[]; pagination: Pagination; /** @format int64 */ count: number; } export interface FileRequest { /** * @minLength 1 * @maxLength 250 */ name: string; } export interface FileSearchCriteria { searchText?: string | null; isPublic?: boolean | null; } export interface FileWithBytes { name: string; /** @format byte */ data: string; fileName: string; mimeType?: string | null; extension?: string | null; } export interface Form { /** @format date-time */ createdAt?: string | null; /** @format date-time */ updatedAt?: string | null; /** @format date-time */ deletedAt?: string | null; /** @format uuid */ id: string; formJSON: any; /** @format int32 */ type: number; target: string; authType: string; name: string; isDefault: boolean; description?: string | null; slug?: string | null; status: string; language?: string | null; showProgressBar: boolean; borrowerType?: BorrowerType | null; versions: FormVersion[]; } export interface FormRequest { formJSON: any; /** @format int32 */ type: number; target: string; authType: string; inviteUser: boolean; name: string; description?: string | null; slug?: string | null; status: string; language?: string | null; borrowerType?: BorrowerType | null; showProgressBar: boolean; } export interface FormSubmission { /** @format date-time */ createdAt: string; /** @format date-time */ updatedAt?: string | null; /** @format date-time */ deletedAt?: string | null; /** @format uuid */ id: string; /** @format uuid */ formID?: string | null; formName?: string | null; firstName?: string | null; lastName?: string | null; email?: string | null; contactPhone?: string | null; /** @format uuid */ siteConfigurationID: string; siteConfiguration: SiteConfiguration; loanOfficerEmail?: string | null; /** @format uuid */ loanOfficerID?: string | null; loanOfficer?: User | null; /** @format uuid */ branchID?: string | null; branch?: GetBranch | null; status: string; subjectPropertyAddressStreet?: string | null; subjectPropertyAddressCity?: string | null; subjectPropertyAddressCounty?: string | null; subjectPropertyAddressState?: string | null; subjectPropertyAddressZip?: string | null; data?: any; /** @format uuid */ listingID?: string | null; listing?: Listing | null; files: FormSubmissionFile[]; } export interface FormSubmissionFile { /** @format uuid */ id: string; file: File; } export interface FormSubmissionPaginated { rows: FormSubmission[]; pagination: Pagination; /** @format int64 */ count: number; } export interface FormSubmissionRequest { formID?: string | null; formName?: string | null; firstName?: string | null; lastName?: string | null; email?: string | null; contactPhone?: string | null; loanOfficerEmail?: string | null; /** @format uuid */ loanOfficerID?: string | null; /** @format uuid */ branchID?: string | null; status?: string | null; subjectPropertyAddressStreet?: string | null; subjectPropertyAddressCity?: string | null; subjectPropertyAddressCounty?: string | null; subjectPropertyAddressState?: string | null; subjectPropertyAddressZip?: string | null; data?: any; /** @format uuid */ listingID?: string | null; } export interface FormSubmissionSearchCriteria { searchText?: string | null; /** @format uuid */ loanOfficerID?: string | null; /** @format uuid */ branchID?: string | null; formName?: string | null; formNames?: string[] | null; email?: string | null; status?: string | null; /** @format uuid */ listingID?: string | null; } export interface FormVersion { /** @format date-time */ createdAt: string; /** @format date-time */ updatedAt?: string | null; /** @format date-time */ deletedAt?: string | null; /** @format uuid */ id: string; /** @format int32 */ version: number; name?: string | null; isActive: boolean; formJSON: any; form: GetForm; } export interface FormVersionRequest { /** @maxLength 255 */ name?: string | null; isActive: boolean; formJSON: any; } export interface FormVersionUpdateRequest { /** @maxLength 255 */ name?: string | null; isActive: boolean; formJSON: any; /** @format uuid */ id: string; } export interface FusionFieldDisplay { fieldValue: string; } export interface FusionReportFilter { filterType: | "DateGreaterThanOrEqualTo" | "DateGreaterThan" | "DateLessThan" | "DateLessThanOrEqualTo" | "DateEquals" | "DateDoesntEqual" | "DateNonEmpty" | "DateEmpty" | "StringContains" | "StringEquals" | "StringNotEmpty" | "StringNotEquals" | "StringNotContains"; targetField: string; targetValue: string; } export interface GenerateDocumentRequest { /** @deprecated */ loanID?: string | null; /** * @format uuid * @minLength 1 */ templateID: string; /** * @deprecated * @format uuid */ siteConfigurationID?: string | null; preview: boolean; recipients: string[]; } export interface GetApplications { applications: ApplicationRowData[]; } export interface GetBranch { /** @format date-time */ createdAt?: string | null; /** @format date-time */ updatedAt?: string | null; /** @format date-time */ deletedAt?: string | null; /** @format uuid */ id: string; name: string; /** @format uuid */ corporateID?: string | null; corporateName?: string | null; /** @uniqueItems true */ loanOfficerIDs: string[]; type: string; siteConfigurations: SiteConfigurationReduced[]; } export interface GetBranchPaginated { rows: GetBranch[]; pagination: Pagination; /** @format int64 */ count: number; } export interface GetForm { formJSON: any; /** @format int32 */ type: number; target: string; authType: string; inviteUser: boolean; name: string; description?: string | null; slug?: string | null; status: string; language?: string | null; borrowerType?: BorrowerType | null; showProgressBar: boolean; /** @format uuid */ id: string; } export interface GetReport { loanRecords: LoanRecord[]; invalidFieldIDs: string[]; } export interface GetReportRequest { fields: FusionFieldDisplay[]; filters?: FusionReportFilter[] | null; loanIDs?: string[] | null; /** @format int32 */ startIndex?: number | null; /** @format int32 */ limit?: number | null; } export interface GetSiteConfigurationByLOUserIDRequest { loUserID: string; } export interface GetSiteConfigurationRequest { url: string; } export interface GetSiteFormRequest { /** * @format uuid * @minLength 1 */ siteConfigurationId: string; /** @format int32 */ formType: number; slug?: string | null; } export interface GetUserByEmailRequest { /** * @format email * @minLength 1 */ email: string; } export interface GetWorkflowRequest { /** @minLength 1 */ formType: string; borrowerType?: string | null; userRole?: string | null; language?: string | null; } export type IContractResolver = object; export interface ImpersonatedDetailedUser { /** @format date-time */ createdAt?: string | null; /** @format date-time */ updatedAt?: string | null; /** @format date-time */ deletedAt?: string | null; /** @format uuid */ id: string; role: string; firstName: string; lastName: string; email: string; phone?: string | null; title?: string | null; forcePasswordReset: boolean; mfaEnabled: boolean; phoneVerified: boolean; /** @format int32 */ loginsWithoutMFACount: number; canImpersonate: boolean; loanIDs: string[]; drafts: Draft[]; notificationSettings?: UserNotificationSettings | null; /** @deprecated */ impersonatedBy?: string | null; impersonatingUser?: User | null; } export interface ImportUserLoanTaskRequest { /** * @format uuid * @minLength 1 */ taskID: string; /** * @format uuid * @minLength 1 */ userID: string; } export interface Invite { /** @format uuid */ id: string; firstName: string; lastName: string; emailAddress: string; phoneNumber: string; relationship: string; loanID: string; route?: string | null; /** @format uuid */ siteConfigurationID: string; isExistingAccount: boolean; completedLoanApplication: boolean; userRole: string; loanRole?: string | null; customData: any; /** @format uuid */ oneTimeToken: string; /** @format date-time */ createdAt: string; invitedBy?: User | null; } /** Array of operations to perform */ export type JsonPatchDocument = Operation[]; export interface LOSIntegration { instanceID: string; } export interface LOSSettings { retailLoanClosingDateFieldID: string; wholesaleLoanClosingDateFieldID: string; brokerLoanClosingDateFieldID: string; correspondentLoanClosingDateFieldID: string; customEConsentBucketTitle?: string | null; loanMilestoneNotificationsEnabled: boolean; useLocalPipeline: boolean; } export interface LOSSettingsUpdateRequest { retailLoanClosingDateFieldID: string; wholesaleLoanClosingDateFieldID: string; brokerLoanClosingDateFieldID: string; correspondentLoanClosingDateFieldID: string; customEConsentBucketTitle?: string | null; loanMilestoneNotificationsEnabled: boolean; } export interface Listing { /** @format date-time */ createdAt: string; /** @format date-time */ updatedAt?: string | null; /** @format date-time */ deletedAt?: string | null; /** @format uuid */ id: string; description?: string | null; mlsNumber?: string | null; address?: Address | null; /** @format int32 */ salePrice?: number | null; /** @format date-time */ activeDate: string; /** @format date-time */ expirationDate?: string | null; zillowURL?: string | null; photos: ListingPhoto[]; files: ListingFile[]; backgroundImage?: File | null; /** @format date-time */ openHouseDate?: string | null; /** @format double */ buyerAgentCommissionPercent?: number | null; /** @format double */ sellerAgentCommissionPercent?: number | null; isActive: boolean; slug: string; url?: string | null; loanOfficer?: LoanOfficer | null; siteConfiguration: SiteConfiguration; } export interface ListingFile { /** @format uuid */ id: string; type: string; file: File; /** @format int32 */ weight: number; } export interface ListingPaginated { rows: Listing[]; pagination: Pagination; /** @format int64 */ count: number; } export interface ListingPhoto { /** @format uuid */ id: string; description?: string | null; file: File; /** @format int32 */ weight: number; } export interface ListingRequest { description?: string | null; mlsNumber?: string | null; address: AddressRequest; /** * @format int32 * @min 0 * @exclusiveMin true */ salePrice?: number | null; /** * @format date-time * @minLength 1 */ activeDate: string; /** @format date-time */ expirationDate?: string | null; zillowURL?: string | null; /** @format date-time */ openHouseDate?: string | null; /** @format double */ buyerAgentCommissionPercent?: number | null; /** @format double */ sellerAgentCommissionPercent?: number | null; /** @format uuid */ siteConfigurationId?: string | null; } export interface ListingSearchCriteria { searchText?: string | null; isActive?: boolean | null; partnerIds?: string[] | null; } export interface Loan { /** @format uuid */ id: string; loanID: string; loanNumber?: string | null; /** @format date-time */ initialDisclosureProvidedDate?: string | null; /** @format date-time */ closingDisclosureSentDate?: string | null; /** @format date-time */ underwritingApprovalDate?: string | null; /** @format date-time */ closingDate?: string | null; /** @format date-time */ fundingOrderDate?: string | null; /** @format date-time */ currentStatusDate?: string | null; loanChannel?: string | null; /** @format double */ totalLoanAmount?: number | null; currentLoanStatus?: string | null; currentMilestone?: string | null; lastCompletedMilestone?: string | null; /** @format date-time */ startDate?: string | null; isInSync: boolean; /** @format date-time */ syncDate?: string | null; excludeFromAutoTaskReminders?: boolean | null; fileStarter?: string | null; isPOSLoan?: boolean | null; referenceID: string; /** @format int32 */ term?: number | null; loanProgram?: string | null; loanType?: string | null; status?: string | null; loanOfficer?: LoanOfficer | null; propertyAddress?: Address | null; loanSettings?: LoanSettings | null; loanLogs: LoanLog[]; isLocked: boolean; isLockedFromEditing: boolean; source?: string | null; userLoans: UserLoan[]; contacts: LoanContact[]; } export interface LoanComparison { loanID: string; scenarios: LoanComparisonScenario[]; loanLocked: boolean; } export interface LoanComparisonCalculator { /** @format double */ loanAmount: number; loans: LoanComparisonCalculatorLoan[]; } export interface LoanComparisonCalculatorLoan { /** @format double */ points: number; /** @format double */ originationFees: number; /** @format double */ closingCosts: number; /** @format double */ totalClosingCosts: number; /** @format double */ monthlyPrincipalAndInterest: number; amortization: Amortization; } export interface LoanComparisonCalculatorLoanRequest { /** * @format double * @min 1 * @max 25 */ interestRate: number; /** * @format int32 * @min 1 * @max 40 */ term: number; /** * @format double * @min 0 * @max 3 */ points: number; /** * @format double * @min 0 * @max 5 */ originationFees: number; /** * @format double * @min 500 * @max 100000 */ closingCosts: number; /** * @format double * @min 25000 * @max 10000000 */ homeValue: number; /** * @format double * @min 0 * @max 10 */ pmi: number; } export interface LoanComparisonCalculatorRequest { /** * @format double * @min 30000 */ loanAmount: number; loans: LoanComparisonCalculatorLoanRequest[]; } export interface LoanComparisonScenario { loanProgram?: string | null; /** @minLength 1 */ loanType: string; propertyValue?: string | null; purchasePrice?: string | null; downpaymentAmount?: string | null; downpaymentPercent?: string | null; loanAmount?: string | null; totalAssets?: string | null; monthlyPayment?: string | null; totalMortgageAmount?: string | null; dtiFront?: string | null; dtiBack?: string | null; ltvFront?: string | null; ltvBack?: string | null; totalCashToClose?: string | null; apr?: string | null; mi?: string | null; miFactor?: string | null; rate?: string | null; loanTerm1?: string | null; loanTerm2?: string | null; closingCosts?: string | null; prepaidCharges?: string | null; totalCost?: string | null; totalFinancing?: string | null; discount?: string | null; lenderCredit?: string | null; fundingFee?: string | null; } export interface LoanConsentRequest { /** @format email */ borrowerEmail?: string | null; borrowerEConsent?: boolean | null; borrowerCreditAuth?: boolean | null; borrowerTCPAOptIn?: boolean | null; additionalFields?: Record<string, string>; } export interface LoanContact { /** @format date-time */ createdAt: string; /** @format date-time */ updatedAt?: string | null; /** @format date-time */ deletedAt?: string | null; /** @format uuid */ id: string; fullName?: string | null; firstName?: string | null; lastName?: string | null; name?: string | null; email?: string | null; phone?: string | null; companyName?: string | null; role: | "Borrower" | "CoBorrower" | "NonBorrower" | "LoanOfficer" | "LoanProcessor" | "LoanOfficerAssistant" | "SupportingLoanOfficer" | "BuyerAgent" | "SellerAgent" | "TitleInsuranceAgent" | "EscrowAgent" | "SettlementAgent"; } export interface LoanContactList { email: string; } export interface LoanCreateRequest { /** * @format uuid * @minLength 1 */ draftId: string; } export interface LoanDocument { /** @format date-time */ createdAt: string; /** @format date-time */ updatedAt?: string | null; /** @format date-time */ deletedAt?: string | null; /** @format uuid */ id: string; name: string; loan: Loan; user?: User | null; initialBucket?: string | null; losDocumentID?: string | null; losStatus: string; contents?: string | null; failoverDocumentPath?: string | null; } export interface LoanDocumentSearch { /** @format date-time */ createdAt?: string | null; /** @format date-time */ updatedAt?: string | null; /** @format date-time */ deletedAt?: string | null; /** @format uuid */ id: string; name: string; loanID?: string | null; userID?: string | null; initialBucket?: string | null; losDocumentID?: string | null; losStatus: string; contents?: string | null; failoverDocumentPath?: string | null; } export interface LoanDocumentSearchCriteria { searchText?: string | null; bucket?: string | null; /** @format uuid */ userID?: string | null; documentIDs?: string[] | null; } export interface LoanDocumentSearchPaginated { rows: LoanDocumentSearch[]; pagination: Pagination; /** @format int64 */ count: number; } export interface LoanDraftSearchCriteria { searchText?: string | null; /** @format uuid */ loanOfficerId?: string | null; /** @format uuid */ siteConfigurationId?: string | null; isUnassigned?: boolean | null; } export interface LoanImport { /** @format uuid */ id: string; /** @format uuid */ accountID: string; /** @format date-time */ endDate: string; /** @format date-time */ startDate: string; /** @format int32 */ attemptCount: number; /** @format int32 */ importedCount: number; statusMessage?: string | null; status: | "WaitingProcess" | "InProgress" | "Completed" | "Failed" | "Cancelled"; importMode: "All" | "NewOnly" | "UpdateOnly"; /** @format date-time */ createdAt?: string | null; } export interface LoanImportLog { level: "None" | "Info" | "Warning" | "Error"; message: string; /** @format date-time */ createdAt: string; } export interface LoanImportLogPaginated { rows: LoanImportLog[]; pagination: Pagination; /** @format int64 */ count: number; } export interface LoanImportPaginated { rows: LoanImport[]; pagination: Pagination; /** @format int64 */ count: number; } export interface LoanList { /** @format uuid */ id: string; status?: string | null; loanID?: string | null; loanNumber?: string | null; /** @format double */ totalLoanAmount?: number | null; /** @format date-time */ startDate?: string | null; propertyAddress?: Address | null; loanOfficer?: LoanOfficerList | null; buyerAgentContact?: LoanContactList | null; sellerAgentContact?: LoanContactList | null; userLoans: UserLoan[]; } export interface LoanListPaginated { rows: LoanList[]; pagination: Pagination; /** @format int64 */ count: number; } export interface LoanLog { /** @format uuid */ id: string; level: "None" | "Info" | "Warning" | "Error"; type: "Loan" | "Queue" | "POSFlagChanged" | "Verification"; message: string; /** @format date-time */ createdAt: string; } export interface LoanLogPaginated { rows: LoanLog[]; pagination: Pagination; /** @format int64 */ count: number; } export interface LoanLogSearchCriteria { searchText?: string | null; types?: LoanLogType[] | null; levels?: LogLevel[] | null; } export interface LoanOfficer { /** @format uuid */ id: string; name?: string | null; email: string; phone?: string | null; title?: string | null; nmlsid: string; profilePhotoUrl: string; siteConfiguration: SiteConfiguration; } export interface LoanOfficerList { name?: string | null; } export interface LoanOfficerPublic { firstName: string; lastName: string; email: string; phone?: string | null; /** @format uuid */ corporateID?: string | null; siteConfigurationIDs: string[]; } export interface LoanOfficerSearchCriteria { searchText?: string | null; isActive?: boolean | null; /** @format uuid */ branch?: string | null; /** @format uuid */ brand?: string | null; } export interface LoanQueue { /** @format date-time */ createdAt: string; /** @format date-time */ updatedAt?: string | null; /** @format date-time */ deletedAt?: string | null; /** @format uuid */ id: string; loan?: Loan | null; type: string; reason: string; status: string; details?: string | null; jobID?: string | null; user: UserPublic; loanOfficer: LoanOfficerPublic; siteConfiguration: SiteConfigurationReduced; } export interface LoanQueuePaginated { rows: LoanQueue[]; pagination: Pagination; /** @format int64 */ count: number; } export interface LoanQueueSearchCriteria { searchText?: string | null; loanID?: string | null; type?: LoanQueueType | null; status?: LOSStatus | null; reason?: LoanQueueReason | null; } export interface LoanQueueWithData { /** @format date-time */ createdAt: string; /** @format date-time */ updatedAt?: string | null; /** @format date-time */ deletedAt?: string | null; /** @format uuid */ id: string; loan?: Loan | null; type: string; reason: string; status: string; details?: string | null; jobID?: string | null; user: UserPublic; loanOfficer: LoanOfficerPublic; siteConfiguration: SiteConfigurationReduced; data?: any; } export interface LoanRecord { loanGuid: string; loanFields: Record<string, string>; } export interface LoanSearchCriteria { searchText?: string | null; /** @format uuid */ loanOfficerId?: string | null; loanNumber?: string | null; isClosed?: boolean | null; loanPurpose?: string | null; loanType?: string | null; /** @format uuid */ siteConfigurationId?: string | null; } export interface LoanSettings { excludeFromAutoTaskReminders: boolean; } export interface LoanUpdateRequestJsonPatchDocument { operations?: LoanUpdateRequestOperation[] | null; contractResolver?: IContractResolver | null; } export interface LoanUpdateRequestOperation { operationType: | "Add" | "Remove" | "Replace" | "Move" | "Copy" | "Test" | "Invalid"; path?: string | null; op?: string | null; from?: string | null; value?: any; } export interface LoanUser { /** @format uuid */ id: string; firstName: string; lastName: string; email: string; phone?: string | null; role: string; loanRole: | "Borrower" | "CoBorrower" | "NonBorrower" | "LoanOfficer" | "LoanProcessor" | "LoanOfficerAssistant" | "SupportingLoanOfficer" | "BuyerAgent" | "SellerAgent" | "TitleInsuranceAgent" | "EscrowAgent" | "SettlementAgent"; isUser: boolean; /** @format date-time */ createdAt: string; } export interface LosLoanCreationRequest { loanOfficerUserName?: string | null; loanTemplate?: string | null; additionalFields: Record<string, string | null>; folder?: string | null; /** @format int32 */ borrowerPair: number; applyLoanAssociation: boolean; siteID?: string | null; existingLoanID?: string | null; } export interface MdmUser { user_email?: string | null; user_id?: string | null; user_name?: string | null; } export interface MilestoneConfiguration { /** @format date-time */ createdAt: string; /** @format date-time */ updatedAt?: string | null; /** @format date-time */ deletedAt?: string | null; /** @format uuid */ id: string; name: string; description?: string | null; fieldID: string; /** @format int32 */ weight: number; /** @format uuid */ accountID: string; loanType: string; notificationsEnabled: boolean; } export interface MilestoneConfigurationRequest { /** @minLength 1 */ name: string; description?: string | null; /** @minLength 1 */ fieldID: string; /** * @format int32