- Shipped
- 14 noiembrie 2026 la 22:25 UTC
- Author
- Kamo
- Commit
- b42f4e4
- MortgageProgramOffering: ProductEnablement este catalogul unic de program (versiunea în vigoare astăzi, timp org Grila de canale x program = lista de canale a programului; niciun rând = oferit pe canalele tipului de afacere) (sau tipul de afaceri) cu excepții ChannelApplicabilityRule rezolvate prin ChannelApplicabilityResolver. Refuzurile PROGRAM_NOT_OFFERED / PROGRAM_NOT_ON_CHANNEL **************** propoziție simplă). - ProgramService derivă isActive din ea; OrgProgramOverride.isActive retras (rândurile migrate), setProgramActiveForOrg removed; listOfferedForOrg. **************** refuză un program neoferit; programChoice, propertyState, leadPropertyState citește pentru porțile controlerelor. - Licențele companiei: LicensingEntry câștigă print_on_disclosures, disclosure_text, license_name, regulator_name, regulator_phone, display_order; stat + date opționale (rândurile companiei NMLS; rândurile reportate). LicenseStates = LenderDisclosureProfile citește lista îmbinată (numai rândurile care au fost deja îmbinate) OrgStateLicense + depozitul șters (tabelul păstrat, numele legal al profilului / NMLS fallback) 0 rânduri migrate). - LicensingResolver: poarta de proprietate-stat (evaluare / acoperire / propertyStateRefusal STATE_NOT_LICENSED); nu Acest fus orar nu este configurat până când nu există o licență de stat. - Mementouri de reînnoire a licenței: LicenseRenewalReminder (unic pe licență / expirare / prag), căutători pentru măturare; NotificareTip LICENSE_RENEWAL_COMPANY / LICENSE_RENEWAL_OWN. - ScenarioSupportResolver hard-stops un scenariu lipsă de o dimensiune critică înainte de orice suprascriere; ProductDiscoveryGate citește regulile profilului de piață activ. Hand DDL aplicat 2026-11-14 ca kamo înainte de această împingere (sdd/mlosset/ledger/C1-ddl/001, 002).
