Application Logs dev-log-2026102714.txt 200 entries
All ERR WRN INF DBG
Activity 188
2026-10-27 14:36:44.435 +00:00 [INF] [GEN] [U:-] [C:-] [T:982d21992674a8239718eb2f8be74823] HTTP GET /UI/business/login responded 200 in 4.1965 ms
2026-10-27 14:36:44.435 +00:00 [INF] [HTTP] [U:-] [C:47ac411a99ac] [T:982d21992674a8239718eb2f8be74823] HTTP GET /UI/business/login 200
Req: [no body] Res: <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Sign In - Wealthmax</title> <link rel="stylesheet" href="/lib/bootstrap/dist/css/bootstrap.min.css" /> <link rel="stylesheet" href="/css/site.css?v=xQHUTQJdpYJFKIjDlFCI1X8KDqtO5qaSSeJFSoCP3pA" /> <style> html, body { height: 100%; } body { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 100vh; background-color: #f5f7fa; } .login-wrapper { display: flex; flex-direction: column; align-items: center; width: 100%; padding: 1.5rem; } .brand-logo { margin-bottom: 1.75rem; text-align: center; } .brand-logo span { font-size: 1.4rem; font-weight: 700; color: #1a1a2e; letter-spacing: -0.5px; } .brand-logo small { display: block; font-size: 0.7rem; color: #6c757d; font-weight: 500; text-transform: uppercase; letter-spacing: 1px; margin-top: 2px; } </style> </head> <body> <div class="login-wrapper"> <div class="brand-logo"> <span>Wealthmax</span> <small>PM CRM</small> </div> <div class="card shadow-sm" style="width: 100%; max-width: 400px;"> <div class="card-body p-4"> <h4 class="card-title mb-1 fw-semibold">Sign In</h4> <p class="text-muted small mb-4">Enter your credentials to access the portal.</p> <form method="post" novalidate action="/UI/business/login"> <div class="mb-3"> <label class="form-label" for="Email">Email</label> <input class="form-control" placeholder="you@example.com" autofocus type="email" data-val="true" data-val-email="The Email field is not a valid e-mail address." data-val-required="The Email field is required." id="Email" name="Email" value="" /> <span class="text-danger small field-validation-valid" data-valmsg-for="Email" data-valmsg-replace="true"></span> </div> <div class="mb-4"> <label class="form-label" for="Password">Password</label> <input type="password" class="form-control" placeholder="••••••••" data-val="true" data-val-minlength="The field Password must be a string or array type with a minimum length of &#x27;8&#x27;." data-val-minlength-min="8" data-val-required="The Password field is required." id="Password" name="Password" /> <span class="text-danger small field-validation-valid" data-valmsg-for="Password" data-valmsg-replace="true"></span> </div> <button type="submit" class="btn btn-primary w-100">Sign In</button> <input name="__RequestVerificationToken" type="hidden" value="CfDJ8K-HlG9kazxLriphAvTp5JaqMvVxi7miWBdEP0s1KZBnhuGVR_qKbPH-u48Mtaq5CJukHwxYguG4vSo6X4YCG6Ai0gchtG7sGg-6hkl351AeXUPFV1YAeAUE5ecUJgKRUpbMtOA1rlbIAZ2XbBEPKd8" /></form> <div class="mt-3 text-center"> <a href="/UI/business/forgot-password" class="small text-decoration-none">Forgot password?</a> </div> </div> </div> </div> <script src="/lib/bootstrap/dist/js/bootstrap.bundle.min.js"></script> <script src="/lib/jquery/dist/jquery.min.js"></script> <script src="/lib/jquery-validation/dist/jquery.validate.min.js"></script> <script src="/lib/jquery-validation-unobtrusive/dist/jquery.validate.unobtrusive.min.js"></script> </body> </html>
2026-10-27 14:36:44.160 +00:00 [INF] [GEN] [U:-] [C:-] [T:6e0c42ffd81b33b54068ac067eed7c09] HTTP GET /UI/FactFindGenerate responded 302 in 0.6049 ms
2026-10-27 14:36:44.160 +00:00 [INF] [HTTP] [U:-] [C:304edbada053] [T:6e0c42ffd81b33b54068ac067eed7c09] HTTP GET /UI/FactFindGenerate 302
Req: [no body] Res: [empty response]
2026-10-27 14:35:47.332 +00:00 [INF] [GEN] [U:-] [C:-] [T:ad8c7167e0eba111fe2e8a25ab2447f2] HTTP GET /api/v1/business/my-tenant/branding responded 200 in 21.0774 ms
2026-10-27 14:35:47.331 +00:00 [INF] [HTTP] [U:656] [C:bf98715e68da] [T:ad8c7167e0eba111fe2e8a25ab2447f2] HTTP GET /api/v1/business/my-tenant/branding 200
Req: [no body] Res: {"success":true,"data":{"primaryColor":"#1f2d75","secondaryColor":"#fb9828","logoUrl":"https://protectionmortgagecrm.blob.core.windows.net/superadmin/dev/tenant-documents/28/28/28_Wealthmax-Financial-Advisers-Ltd._2026-06-22/c0ad32e9-e1ee-413b-8c66-dc01cd0eeade..png?sv=2026-02-06&se=2026-10-27T15%3A35%3A47Z&sr=b&sp=r&rscd=attachment%3B+filename%3Dc0ad32e9-e1ee-413b-8c66-dc01cd0eeade..png%3B+filename*%3DUTF-8%27%27c0ad32e9-e1ee-413b-8c66-dc01cd0eeade..png&sig=HCZVx1dzBoDJvitfCbMeWOayjymdriHVOcrkU8oZRCA%3D","companyLogoThumbnailUrl":"https://protectionmortgagecrm.blob.core.windows.net/superadmin/staging/tenant-documents/28/f6694f6c-ddfc-4d16-80bc-664a01b3d416_logo.jpg?sv=2026-02-06&se=2036-07-18T13%3A31%3A06Z&sr=b&sp=r&sig=hNhUd61tHsDcA56Q%2F%2FmoaWos%2ByUFldaq%2Be979eNYxAE%3D","socialUrls":{"facebookUrl":null,"instagramUrl":null,"xUrl":null,"linkedInUrl":null}},"timestamp":"2026-10-27T14:35:47.3316086Z"}
2026-10-27 14:35:15.688 +00:00 [INF] [GEN] [U:-] [C:-] [T:9b2fcfc8161486e56ec4eeaa3465731b] HTTP GET /api/v1/business/my-tenant/branding responded 200 in 22.5354 ms
2026-10-27 14:35:15.687 +00:00 [INF] [HTTP] [U:656] [C:46875fd1cb03] [T:9b2fcfc8161486e56ec4eeaa3465731b] HTTP GET /api/v1/business/my-tenant/branding 200
Req: [no body] Res: {"success":true,"data":{"primaryColor":"#1f2d75","secondaryColor":"#fb9828","logoUrl":"https://protectionmortgagecrm.blob.core.windows.net/superadmin/dev/tenant-documents/28/28/28_Wealthmax-Financial-Advisers-Ltd._2026-06-22/c0ad32e9-e1ee-413b-8c66-dc01cd0eeade..png?sv=2026-02-06&se=2026-10-27T15%3A35%3A15Z&sr=b&sp=r&rscd=attachment%3B+filename%3Dc0ad32e9-e1ee-413b-8c66-dc01cd0eeade..png%3B+filename*%3DUTF-8%27%27c0ad32e9-e1ee-413b-8c66-dc01cd0eeade..png&sig=%2B9U6r1qwUj4cqGn4BlbeYiQgKXVzpaOP%2FjfiXZsvocw%3D","companyLogoThumbnailUrl":"https://protectionmortgagecrm.blob.core.windows.net/superadmin/staging/tenant-documents/28/f6694f6c-ddfc-4d16-80bc-664a01b3d416_logo.jpg?sv=2026-02-06&se=2036-07-18T13%3A31%3A06Z&sr=b&sp=r&sig=hNhUd61tHsDcA56Q%2F%2FmoaWos%2ByUFldaq%2Be979eNYxAE%3D","socialUrls":{"facebookUrl":null,"instagramUrl":null,"xUrl":null,"linkedInUrl":null}},"timestamp":"2026-10-27T14:35:15.6877736Z"}
2026-10-27 14:34:25.528 +00:00 [INF] [GEN] [U:-] [C:-] [T:b55b9d749f1ba7e8551f9e88717cfa69] HTTP POST /api/mailgun-webhooks/events responded 401 in 2.5736 ms
2026-10-27 14:34:23.315 +00:00 [INF] [GEN] [U:-] [C:-] [T:322992fb50ca09cb512b7d82af596fc4] HTTP POST /api/mailgun-webhooks/events responded 401 in 3.0194 ms
2026-10-27 14:34:22.649 +00:00 [INF] [GEN] [U:-] [C:-] [T:ddcec91e32cd2f44b61cb795d2e54e6f] HTTP POST /api/mailgun-webhooks/events responded 401 in 4.3066 ms
2026-10-27 14:34:12.485 +00:00 [INF] [GEN] [U:-] [C:-] [T:b7c81a58433083b1576fe786bd457bc0] HTTP GET /api/v1/business/my-tenant/branding responded 200 in 21.5382 ms
2026-10-27 14:34:12.485 +00:00 [INF] [HTTP] [U:656] [C:bd7c6b42ea7a] [T:b7c81a58433083b1576fe786bd457bc0] HTTP GET /api/v1/business/my-tenant/branding 200
Req: [no body] Res: {"success":true,"data":{"primaryColor":"#1f2d75","secondaryColor":"#fb9828","logoUrl":"https://protectionmortgagecrm.blob.core.windows.net/superadmin/dev/tenant-documents/28/28/28_Wealthmax-Financial-Advisers-Ltd._2026-06-22/c0ad32e9-e1ee-413b-8c66-dc01cd0eeade..png?sv=2026-02-06&se=2026-10-27T15%3A34%3A12Z&sr=b&sp=r&rscd=attachment%3B+filename%3Dc0ad32e9-e1ee-413b-8c66-dc01cd0eeade..png%3B+filename*%3DUTF-8%27%27c0ad32e9-e1ee-413b-8c66-dc01cd0eeade..png&sig=pgVYeZTn2Icx6TbugwxShIAGyt4sUKfM7A5qcevUnk8%3D","companyLogoThumbnailUrl":"https://protectionmortgagecrm.blob.core.windows.net/superadmin/staging/tenant-documents/28/f6694f6c-ddfc-4d16-80bc-664a01b3d416_logo.jpg?sv=2026-02-06&se=2036-07-18T13%3A31%3A06Z&sr=b&sp=r&sig=hNhUd61tHsDcA56Q%2F%2FmoaWos%2ByUFldaq%2Be979eNYxAE%3D","socialUrls":{"facebookUrl":null,"instagramUrl":null,"xUrl":null,"linkedInUrl":null}},"timestamp":"2026-10-27T14:34:12.4854591Z"}
2026-10-27 14:32:38.445 +00:00 [INF] [GEN] [U:-] [C:-] [T:500865a0220609bac65af938b92027ba] HTTP GET /api/v1/business/policy-templates/tokens responded 200 in 5.4901 ms
2026-10-27 14:32:38.444 +00:00 [INF] [HTTP] [U:656] [C:06bf0eb3006f] [T:500865a0220609bac65af938b92027ba] HTTP GET /api/v1/business/policy-templates/tokens 200
Req: [no body] Res: {"success":true,"data":[{"sectionName":"Business Health Cover","tokens":[{"key":"BUSINESS_HEALTH_EMPLOYEE_COUNT","displayName":"Number of Employees","sectionName":"Business Health Cover","clientIndex":null,"displayOrder":1,"productType":"BusinessProtection","coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{BUSINESS_HEALTH_EMPLOYEE_COUNT}}"},{"key":"BUSINESS_HEALTH_EMPLOYEE_NAMES","displayName":"Employee Names","sectionName":"Business Health Cover","clientIndex":null,"displayOrder":2,"productType":"BusinessProtection","coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{BUSINESS_HEALTH_EMPLOYEE_NAMES}}"},{"key":"BUSINESS_HEALTH_DEPENDANT_COUNT","displayName":"Number of Dependants","sectionName":"Business Health Cover","clientIndex":null,"displayOrder":3,"productType":"BusinessProtection","coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{BUSINESS_HEALTH_DEPENDANT_COUNT}}"}]},{"sectionName":"Business Life & Critical Illness","tokens":[{"key":"BUSINESS_LCI_COUNT","displayName":"Number of Planholders","sectionName":"Business Life & Critical Illness","clientIndex":null,"displayOrder":1,"productType":"BusinessProtection","coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{BUSINESS_LCI_COUNT}}"},{"key":"BUSINESS_LCI_NAMES","displayName":"Planholder Names","sectionName":"Business Life & Critical Illness","clientIndex":null,"displayOrder":2,"productType":"BusinessProtection","coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{BUSINESS_LCI_NAMES}}"},{"key":"BUSINESS_LCI_TOTAL_COVER","displayName":"Total Life Cover","sectionName":"Business Life & Critical Illness","clientIndex":null,"displayOrder":3,"productType":"BusinessProtection","coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{BUSINESS_LCI_TOTAL_COVER}}"}]},{"sectionName":"Business Life & Critical Illness — Table","tokens":[{"key":"BUSINESS_LCI_PLANHOLDERS__LIST_START","displayName":"List (Start)","sectionName":"Business Life & Critical Illness — Table","clientIndex":null,"displayOrder":-2,"productType":"BusinessProtection","coverTypeId":null,"kind":"ListStart","surface":"Both","collectionKey":"BUSINESS_LCI_PLANHOLDERS","fieldToken":null,"insertText":"{{#each BUSINESS_LCI_PLANHOLDERS}}"},{"key":"BUSINESS_LCI_PLANHOLDERS__LIST_END","displayName":"List (End)","sectionName":"Business Life & Critical Illness — Table","clientIndex":null,"displayOrder":-1,"productType":"BusinessProtection","coverTypeId":null,"kind":"ListEnd","surface":"Both","collectionKey":"BUSINESS_LCI_PLANHOLDERS","fieldToken":null,"insertText":"{{/each}}"},{"key":"BUSINESS_LCI_PLANHOLDERS","displayName":"Planholders (table)","sectionName":"Business Life & Critical Illness — Table","clientIndex":null,"displayOrder":0,"productType":"BusinessProtection","coverTypeId":null,"kind":"BlockCollection","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{BUSINESS_LCI_PLANHOLDERS}}"},{"key":"BUSINESS_LCI_PLANHOLDERS__FIRSTNAME","displayName":"First Name","sectionName":"Business Life & Critical Illness — Table","clientIndex":null,"displayOrder":1,"productType":"BusinessProtection","coverTypeId":null,"kind":"BlockField","surface":"Both","collectionKey":"BUSINESS_LCI_PLANHOLDERS","fieldToken":"FIRSTNAME","insertText":"{{FIRSTNAME}}"},{"key":"BUSINESS_LCI_PLANHOLDERS__LASTNAME","displayName":"Last Name","sectionName":"Business Life & Critical Illness — Table","clientIndex":null,"displayOrder":2,"productType":"BusinessProtection","coverTypeId":null,"kind":"BlockField","surface":"Both","collectionKey":"BUSINESS_LCI_PLANHOLDERS","fieldToken":"LASTNAME","insertText":"{{LASTNAME}}"},{"key":"BUSINESS_LCI_PLANHOLDERS__FULLNAME","displayName":"Full Name","sectionName":"Business Life & Critical Illness — Table","clientIndex":null,"displayOrder":3,"productType":"BusinessProtection","coverTypeId":null,"kind":"BlockField","surface":"Both","collectionKey":"BUSINESS_LCI_PLANHOLDERS","fieldToken":"FULLNAME","insertText":"{{FULLNAME}}"},{"key":"BUSINESS_LCI_PLANHOLDERS__DOB","displayName":"Date of Birth","sectionName":"Business Life & Critical Illness — Table","clientIndex":null,"displayOrder":4,"productType":"BusinessProtection","coverTypeId":null,"kind":"BlockField","surface":"Both","collectionKey":"BUSINESS_LCI_PLANHOLDERS","fieldToken":"DOB","insertText":"{{DOB}}"},{"key":"BUSINESS_LCI_PLANHOLDERS__LIFE_COVER_AMOUNT","displayName":"Life Cover Amount","sectionName":"Business Life & Critical Illness — Table","clientIndex":null,"displayOrder":5,"productType":"BusinessProtection","coverTypeId":null,"kind":"BlockField","surface":"Both","collectionKey":"BUSINESS_LCI_PLANHOLDERS","fieldToken":"LIFE_COVER_AMOUNT","insertText":"{{LIFE_COVER_AMOUNT}}"}]},{"sectionName":"Business Loan Insurance","tokens":[{"key":"BUSINESS_LOAN_COUNT","displayName":"Number of Borrowers","sectionName":"Business Loan Insurance","clientIndex":null,"displayOrder":1,"productType":"BusinessProtection","coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{BUSINESS_LOAN_COUNT}}"},{"key":"BUSINESS_LOAN_NAMES","displayName":"Borrower Names","sectionName":"Business Loan Insurance","clientIndex":null,"displayOrder":2,"productType":"BusinessProtection","coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{BUSINESS_LOAN_NAMES}}"},{"key":"BUSINESS_LOAN_TOTAL_AMOUNT","displayName":"Total Loan Amount","sectionName":"Business Loan Insurance","clientIndex":null,"displayOrder":3,"productType":"BusinessProtection","coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{BUSINESS_LOAN_TOTAL_AMOUNT}}"}]},{"sectionName":"Business Loan Insurance — Table","tokens":[{"key":"BUSINESS_LOAN_BORROWERS__LIST_START","displayName":"List (Start)","sectionName":"Business Loan Insurance — Table","clientIndex":null,"displayOrder":-2,"productType":"BusinessProtection","coverTypeId":null,"kind":"ListStart","surface":"Both","collectionKey":"BUSINESS_LOAN_BORROWERS","fieldToken":null,"insertText":"{{#each BUSINESS_LOAN_BORROWERS}}"},{"key":"BUSINESS_LOAN_BORROWERS__LIST_END","displayName":"List (End)","sectionName":"Business Loan Insurance — Table","clientIndex":null,"displayOrder":-1,"productType":"BusinessProtection","coverTypeId":null,"kind":"ListEnd","surface":"Both","collectionKey":"BUSINESS_LOAN_BORROWERS","fieldToken":null,"insertText":"{{/each}}"},{"key":"BUSINESS_LOAN_BORROWERS","displayName":"Borrowers (table)","sectionName":"Business Loan Insurance — Table","clientIndex":null,"displayOrder":0,"productType":"BusinessProtection","coverTypeId":null,"kind":"BlockCollection","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{BUSINESS_LOAN_BORROWERS}}"},{"key":"BUSINESS_LOAN_BORROWERS__TITLE","displayName":"Title","sectionName":"Business Loan Insurance — Table","clientIndex":null,"displayOrder":1,"productType":"BusinessProtection","coverTypeId":null,"kind":"BlockField","surface":"Both","collectionKey":"BUSINESS_LOAN_BORROWERS","fieldToken":"TITLE","insertText":"{{TITLE}}"},{"key":"BUSINESS_LOAN_BORROWERS__FIRSTNAME","displayName":"First Name","sectionName":"Business Loan Insurance — Table","clientIndex":null,"displayOrder":2,"productType":"BusinessProtection","coverTypeId":null,"kind":"BlockField","surface":"Both","collectionKey":"BUSINESS_LOAN_BORROWERS","fieldToken":"FIRSTNAME","insertText":"{{FIRSTNAME}}"},{"key":"BUSINESS_LOAN_BORROWERS__LASTNAME","displayName":"Last Name","sectionName":"Business Loan Insurance — Table","clientIndex":null,"displayOrder":3,"productType":"BusinessProtection","coverTypeId":null,"kind":"BlockField","surface":"Both","collectionKey":"BUSINESS_LOAN_BORROWERS","fieldToken":"LASTNAME","insertText":"{{LASTNAME}}"},{"key":"BUSINESS_LOAN_BORROWERS__FULLNAME","displayName":"Full Name","sectionName":"Business Loan Insurance — Table","clientIndex":null,"displayOrder":4,"productType":"BusinessProtection","coverTypeId":null,"kind":"BlockField","surface":"Both","collectionKey":"BUSINESS_LOAN_BORROWERS","fieldToken":"FULLNAME","insertText":"{{FULLNAME}}"},{"key":"BUSINESS_LOAN_BORROWERS__LOAN_AMOUNT","displayName":"Loan Amount","sectionName":"Business Loan Insurance — Table","clientIndex":null,"displayOrder":5,"productType":"BusinessProtection","coverTypeId":null,"kind":"BlockField","surface":"Both","collectionKey":"BUSINESS_LOAN_BORROWERS","fieldToken":"LOAN_AMOUNT","insertText":"{{LOAN_AMOUNT}}"},{"key":"BUSINESS_LOAN_BORROWERS__TERM_YEARS","displayName":"Term (Years)","sectionName":"Business Loan Insurance — Table","clientIndex":null,"displayOrder":6,"productType":"BusinessProtection","coverTypeId":null,"kind":"BlockField","surface":"Both","collectionKey":"BUSINESS_LOAN_BORROWERS","fieldToken":"TERM_YEARS","insertText":"{{TERM_YEARS}}"},{"key":"BUSINESS_LOAN_BORROWERS__TO_AGE","displayName":"To Age","sectionName":"Business Loan Insurance — Table","clientIndex":null,"displayOrder":7,"productType":"BusinessProtection","coverTypeId":null,"kind":"BlockField","surface":"Both","collectionKey":"BUSINESS_LOAN_BORROWERS","fieldToken":"TO_AGE","insertText":"{{TO_AGE}}"},{"key":"BUSINESS_LOAN_BORROWERS__INTEREST_RATE","displayName":"Interest Rate","sectionName":"Business Loan Insurance — Table","clientIndex":null,"displayOrder":7,"productType":"BusinessProtection","coverTypeId":null,"kind":"BlockField","surface":"Both","collectionKey":"BUSINESS_LOAN_BORROWERS","fieldToken":"INTEREST_RATE","insertText":"{{INTEREST_RATE}}"},{"key":"BUSINESS_LOAN_BORROWERS__TYPE_OF_LOAN","displayName":"Type of Loan","sectionName":"Business Loan Insurance — Table","clientIndex":null,"displayOrder":8,"productType":"BusinessProtection","coverTypeId":null,"kind":"BlockField","surface":"Both","collectionKey":"BUSINESS_LOAN_BORROWERS","fieldToken":"TYPE_OF_LOAN","insertText":"{{TYPE_OF_LOAN}}"},{"key":"BUSINESS_LOAN_BORROWERS__ADDITIONAL_DETAILS","displayName":"Additional Details","sectionName":"Business Loan Insurance — Table","clientIndex":null,"displayOrder":9,"productType":"BusinessProtection","coverTypeId":null,"kind":"BlockField","surface":"Both","collectionKey":"BUSINESS_LOAN_BORROWERS","fieldToken":"ADDITIONAL_DETAILS","insertText":"{{ADDITIONAL_DETAILS}}"}]},{"sectionName":"Business Protection Needs","tokens":[{"key":"BP_LIVES_ASSURED","displayName":"Lives Assured","sectionName":"Business Protection Needs","clientIndex":null,"displayOrder":1,"productType":"BusinessProtection","coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{BP_LIVES_ASSURED}}"}]},{"sectionName":"Case Details","tokens":[{"key":"CASE_ID","displayName":"Case Reference","sectionName":"Case Details","clientIndex":null,"displayOrder":1,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CASE_ID}}"},{"key":"CASE_TITLE","displayName":"Case Title","sectionName":"Case Details","clientIndex":null,"displayOrder":2,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CASE_TITLE}}"},{"key":"CASE_STAGE","displayName":"Case Stage","sectionName":"Case Details","clientIndex":null,"displayOrder":3,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CASE_STAGE}}"},{"key":"CASE_PRODUCT_TYPE","displayName":"Product Type","sectionName":"Case Details","clientIndex":null,"displayOrder":4,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CASE_PRODUCT_TYPE}}"},{"key":"CASE_ADVISER_NAME","displayName":"Assigned Adviser","sectionName":"Case Details","clientIndex":null,"displayOrder":5,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CASE_ADVISER_NAME}}"},{"key":"CASE_ADVISER_EMAIL","displayName":"Adviser Email","sectionName":"Case Details","clientIndex":null,"displayOrder":6,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CASE_ADVISER_EMAIL}}"},{"key":"CASE_ADVISER_PHONE","displayName":"Adviser Phone","sectionName":"Case Details","clientIndex":null,"displayOrder":7,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CASE_ADVISER_PHONE}}"},{"key":"CASE_CREATED_DATE","displayName":"Case Created Date","sectionName":"Case Details","clientIndex":null,"displayOrder":8,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CASE_CREATED_DATE}}"},{"key":"TODAYS_DATE","displayName":"Today's Date","sectionName":"Case Details","clientIndex":null,"displayOrder":9,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{TODAYS_DATE}}"}]},{"sectionName":"Client 1 - Address","tokens":[{"key":"CLIENT_1_ADDRESS_LINE1","displayName":"Address Line 1","sectionName":"Client 1 - Address","clientIndex":1,"displayOrder":1,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_ADDRESS_LINE1}}"},{"key":"CLIENT_1_CITY","displayName":"City","sectionName":"Client 1 - Address","clientIndex":1,"displayOrder":2,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_CITY}}"},{"key":"CLIENT_1_COUNTY","displayName":"County","sectionName":"Client 1 - Address","clientIndex":1,"displayOrder":3,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_COUNTY}}"},{"key":"CLIENT_1_POSTCODE","displayName":"Post Code","sectionName":"Client 1 - Address","clientIndex":1,"displayOrder":4,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_POSTCODE}}"},{"key":"CLIENT_1_COUNTRY","displayName":"Country","sectionName":"Client 1 - Address","clientIndex":1,"displayOrder":5,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_COUNTRY}}"},{"key":"CLIENT_1_RESIDENTIAL_STATUS","displayName":"Residential Status","sectionName":"Client 1 - Address","clientIndex":1,"displayOrder":6,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_RESIDENTIAL_STATUS}}"},{"key":"CLIENT_1_FULL_ADDRESS","displayName":"Full Address","sectionName":"Client 1 - Address","clientIndex":1,"displayOrder":7,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_FULL_ADDRESS}}"}]},{"sectionName":"Client 1 - Assets","tokens":[{"key":"CLIENT_1_ASSET_HOME","displayName":"Home","sectionName":"Client 1 - Assets","clientIndex":1,"displayOrder":1,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_ASSET_HOME}}"},{"key":"CLIENT_1_ASSET_PROPERTY","displayName":"Property","sectionName":"Client 1 - Assets","clientIndex":1,"displayOrder":1,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_ASSET_PROPERTY}}"},{"key":"CLIENT_1_ASSET_OTHER_PROPERTY","displayName":"Other Property","sectionName":"Client 1 - Assets","clientIndex":1,"displayOrder":2,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_ASSET_OTHER_PROPERTY}}"},{"key":"CLIENT_1_ASSET_CASH_DEPOSITS","displayName":"Cash Deposits","sectionName":"Client 1 - Assets","clientIndex":1,"displayOrder":3,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_ASSET_CASH_DEPOSITS}}"},{"key":"CLIENT_1_ASSET_INVESTMENT_BONDS","displayName":"Investment Bonds","sectionName":"Client 1 - Assets","clientIndex":1,"displayOrder":4,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_ASSET_INVESTMENT_BONDS}}"},{"key":"CLIENT_1_ASSET_PENSION_FUNDS","displayName":"Pension Funds","sectionName":"Client 1 - Assets","clientIndex":1,"displayOrder":5,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_ASSET_PENSION_FUNDS}}"},{"key":"CLIENT_1_ASSET_ISA","displayName":"ISA","sectionName":"Client 1 - Assets","clientIndex":1,"displayOrder":6,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_ASSET_ISA}}"},{"key":"CLIENT_1_ASSET_SHARES","displayName":"Shares","sectionName":"Client 1 - Assets","clientIndex":1,"displayOrder":7,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_ASSET_SHARES}}"},{"key":"CLIENT_1_ASSET_BUSINESS_ASSETS","displayName":"Business Assets","sectionName":"Client 1 - Assets","clientIndex":1,"displayOrder":8,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_ASSET_BUSINESS_ASSETS}}"},{"key":"CLIENT_1_ASSET_ALL_OTHER","displayName":"All Other Assets","sectionName":"Client 1 - Assets","clientIndex":1,"displayOrder":9,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_ASSET_ALL_OTHER}}"},{"key":"CLIENT_1_TOTAL_ASSETS","displayName":"Total Assets","sectionName":"Client 1 - Assets","clientIndex":1,"displayOrder":10,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_TOTAL_ASSETS}}"}]},{"sectionName":"Client 1 - Credit","tokens":[{"key":"CLIENT_1_CREDIT_MORTGAGE_MAIN","displayName":"Mortgage (Main Residence)","sectionName":"Client 1 - Credit","clientIndex":1,"displayOrder":1,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_CREDIT_MORTGAGE_MAIN}}"},{"key":"CLIENT_1_CREDIT_CREDIT_CARDS","displayName":"Credit Cards","sectionName":"Client 1 - Credit","clientIndex":1,"displayOrder":2,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_CREDIT_CREDIT_CARDS}}"},{"key":"CLIENT_1_CREDIT_OVERDRAFT","displayName":"Overdraft","sectionName":"Client 1 - Credit","clientIndex":1,"displayOrder":3,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_CREDIT_OVERDRAFT}}"},{"key":"CLIENT_1_CREDIT_LOANS_HP","displayName":"Loans / HP","sectionName":"Client 1 - Credit","clientIndex":1,"displayOrder":4,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_CREDIT_LOANS_HP}}"},{"key":"CLIENT_1_CREDIT_MORTGAGE_OTHER","displayName":"Mortgage (Other Property)","sectionName":"Client 1 - Credit","clientIndex":1,"displayOrder":5,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_CREDIT_MORTGAGE_OTHER}}"},{"key":"CLIENT_1_CREDIT_OTHER_LENDING","displayName":"Any Other Lending","sectionName":"Client 1 - Credit","clientIndex":1,"displayOrder":6,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_CREDIT_OTHER_LENDING}}"},{"key":"CLIENT_1_TOTAL_LIABILITIES","displayName":"Total Liabilities","sectionName":"Client 1 - Credit","clientIndex":1,"displayOrder":7,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_TOTAL_LIABILITIES}}"}]},{"sectionName":"Client 1 - Dependants","tokens":[{"key":"CLIENT_1_DEPENDANT_NAMES","displayName":"Dependant Names","sectionName":"Client 1 - Dependants","clientIndex":1,"displayOrder":1,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_DEPENDANT_NAMES}}"},{"key":"CLIENT_1_DEPENDANT_COUNT","displayName":"Dependant Count","sectionName":"Client 1 - Dependants","clientIndex":1,"displayOrder":2,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_DEPENDANT_COUNT}}"}]},{"sectionName":"Client 1 - Dependants Table","tokens":[{"key":"CLIENT_1_DEPENDANTS__LIST_START","displayName":"List (Start)","sectionName":"Client 1 - Dependants Table","clientIndex":1,"displayOrder":-2,"productType":null,"coverTypeId":null,"kind":"ListStart","surface":"Both","collectionKey":"CLIENT_1_DEPENDANTS","fieldToken":null,"insertText":"{{#each CLIENT_1_DEPENDANTS}}"},{"key":"CLIENT_1_DEPENDANTS__LIST_END","displayName":"List (End)","sectionName":"Client 1 - Dependants Table","clientIndex":1,"displayOrder":-1,"productType":null,"coverTypeId":null,"kind":"ListEnd","surface":"Both","collectionKey":"CLIENT_1_DEPENDANTS","fieldToken":null,"insertText":"{{/each}}"},{"key":"CLIENT_1_DEPENDANTS","displayName":"Dependants (table)","sectionName":"Client 1 - Dependants Table","clientIndex":1,"displayOrder":0,"productType":null,"coverTypeId":null,"kind":"BlockCollection","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_DEPENDANTS}}"},{"key":"CLIENT_1_DEPENDANTS__NAME","displayName":"Name","sectionName":"Client 1 - Dependants Table","clientIndex":1,"displayOrder":1,"productType":null,"coverTypeId":null,"kind":"BlockField","surface":"Both","collectionKey":"CLIENT_1_DEPENDANTS","fieldToken":"NAME","insertText":"{{NAME}}"},{"key":"CLIENT_1_DEPENDANTS__DOB","displayName":"Date of Birth","sectionName":"Client 1 - Dependants Table","clientIndex":1,"displayOrder":2,"productType":null,"coverTypeId":null,"kind":"BlockField","surface":"Both","collectionKey":"CLIENT_1_DEPENDANTS","fieldToken":"DOB","insertText":"{{DOB}}"},{"key":"CLIENT_1_DEPENDANTS__RELATIONSHIP","displayName":"Relationship","sectionName":"Client 1 - Dependants Table","clientIndex":1,"displayOrder":3,"productType":null,"coverTypeId":null,"kind":"BlockField","surface":"Both","collectionKey":"CLIENT_1_DEPENDANTS","fieldToken":"RELATIONSHIP","insertText":"{{RELATIONSHIP}}"},{"key":"CLIENT_1_DEPENDANTS__TERM_YEARS","displayName":"Dependency Term (Years)","sectionName":"Client 1 - Dependants Table","clientIndex":1,"displayOrder":4,"productType":null,"coverTypeId":null,"kind":"BlockField","surface":"Both","collectionKey":"CLIENT_1_DEPENDANTS","fieldToken":"TERM_YEARS","insertText":"{{TERM_YEARS}}"}]},{"sectionName":"Client 1 - Existing Property","tokens":[{"key":"CLIENT_1_EP_INCLUDE_IN_CALCS","displayName":"Include in Monthly Calculations","sectionName":"Client 1 - Existing Property","clientIndex":1,"displayOrder":1,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EP_INCLUDE_IN_CALCS}}"},{"key":"CLIENT_1_EP_IS_SELLING","displayName":"Selling to Purchase New","sectionName":"Client 1 - Existing Property","clientIndex":1,"displayOrder":2,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EP_IS_SELLING}}"},{"key":"CLIENT_1_EP_ESTIMATED_SALE_PRICE","displayName":"Estimated Sale Price","sectionName":"Client 1 - Existing Property","clientIndex":1,"displayOrder":3,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EP_ESTIMATED_SALE_PRICE}}"},{"key":"CLIENT_1_EP_PLANS_IF_NOT_SELLING","displayName":"Plans If Not Selling","sectionName":"Client 1 - Existing Property","clientIndex":1,"displayOrder":4,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EP_PLANS_IF_NOT_SELLING}}"},{"key":"CLIENT_1_EP_POSTCODE","displayName":"Post Code","sectionName":"Client 1 - Existing Property","clientIndex":1,"displayOrder":5,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EP_POSTCODE}}"},{"key":"CLIENT_1_EP_COUNTRY","displayName":"Country","sectionName":"Client 1 - Existing Property","clientIndex":1,"displayOrder":6,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EP_COUNTRY}}"},{"key":"CLIENT_1_EP_RESIDENTIAL_ADDRESS","displayName":"Residential Address","sectionName":"Client 1 - Existing Property","clientIndex":1,"displayOrder":7,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EP_RESIDENTIAL_ADDRESS}}"},{"key":"CLIENT_1_EP_DATE_OF_OWNERSHIP","displayName":"Date of Ownership","sectionName":"Client 1 - Existing Property","clientIndex":1,"displayOrder":8,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EP_DATE_OF_OWNERSHIP}}"},{"key":"CLIENT_1_EP_OWNERSHIP_TYPE","displayName":"Ownership Type","sectionName":"Client 1 - Existing Property","clientIndex":1,"displayOrder":9,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EP_OWNERSHIP_TYPE}}"},{"key":"CLIENT_1_EP_PROPERTY_TYPE","displayName":"Property Type","sectionName":"Client 1 - Existing Property","clientIndex":1,"displayOrder":10,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EP_PROPERTY_TYPE}}"},{"key":"CLIENT_1_EP_SERVICE_CHARGE","displayName":"Service Charge","sectionName":"Client 1 - Existing Property","clientIndex":1,"displayOrder":11,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EP_SERVICE_CHARGE}}"},{"key":"CLIENT_1_EP_GROUND_RENT","displayName":"Ground Rent","sectionName":"Client 1 - Existing Property","clientIndex":1,"displayOrder":12,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EP_GROUND_RENT}}"},{"key":"CLIENT_1_EP_ORIGINAL_PURCHASE_PRICE","displayName":"Original Purchase Price","sectionName":"Client 1 - Existing Property","clientIndex":1,"displayOrder":14,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EP_ORIGINAL_PURCHASE_PRICE}}"},{"key":"CLIENT_1_EP_CURRENT_VALUATION","displayName":"Current Valuation","sectionName":"Client 1 - Existing Property","clientIndex":1,"displayOrder":15,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EP_CURRENT_VALUATION}}"},{"key":"CLIENT_1_EP_TENURE","displayName":"Tenure","sectionName":"Client 1 - Existing Property","clientIndex":1,"displayOrder":16,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EP_TENURE}}"},{"key":"CLIENT_1_EP_ANNUAL_COUNCIL_TAX","displayName":"Annual Council Tax","sectionName":"Client 1 - Existing Property","clientIndex":1,"displayOrder":17,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EP_ANNUAL_COUNCIL_TAX}}"},{"key":"CLIENT_1_EP_REMORTGAGE_DATE","displayName":"Remortgage Date","sectionName":"Client 1 - Existing Property","clientIndex":1,"displayOrder":18,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EP_REMORTGAGE_DATE}}"},{"key":"CLIENT_1_EP_OWNED_BY_LTD_COMPANY","displayName":"Owned by Limited Company","sectionName":"Client 1 - Existing Property","clientIndex":1,"displayOrder":19,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EP_OWNED_BY_LTD_COMPANY}}"},{"key":"CLIENT_1_EP_HAS_TENANCY_AGREEMENT","displayName":"Has Tenancy Agreement","sectionName":"Client 1 - Existing Property","clientIndex":1,"displayOrder":20,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EP_HAS_TENANCY_AGREEMENT}}"},{"key":"CLIENT_1_EP_MONTHLY_RENTAL_INCOME","displayName":"Monthly Rental Income","sectionName":"Client 1 - Existing Property","clientIndex":1,"displayOrder":21,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EP_MONTHLY_RENTAL_INCOME}}"},{"key":"CLIENT_1_EP_BTL_DETAILS","displayName":"Buy To Let Details","sectionName":"Client 1 - Existing Property","clientIndex":1,"displayOrder":22,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EP_BTL_DETAILS}}"},{"key":"CLIENT_1_EP_IS_HMO","displayName":"Is HMO / House Share","sectionName":"Client 1 - Existing Property","clientIndex":1,"displayOrder":23,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EP_IS_HMO}}"},{"key":"CLIENT_1_EP_RENT_PER_ROOM","displayName":"Rent Per Room","sectionName":"Client 1 - Existing Property","clientIndex":1,"displayOrder":24,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EP_RENT_PER_ROOM}}"},{"key":"CLIENT_1_EP_COMMERCIAL_DETAILS","displayName":"Commercial Property Details","sectionName":"Client 1 - Existing Property","clientIndex":1,"displayOrder":25,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EP_COMMERCIAL_DETAILS}}"},{"key":"CLIENT_1_EP_HAS_MORTGAGE","displayName":"Has Mortgage","sectionName":"Client 1 - Existing Property","clientIndex":1,"displayOrder":26,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EP_HAS_MORTGAGE}}"},{"key":"CLIENT_1_EP_LEASE_TERM_YEARS","displayName":"Lease Term Remaining (Years)","sectionName":"Client 1 - Existing Property","clientIndex":1,"displayOrder":27,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EP_LEASE_TERM_YEARS}}"},{"key":"CLIENT_1_EP_LEASE_TERM_MONTHS","displayName":"Lease Term Remaining (Months)","sectionName":"Client 1 - Existing Property","clientIndex":1,"displayOrder":28,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EP_LEASE_TERM_MONTHS}}"},{"key":"CLIENT_1_EP_HAS_SHARE_OF_FREEHOLD","displayName":"Share of Freehold","sectionName":"Client 1 - Existing Property","clientIndex":1,"displayOrder":29,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EP_HAS_SHARE_OF_FREEHOLD}}"},{"key":"CLIENT_1_EP_ANNUAL_CHIEF_RENT","displayName":"Annual Chief Rent / Feu Duty","sectionName":"Client 1 - Existing Property","clientIndex":1,"displayOrder":30,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EP_ANNUAL_CHIEF_RENT}}"}]},{"sectionName":"Client 1 - Existing Property Mortgage","tokens":[{"key":"CLIENT_1_EP_MTG_COMMERCIAL_DESCRIPTION","displayName":"Commercial Property Description","sectionName":"Client 1 - Existing Property Mortgage","clientIndex":1,"displayOrder":1,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EP_MTG_COMMERCIAL_DESCRIPTION}}"},{"key":"CLIENT_1_EP_MTG_ORIGINAL_AMOUNT","displayName":"Original Mortgage Amount","sectionName":"Client 1 - Existing Property Mortgage","clientIndex":1,"displayOrder":2,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EP_MTG_ORIGINAL_AMOUNT}}"},{"key":"CLIENT_1_EP_MTG_OUTSTANDING_AMOUNT","displayName":"Outstanding Mortgage Amount","sectionName":"Client 1 - Existing Property Mortgage","clientIndex":1,"displayOrder":3,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EP_MTG_OUTSTANDING_AMOUNT}}"},{"key":"CLIENT_1_EP_MTG_MONTHLY_PAYMENT","displayName":"Current Monthly Payment","sectionName":"Client 1 - Existing Property Mortgage","clientIndex":1,"displayOrder":4,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EP_MTG_MONTHLY_PAYMENT}}"},{"key":"CLIENT_1_EP_MTG_LENDER","displayName":"Lender","sectionName":"Client 1 - Existing Property Mortgage","clientIndex":1,"displayOrder":5,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EP_MTG_LENDER}}"},{"key":"CLIENT_1_EP_MTG_RATE_TYPE","displayName":"Rate Type","sectionName":"Client 1 - Existing Property Mortgage","clientIndex":1,"displayOrder":6,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EP_MTG_RATE_TYPE}}"},{"key":"CLIENT_1_EP_MTG_CURRENT_RATE_PERCENT","displayName":"Current Rate %","sectionName":"Client 1 - Existing Property Mortgage","clientIndex":1,"displayOrder":7,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EP_MTG_CURRENT_RATE_PERCENT}}"},{"key":"CLIENT_1_EP_MTG_REMAINING_TERM_YEARS","displayName":"Remaining Term (Years)","sectionName":"Client 1 - Existing Property Mortgage","clientIndex":1,"displayOrder":8,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EP_MTG_REMAINING_TERM_YEARS}}"},{"key":"CLIENT_1_EP_MTG_REMAINING_TERM_MONTHS","displayName":"Remaining Term (Months)","sectionName":"Client 1 - Existing Property Mortgage","clientIndex":1,"displayOrder":9,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EP_MTG_REMAINING_TERM_MONTHS}}"},{"key":"CLIENT_1_EP_MTG_REPAYMENT_METHOD","displayName":"Repayment Method","sectionName":"Client 1 - Existing Property Mortgage","clientIndex":1,"displayOrder":10,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EP_MTG_REPAYMENT_METHOD}}"},{"key":"CLIENT_1_EP_MTG_INTEREST_ONLY_AMOUNT","displayName":"Interest Only Amount","sectionName":"Client 1 - Existing Property Mortgage","clientIndex":1,"displayOrder":11,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EP_MTG_INTEREST_ONLY_AMOUNT}}"},{"key":"CLIENT_1_EP_MTG_REPAYMENT_AMOUNT","displayName":"Repayment Amount","sectionName":"Client 1 - Existing Property Mortgage","clientIndex":1,"displayOrder":12,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EP_MTG_REPAYMENT_AMOUNT}}"},{"key":"CLIENT_1_EP_MTG_REPAID_BEFORE_COMPLETION","displayName":"Repaid Before Completion","sectionName":"Client 1 - Existing Property Mortgage","clientIndex":1,"displayOrder":13,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EP_MTG_REPAID_BEFORE_COMPLETION}}"},{"key":"CLIENT_1_EP_MTG_EARLY_REPAYMENT_CHARGE","displayName":"Early Repayment Charge","sectionName":"Client 1 - Existing Property Mortgage","clientIndex":1,"displayOrder":14,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EP_MTG_EARLY_REPAYMENT_CHARGE}}"},{"key":"CLIENT_1_EP_MTG_REPAYMENT_SOURCE","displayName":"Repayment Source","sectionName":"Client 1 - Existing Property Mortgage","clientIndex":1,"displayOrder":15,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EP_MTG_REPAYMENT_SOURCE}}"},{"key":"CLIENT_1_EP_MTG_HAS_OTHER_CHARGES","displayName":"Has Other Charges Outstanding","sectionName":"Client 1 - Existing Property Mortgage","clientIndex":1,"displayOrder":16,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EP_MTG_HAS_OTHER_CHARGES}}"},{"key":"CLIENT_1_EP_MTG_OTHER_CHARGES_DESCRIPTION","displayName":"Other Charges Description","sectionName":"Client 1 - Existing Property Mortgage","clientIndex":1,"displayOrder":17,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EP_MTG_OTHER_CHARGES_DESCRIPTION}}"}]},{"sectionName":"Client 1 - Expenditure","tokens":[{"key":"CLIENT_1_EXP_OTHER_MORTGAGE_RENT","displayName":"Other Mortgage / Rent","sectionName":"Client 1 - Expenditure","clientIndex":1,"displayOrder":1,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EXP_OTHER_MORTGAGE_RENT}}"},{"key":"CLIENT_1_EXP_SPOUSE_CHILD_MAINTENANCE","displayName":"Spouse / Child Maintenance","sectionName":"Client 1 - Expenditure","clientIndex":1,"displayOrder":2,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EXP_SPOUSE_CHILD_MAINTENANCE}}"},{"key":"CLIENT_1_EXP_UTILITY_BILLS","displayName":"Utility Bills","sectionName":"Client 1 - Expenditure","clientIndex":1,"displayOrder":2,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EXP_UTILITY_BILLS}}"},{"key":"CLIENT_1_EXP_ELECTRICITY_GAS_OIL","displayName":"Electricity / Gas / Oil","sectionName":"Client 1 - Expenditure","clientIndex":1,"displayOrder":3,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EXP_ELECTRICITY_GAS_OIL}}"},{"key":"CLIENT_1_EXP_WATER","displayName":"Water","sectionName":"Client 1 - Expenditure","clientIndex":1,"displayOrder":4,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EXP_WATER}}"},{"key":"CLIENT_1_EXP_COMMUNICATIONS","displayName":"Communications","sectionName":"Client 1 - Expenditure","clientIndex":1,"displayOrder":5,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EXP_COMMUNICATIONS}}"},{"key":"CLIENT_1_EXP_TRANSPORT_COSTS","displayName":"Transport Costs","sectionName":"Client 1 - Expenditure","clientIndex":1,"displayOrder":6,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EXP_TRANSPORT_COSTS}}"},{"key":"CLIENT_1_EXP_TELEVISION","displayName":"Television","sectionName":"Client 1 - Expenditure","clientIndex":1,"displayOrder":6,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EXP_TELEVISION}}"},{"key":"CLIENT_1_EXP_STUDENT_LOAN","displayName":"Student Loan","sectionName":"Client 1 - Expenditure","clientIndex":1,"displayOrder":7,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EXP_STUDENT_LOAN}}"},{"key":"CLIENT_1_EXP_COUNCIL_TAX","displayName":"Council Tax","sectionName":"Client 1 - Expenditure","clientIndex":1,"displayOrder":7,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EXP_COUNCIL_TAX}}"},{"key":"CLIENT_1_EXP_EDUCATION_FEES","displayName":"Education Fees","sectionName":"Client 1 - Expenditure","clientIndex":1,"displayOrder":8,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EXP_EDUCATION_FEES}}"},{"key":"CLIENT_1_EXP_CAR_COSTS","displayName":"Car Costs","sectionName":"Client 1 - Expenditure","clientIndex":1,"displayOrder":8,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EXP_CAR_COSTS}}"},{"key":"CLIENT_1_EXP_OTHER_TRANSPORT","displayName":"Other Transport Costs","sectionName":"Client 1 - Expenditure","clientIndex":1,"displayOrder":9,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EXP_OTHER_TRANSPORT}}"},{"key":"CLIENT_1_EXP_SERVICE_GROUND_RENT","displayName":"Service Charge / Ground Rent","sectionName":"Client 1 - Expenditure","clientIndex":1,"displayOrder":10,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EXP_SERVICE_GROUND_RENT}}"},{"key":"CLIENT_1_EXP_FOOD","displayName":"Food","sectionName":"Client 1 - Expenditure","clientIndex":1,"displayOrder":11,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EXP_FOOD}}"},{"key":"CLIENT_1_EXP_CLOTHING","displayName":"Clothing","sectionName":"Client 1 - Expenditure","clientIndex":1,"displayOrder":12,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EXP_CLOTHING}}"},{"key":"CLIENT_1_EXP_HOUSEHOLD_MAINTENANCE","displayName":"Household Maintenance","sectionName":"Client 1 - Expenditure","clientIndex":1,"displayOrder":13,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EXP_HOUSEHOLD_MAINTENANCE}}"},{"key":"CLIENT_1_EXP_ENTERTAINMENT","displayName":"Entertainment","sectionName":"Client 1 - Expenditure","clientIndex":1,"displayOrder":14,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EXP_ENTERTAINMENT}}"},{"key":"CLIENT_1_EXP_CHILDCARE","displayName":"Childcare","sectionName":"Client 1 - Expenditure","clientIndex":1,"displayOrder":15,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EXP_CHILDCARE}}"},{"key":"CLIENT_1_EXP_HOLIDAYS","displayName":"Holidays","sectionName":"Client 1 - Expenditure","clientIndex":1,"displayOrder":16,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EXP_HOLIDAYS}}"},{"key":"CLIENT_1_EXP_ANTICIPATE_INCREASE_5Y","displayName":"Anticipates Increase (5yr)","sectionName":"Client 1 - Expenditure","clientIndex":1,"displayOrder":17,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EXP_ANTICIPATE_INCREASE_5Y}}"},{"key":"CLIENT_1_EXP_PENSION_CONTRIBUTIONS","displayName":"Pension Contributions","sectionName":"Client 1 - Expenditure","clientIndex":1,"displayOrder":17,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EXP_PENSION_CONTRIBUTIONS}}"},{"key":"CLIENT_1_EXP_INVESTMENTS","displayName":"Investments","sectionName":"Client 1 - Expenditure","clientIndex":1,"displayOrder":18,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EXP_INVESTMENTS}}"},{"key":"CLIENT_1_EXP_ADDITIONAL_INFO","displayName":"Additional Information","sectionName":"Client 1 - Expenditure","clientIndex":1,"displayOrder":18,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EXP_ADDITIONAL_INFO}}"},{"key":"CLIENT_1_EXP_INSURANCES","displayName":"Insurances","sectionName":"Client 1 - Expenditure","clientIndex":1,"displayOrder":19,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_EXP_INSURANCES}}"},{"key":"CLIENT_1_TOTAL_MONTHLY_EXPENDITURE","displayName":"Total Monthly Expenditure","sectionName":"Client 1 - Expenditure","clientIndex":1,"displayOrder":20,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_TOTAL_MONTHLY_EXPENDITURE}}"}]},{"sectionName":"Client 1 - Financial Overview","tokens":[{"key":"CLIENT_1_FO_NET_INCOME","displayName":"Net Monthly Income","sectionName":"Client 1 - Financial Overview","clientIndex":1,"displayOrder":1,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_FO_NET_INCOME}}"},{"key":"CLIENT_1_FO_EXPENDITURE","displayName":"Monthly Expenditure","sectionName":"Client 1 - Financial Overview","clientIndex":1,"displayOrder":2,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_FO_EXPENDITURE}}"},{"key":"CLIENT_1_FO_DISPOSABLE","displayName":"Disposable Income","sectionName":"Client 1 - Financial Overview","clientIndex":1,"displayOrder":3,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_FO_DISPOSABLE}}"},{"key":"CLIENT_1_FO_MAX_MORTGAGE_BUDGET","displayName":"Max Mortgage Budget","sectionName":"Client 1 - Financial Overview","clientIndex":1,"displayOrder":4,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_FO_MAX_MORTGAGE_BUDGET}}"},{"key":"CLIENT_1_FO_MAX_PROTECTION_BUDGET","displayName":"Max Protection Budget","sectionName":"Client 1 - Financial Overview","clientIndex":1,"displayOrder":5,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_FO_MAX_PROTECTION_BUDGET}}"}]},{"sectionName":"Client 1 - Health","tokens":[{"key":"CLIENT_1_IS_SMOKER","displayName":"Smoker","sectionName":"Client 1 - Health","clientIndex":1,"displayOrder":1,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_IS_SMOKER}}"},{"key":"CLIENT_1_LAST_SMOKED_YEARS","displayName":"Last Smoked Years Ago","sectionName":"Client 1 - Health","clientIndex":1,"displayOrder":2,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_LAST_SMOKED_YEARS}}"},{"key":"CLIENT_1_LAST_SMOKED_MONTHS","displayName":"Last Smoked Months Ago","sectionName":"Client 1 - Health","clientIndex":1,"displayOrder":3,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_LAST_SMOKED_MONTHS}}"},{"key":"CLIENT_1_HAS_WILL","displayName":"Has Will","sectionName":"Client 1 - Health","clientIndex":1,"displayOrder":4,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_HAS_WILL}}"},{"key":"CLIENT_1_LAST_WILL_REVIEWED_YEARS","displayName":"Last Will Reviewed Years Ago","sectionName":"Client 1 - Health","clientIndex":1,"displayOrder":5,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_LAST_WILL_REVIEWED_YEARS}}"},{"key":"CLIENT_1_LAST_WILL_REVIEWED_MONTHS","displayName":"Last Will Reviewed Months Ago","sectionName":"Client 1 - Health","clientIndex":1,"displayOrder":6,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_LAST_WILL_REVIEWED_MONTHS}}"}]},{"sectionName":"Client 1 - Health Details","tokens":[{"key":"CLIENT_1_HEALTH_HAD_APPTS_12M","displayName":"Had Appointments (12m)","sectionName":"Client 1 - Health Details","clientIndex":1,"displayOrder":1,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_HEALTH_HAD_APPTS_12M}}"},{"key":"CLIENT_1_HEALTH_APPTS_DETAILS","displayName":"Appointment Details","sectionName":"Client 1 - Health Details","clientIndex":1,"displayOrder":2,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_HEALTH_APPTS_DETAILS}}"},{"key":"CLIENT_1_HEALTH_PLANNED_APPTS","displayName":"Planned / Pending Appointments","sectionName":"Client 1 - Health Details","clientIndex":1,"displayOrder":3,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_HEALTH_PLANNED_APPTS}}"},{"key":"CLIENT_1_HEALTH_PLANNED_DETAILS","displayName":"Planned Appointment Details","sectionName":"Client 1 - Health Details","clientIndex":1,"displayOrder":4,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_HEALTH_PLANNED_DETAILS}}"},{"key":"CLIENT_1_HEALTH_EARLY_RETIREMENT","displayName":"Early Retirement (Ill Health)","sectionName":"Client 1 - Health Details","clientIndex":1,"displayOrder":5,"productType":null,"coverTypeId":null,"kind":"Scalar","surface":"Both","collectionKey":null,"fieldToken":null,"insertText":"{{CLIENT_1_HEALTH_EARLY_RETIREMENT}}"},{"key":"CLIENT_1_HEALTH_EARLY_RET_DETAILS","displayName":"Early Retirement Details","sectio [TRUNCATED — original size: 358826 bytes]
2026-10-27 14:32:38.255 +00:00 [INF] [GEN] [U:-] [C:-] [T:f882ddb71f1a74013713f6a431be763a] HTTP GET /api/v1/business/policy-templates/1/editor-content responded 200 in 103.8398 ms
2026-10-27 14:32:38.254 +00:00 [INF] [HTTP] [U:656] [C:f18607711b09] [T:f882ddb71f1a74013713f6a431be763a] HTTP GET /api/v1/business/policy-templates/1/editor-content 200
Req: [no body] Res: {"success":true,"data":{"source":"Template","sourceId":1,"caseId":471,"title":"Personal Protection","isSystem":true,"htmlContent":"<div class=\"page\">\n\n <!-- The tenant letterhead (Type=Header policy template) is rendered and\n prepended into <body> by HtmlDocumentComposer, immediately before this\n .page wrapper. -->\n\n <!-- ====================== REPORT TITLE ======================= -->\n <h1 class=\"report-title\">Personal Protection Advice Suitability Report</h1>\n <p class=\"report-meta\">\n Prepared for\n <span class=\"client-name\">{{CLIENT_NAMES_JOINT}}</span>\n by {{CASE_ADVISER_NAME}} on {{TODAYS_DATE}}\n </p>\n <hr class=\"report-rule\" />\n\n <!-- ======================= INTRODUCTION ====================== -->\n <p>\n Further to our discussions regarding your health and protection needs, I\n have prepared this report to provide a summary of your objectives and, where\n appropriate, my recommendations.\n </p>\n <p>\n As part of the process, I have considered all of the information you have\n provided to me. If any of the details below are incorrect or if your\n circumstances have changed, then please let me know, as this may affect my\n recommendation.\n </p>\n\n <!-- ============= OBJECTIVES & CURRENT CIRCUMSTANCES ========== -->\n <div class=\"letter-section\">\n <h2 class=\"section\">Your Objectives and Current Circumstances</h2>\n <p>\n You accepted my offer to review your insurance needs. After the discussion,\n you confirmed that your needs and current circumstances were:\n </p>\n <p>{{PROTECTION_OBJECTIVES}}</p>\n </div>\n\n <!-- ============== PROTECTION NEEDS ASSESSED ================== -->\n <!-- Counts + cover totals per requirement type, from Sourcing > Needs &\n Preferences. Rows for covers with no requirement are removed by\n ProtectionNeedsRowFilter. It finds each row by its _COUNT token, so keep\n that token in every row. If no row is left, the whole section is removed. -->\n <div class=\"letter-section\">\n <h2 class=\"section\">Protection Needs Assessed</h2>\n <p>\n We reviewed each of the following types of cover with you. The table records\n the number of requirements identified for each and the total cover requested.\n </p>\n <table class=\"reco\">\n <tr>\n <th>Life &amp; Critical Illness</th>\n <td>{{LIFE_CI_COUNT}} requirement(s) &mdash; total lump sum cover requested &pound;{{LIFE_CI_TOTAL_COVER}}</td>\n </tr>\n </table>\n </div>\n\n <!-- ================== SUMMARY OF RECOMMENDATION ============== -->\n <div class=\"letter-section\">\n <h2 class=\"section\">My Recommendation</h2>\n <p>\n Having carefully considered your existing circumstances, insurance\n arrangements and the objectives that you have specified, this is my\n recommendation and the benefits it covers:\n </p>\n </div>\n\n <!-- One block per recommended PROVIDER QUOTE. RECOMMENDATION_TABLE emits the WHOLE combined table\n from C#: three quote-level rows (Policy Owner / Provider &amp; Product / Policy Number(s)), a\n \"Benefit details\" bar, then the transposed per-benefit rows. Policy details are saved one row\n per benefit, and grouping those rows back to the quote is what stops the same provider printing\n once per cover.\n\n It is a whole <table>, dropped on its own line - NOT row markup inside a <table> the template\n authors. A bare token as a direct child of <table> is invalid HTML: the frontend editor (and\n every other parser) foster-parents it out, which put the benefit rows as a text blob above an\n empty table. That is why this is one self-contained C# token now.\n\n Provider Recommendation, Reason for Cover Amount and Reason for Term Length are the last three\n rows of this table, one cell per benefit. They used to print as paragraphs below it.\n\n The Lives Assured benefit row appears only on a 2+ applicant case. Indexation and Total\n Permanent Disability Cover come from the Solution Builder comparison snapshot\n (SbBenefitDetails). No longer adviser-typed.\n\n The table is class=\"data\" so it follows tenant branding via --accent / --line / --soft; the\n \"Benefit details\" bar uses the accent fill to separate the benefit rows from the rows above.\n\n There is no .letter-section wrapper on purpose. Without it the table can split across pages\n between rows. The PDF engine itself never cuts a single row in half. Do not wrap this token\n in .letter-section: the whole table would drop to the next page and leave a blank gap. -->\n <p>{{#each RECOMMENDED_PROVIDERS}}</p>\n {{RECOMMENDATION_TABLE}}\n <p>{{/each}}</p>\n\n <!-- When nothing has been recommended yet the RECOMMENDED_PROVIDERS region above collapses to\n nothing, leaving just this heading and the rationale below. An adviser may shortlist and\n complete the Recommended Product form for many candidates while comparing; until a quote is\n marked recommended it is not advice and must not appear here. -->\n\n <div class=\"letter-section\">\n <p>Please refer to the relevant product documentation for further details.</p>\n\n <p>Additional recommendations made and whether they were accepted or declined:</p>\n <p>{{PROTECTION_ADDITIONAL_RECOMMENDATIONS}}</p>\n </div>\n\n <!-- =================== AFFORDABILITY & BUDGET ================ -->\n <div class=\"letter-section\">\n <h2 class=\"section\">Affordability and budget</h2>\n <p>\n We discussed your budget based on your current and estimated future\n circumstances.\n {{#each PROTECTION_BUDGET}}We established that the products recommended fall within your\n monthly budget of &pound;{{FO_TOTAL_MAX_PROTECTION_BUDGET}}.{{/each}}\n </p>\n <!-- Household-combined Financial Overview totals. FO_TOTAL_EXPENDITURE already includes the shared\n CaseExpenditure record on a 2+ client case, and FO_TOTAL_DISPOSABLE is exactly\n FO_TOTAL_NET_INCOME - FO_TOTAL_EXPENDITURE (CaseRenderContextBuilder.LoadFinancialOverviewAsync).\n Deliberately NOT the per-client CLIENT_n_FO_* tokens: those subtract only a client's OWN\n expenditure and never the shared household record, so on a joint case they overstate each\n person's disposable income and do not sum to this total. -->\n <p>\n Based on the information you have provided, your total net monthly income is\n &pound;{{FO_TOTAL_NET_INCOME}} and your total monthly expenditure is\n &pound;{{FO_TOTAL_EXPENDITURE}}, leaving a monthly disposable income of\n &pound;{{FO_TOTAL_DISPOSABLE}}.\n </p>\n <p>\n <span class=\"editable\">[Adviser to add any affordability commentary here.]</span>\n </p>\n </div>\n\n <!-- ======================= USE OF TRUSTS ==================== -->\n <!-- Conditional section. PROTECTION_TRUST is a zero-or-one block collection driven by recommended\n products marked Add to Trust: it yields one item when any product is marked (this whole region\n renders once) and none otherwise (the region collapses to\n nothing, so the heading and prose disappear entirely rather than asserting a trust\n recommendation that was never made). The engine has no {{#if}} — see BlockTokenResolver. -->\n <p>{{#each PROTECTION_TRUST}}</p>\n <div class=\"letter-section\">\n <h2 class=\"section\">Use of trusts</h2>\n <p>I have recommended that this policy is placed in a trust because:</p>\n <p>\n <span class=\"editable\">[Trust rationale — adviser to complete while creating\n the suitability letter.]</span>\n </p>\n </div>\n <p>{{/each}}</p>\n\n <!-- ====================== ESTATE PLANNING =================== -->\n <div class=\"letter-section\">\n <h2 class=\"section\">Estate planning</h2>\n <p>\n If you do not have a Will, the proceeds of your estate may not go where you\n want them to in the event of your death. We recommend that you arrange a Will\n as part of this transaction if you have not already done so. Please let me\n know if you would like assistance with this.\n </p>\n </div>\n\n <!-- ================== REMAINING CONSIDERATIONS =============== -->\n <div class=\"letter-section\">\n <h2 class=\"section\">Remaining considerations</h2>\n <p>Please refer to your policy documentation for full details of the cover provided.</p>\n <p>\n You will lose the cover provided by this policy if you cancel the policy or\n do not pay your premiums.\n </p>\n <p>\n Insurers require full and honest disclosure of issues that might affect their\n decision to provide insurance. Failure to provide such disclosure may result\n in the insurer voiding your contract or refusing a claim.\n </p>\n <p>\n Your personal situation could change before your policy ends. It is important\n that we review your cover on a regular basis to ensure it is still suitable\n for your circumstances. Additionally, changes prior to your insurance cover\n starting may impact your ability to claim. It is your responsibility to\n inform me of any such changes.\n </p>\n <p>\n If your circumstances change, please contact me, and I will be happy to\n review your needs and make appropriate recommendations for any required\n changes.\n </p>\n <p>\n <span class=\"editable\">[Additional notes — adviser to add any further\n considerations here.]</span>\n </p>\n </div>\n\n <!-- ==================== CANCELLATION RIGHTS ================= -->\n <div class=\"letter-section\">\n <h2 class=\"section\">Cancellation Rights</h2>\n <p>\n You have the statutory right to change your mind. Once the policy begins, you\n will receive a cancellation notice. If you decide to cancel the policy, you\n must return the cancellation notice to the Insurance Provider within 30 days.\n </p>\n </div>\n\n <!-- ========================= COMMISSION ===================== -->\n <div class=\"letter-section\">\n <h2 class=\"section\">Commission</h2>\n <p>\n As agreed, {{FIRM_NAME}} will receive commission from the product provider\n for the initial advice, administration, and research services provided to\n you. This will be paid by the product provider as follows:\n </p>\n {{#each RECOMMENDED_PROVIDERS}}\n <p>{{PROVIDER}}: a commission of &pound;{{TOTAL_GROSS_COMMISSION}}.</p>\n {{/each}}\n </div>\n\n <!-- ======================= CONCLUSION ======================== -->\n <div class=\"letter-section\">\n <h2 class=\"section\">Conclusion</h2>\n <p>\n If you do not understand any part of our discussions or have any questions,\n then please do not hesitate to contact me.\n </p>\n <p>\n It is important that you regularly review your financial arrangements to\n ensure they meet your ongoing requirements.\n </p>\n <p>\n When providing our advice, we have relied on the information you have\n provided to us during the information-gathering process. If you feel this\n information is not a true reflection of your situation, then please let us\n know, as this may affect the recommendations made.\n </p>\n <p>\n We are authorised and regulated by the Financial Conduct Authority, as\n detailed in the Terms of Business provided to you. We would particularly draw\n your attention to the information concerning charges, cancellation and risk\n contained in the documentation provided. As the Initial Disclosure Document\n explains, you may be entitled to take your complaint to the Financial\n Ombudsman Service.\n </p>\n <p>\n The Key Features Document provides a great deal of information concerning the\n terms under which this/these policy/policies have been issued. You should\n read this document carefully and contact me if you have any queries\n concerning it. I would like to draw your particular attention to the sections\n on charges and cancellation.\n </p>\n </div>\n\n <!-- ======================== SIGN-OFF ========================= -->\n <div class=\"signoff\">\n <p class=\"sincerely\">Yours sincerely,</p>\n <div class=\"adviser\">{{CASE_ADVISER_NAME}}</div>\n <div class=\"firm\">{{FIRM_NAME}}</div>\n </div>\n\n <!-- ===================== LEGAL FOOTER ======================== -->\n <div class=\"legal-footer\">\n {{FIRM_NAME}} is authorised and regulated by the Financial Conduct\n Authority. FCA registration number {{FIRM_FCA_NUMBER}}. Registered in\n England &amp; Wales, company number {{FIRM_COMPANY_NUMBER}}. Registered\n office: {{FIRM_ADDRESS}}, {{FIRM_POSTCODE}}.\n </div>\n\n</div>","values":{"CLIENT_NAMES_JOINT":"Mr Goldiee Brar","CASE_ADVISER_NAME":"Kibwe Smith","TODAYS_DATE":"27-10-2026","PROTECTION_OBJECTIVES":"Test","LIFE_CI_COUNT":"1","LIFE_CI_TOTAL_COVER":"50,000.00","PROTECTION_ADDITIONAL_RECOMMENDATIONS":".","FO_TOTAL_MAX_PROTECTION_BUDGET":"500.00","FO_TOTAL_NET_INCOME":"10,000.00","FO_TOTAL_EXPENDITURE":"1,000.00","FO_TOTAL_DISPOSABLE":"9,000.00","FIRM_NAME":"Wealthmax Financial Advisers Ltd.","FIRM_FCA_NUMBER":"779955660","FIRM_COMPANY_NUMBER":"10501962","FIRM_ADDRESS":"R S M, 15-17, LONDON ROAD, BROMLEY, KENT","FIRM_POSTCODE":"BR 11DE"},"lists":{"RECOMMENDED_PROVIDERS":{"itemCount":2,"values":{"PROVIDER":"VitalityLife, MetLife","PRODUCT_NAME":"VitalityLife Optimised SIC 2X, General Insurance","CLIENT_NAMES":"Goldiee Brar, Goldiee Brar","POLICY_NUMBERS":"PO3344, MET123","BENEFIT_COUNT":"1, 1","TOTAL_PREMIUM":"24.10, 10.00","TOTAL_GROSS_COMMISSION":"481.05, 1,500.00","BUSINESS_TYPE":"New Business, New Business","IN_TRUST":"Yes, No","TRUST_TYPE":"Discretionary Split Trust, not recorded","POLICY_RECOMMENDATIONS":null,"INDEXATION":"Level, Level","TOTAL_PERMANENT_DISABILITY":"Included, Included"},"items":[{"PROVIDER":"VitalityLife","PRODUCT_NAME":"VitalityLife Optimised SIC 2X","CLIENT_NAMES":"Goldiee Brar","POLICY_NUMBERS":"PO3344","BENEFIT_COUNT":"1","TOTAL_PREMIUM":"24.10","TOTAL_GROSS_COMMISSION":"481.05","BUSINESS_TYPE":"New Business","IN_TRUST":"Yes","TRUST_TYPE":"Discretionary Split Trust","POLICY_RECOMMENDATIONS":null,"INDEXATION":"Level","TOTAL_PERMANENT_DISABILITY":"Included","RECOMMENDATION_TABLE":"<table class=\"data\" style=\"border-collapse:collapse;width:100%;margin:6px 0 14px 0;font-size:10pt;\"><tbody><tr><th class=\"rowhead\" style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;background:#f4f6f8;background:var(--soft,#f4f6f8);font-weight:600;width:34%;\">Policy Owner</th><td colspan=\"1\" style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;\">Goldiee Brar</td></tr><tr><th class=\"rowhead\" style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;background:#f4f6f8;background:var(--soft,#f4f6f8);font-weight:600;width:34%;\">Provider &amp; Product</th><td colspan=\"1\" style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;\">VitalityLife - VitalityLife Optimised SIC 2X</td></tr><tr><th class=\"rowhead\" style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;background:#f4f6f8;background:var(--soft,#f4f6f8);font-weight:600;width:34%;\">Policy Number(s)</th><td colspan=\"1\" style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;\">PO3344</td></tr><tr><th class=\"benefit-head\" colspan=\"2\" style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;background:#1a4d8f;background:var(--accent,#1a4d8f);color:#fff;font-weight:600;\">Benefit details</th></tr><tr><th class=\"rowhead\" style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;background:#f4f6f8;background:var(--soft,#f4f6f8);font-weight:600;width:34%;\">Benefit</th><td style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;\">Critical Illness</td></tr><tr><th class=\"rowhead\" style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;background:#f4f6f8;background:var(--soft,#f4f6f8);font-weight:600;width:34%;\">Cover Amount</th><td style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;\">&#163;50,000.00</td></tr><tr><th class=\"rowhead\" style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;background:#f4f6f8;background:var(--soft,#f4f6f8);font-weight:600;width:34%;\">Term</th><td style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;\">To age 65</td></tr><tr><th class=\"rowhead\" style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;background:#f4f6f8;background:var(--soft,#f4f6f8);font-weight:600;width:34%;\">Premium</th><td style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;\">&#163;24.10</td></tr><tr><th class=\"rowhead\" style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;background:#f4f6f8;background:var(--soft,#f4f6f8);font-weight:600;width:34%;\">Indexation</th><td style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;\">Level</td></tr><tr><th class=\"rowhead\" style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;background:#f4f6f8;background:var(--soft,#f4f6f8);font-weight:600;width:34%;\">Total Permanent Disability Cover</th><td style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;\">Included</td></tr><tr><th class=\"rowhead\" style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;background:#f4f6f8;background:var(--soft,#f4f6f8);font-weight:600;width:34%;\">Waiver of Premium</th><td style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;\">Included</td></tr><tr><th class=\"rowhead\" style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;background:#f4f6f8;background:var(--soft,#f4f6f8);font-weight:600;width:34%;\">Provider Recommendation</th><td style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;\">Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry&#39;s standard dummy text ever since 1966, when designers at Letraset and James Mosley, the librarian at St Bride Printing Library in London, took a 1914 Cicero translation and scrambled it to make dummy text for Letraset&#39;s Body Type sheets. It has survived not only many decades, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised thanks to these sheets and more recently with desktop publishing software like Aldus PageMaker and Microsoft Word including versions of Lorem Ipsum.\n\nLorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry&#39;s standard dummy text ever since 1966, when designers at Letraset and James Mosley, the librarian at St Bride Printing Library in London, took a 1914 Cicero translation and scrambled it to make dummy text for Letraset&#39;s Body Type sheets. It has survived not only many decades, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised thanks to these sheets and more recently with desktop publishing software like Aldus PageMaker and Microsoft Word including versions of Lorem Ipsum.\n\nLorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry&#39;s standard dummy text ever since 1966, when designers at Letraset and James Mosley, the librarian at St Bride Printing Library in London, took a 1914 Cicero translation and scrambled it to make dummy text for Letraset&#39;s Body Type sheets. It has survived not only many decades, but also the leap into electronic typesetting, remaining essentially unchaLorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry&#39;s standard dummy text ever since 1966, when designers at Letraset and James Mosley, the librarian at St Bride Printing Library in London, took a 1914 Cicero translation and scrambled it to make dummy text for Letraset&#39;s Body Type sheets. It has survived not only many decades, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised thanks to these sheets and more recently with desktop publishing software like Aldus PageMaker and Microsoft Word including versions of Lorem Ipsum.\n\nLorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry&#39;s standard dummy text ever since 1966, when designers at Letraset and James Mosley, the librarian at St Bride Printing Library in London, took a 1914 Cicero translation and scrambled it to make dummy text for Letraset&#39;s Body Type sheets. It has survived not only many decades, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised thanks to these sheets and more recently with desktop publishing software like Aldus PageMaker and Microsoft Word including versions of Lorem Ipsum.</td></tr><tr><th class=\"rowhead\" style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;background:#f4f6f8;background:var(--soft,#f4f6f8);font-weight:600;width:34%;\">Reason for Cover Amount</th><td style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;\">ethrtdfgrtdf</td></tr><tr><th class=\"rowhead\" style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;background:#f4f6f8;background:var(--soft,#f4f6f8);font-weight:600;width:34%;\">Reason for Term Length</th><td style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;\"></td></tr></tbody></table>","BENEFITS_TABLE":"<table class=\"data\" style=\"border-collapse:collapse;width:100%;margin:6px 0 14px 0;font-size:10pt;\"><tbody><tr><th class=\"benefit-head\" colspan=\"2\" style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;background:#1a4d8f;background:var(--accent,#1a4d8f);color:#fff;font-weight:600;\">Benefit details</th></tr><tr><th class=\"rowhead\" style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;background:#f4f6f8;background:var(--soft,#f4f6f8);font-weight:600;width:34%;\">Benefit</th><td style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;\">Critical Illness</td></tr><tr><th class=\"rowhead\" style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;background:#f4f6f8;background:var(--soft,#f4f6f8);font-weight:600;width:34%;\">Cover Amount</th><td style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;\">&#163;50,000.00</td></tr><tr><th class=\"rowhead\" style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;background:#f4f6f8;background:var(--soft,#f4f6f8);font-weight:600;width:34%;\">Term</th><td style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;\">To age 65</td></tr><tr><th class=\"rowhead\" style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;background:#f4f6f8;background:var(--soft,#f4f6f8);font-weight:600;width:34%;\">Premium</th><td style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;\">&#163;24.10</td></tr><tr><th class=\"rowhead\" style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;background:#f4f6f8;background:var(--soft,#f4f6f8);font-weight:600;width:34%;\">Indexation</th><td style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;\">Level</td></tr><tr><th class=\"rowhead\" style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;background:#f4f6f8;background:var(--soft,#f4f6f8);font-weight:600;width:34%;\">Total Permanent Disability Cover</th><td style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;\">Included</td></tr><tr><th class=\"rowhead\" style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;background:#f4f6f8;background:var(--soft,#f4f6f8);font-weight:600;width:34%;\">Waiver of Premium</th><td style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;\">Included</td></tr><tr><th class=\"rowhead\" style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;background:#f4f6f8;background:var(--soft,#f4f6f8);font-weight:600;width:34%;\">Provider Recommendation</th><td style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;\">Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry&#39;s standard dummy text ever since 1966, when designers at Letraset and James Mosley, the librarian at St Bride Printing Library in London, took a 1914 Cicero translation and scrambled it to make dummy text for Letraset&#39;s Body Type sheets. It has survived not only many decades, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised thanks to these sheets and more recently with desktop publishing software like Aldus PageMaker and Microsoft Word including versions of Lorem Ipsum.\n\nLorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry&#39;s standard dummy text ever since 1966, when designers at Letraset and James Mosley, the librarian at St Bride Printing Library in London, took a 1914 Cicero translation and scrambled it to make dummy text for Letraset&#39;s Body Type sheets. It has survived not only many decades, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised thanks to these sheets and more recently with desktop publishing software like Aldus PageMaker and Microsoft Word including versions of Lorem Ipsum.\n\nLorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry&#39;s standard dummy text ever since 1966, when designers at Letraset and James Mosley, the librarian at St Bride Printing Library in London, took a 1914 Cicero translation and scrambled it to make dummy text for Letraset&#39;s Body Type sheets. It has survived not only many decades, but also the leap into electronic typesetting, remaining essentially unchaLorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry&#39;s standard dummy text ever since 1966, when designers at Letraset and James Mosley, the librarian at St Bride Printing Library in London, took a 1914 Cicero translation and scrambled it to make dummy text for Letraset&#39;s Body Type sheets. It has survived not only many decades, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised thanks to these sheets and more recently with desktop publishing software like Aldus PageMaker and Microsoft Word including versions of Lorem Ipsum.\n\nLorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry&#39;s standard dummy text ever since 1966, when designers at Letraset and James Mosley, the librarian at St Bride Printing Library in London, took a 1914 Cicero translation and scrambled it to make dummy text for Letraset&#39;s Body Type sheets. It has survived not only many decades, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised thanks to these sheets and more recently with desktop publishing software like Aldus PageMaker and Microsoft Word including versions of Lorem Ipsum.</td></tr><tr><th class=\"rowhead\" style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;background:#f4f6f8;background:var(--soft,#f4f6f8);font-weight:600;width:34%;\">Reason for Cover Amount</th><td style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;\">ethrtdfgrtdf</td></tr><tr><th class=\"rowhead\" style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;background:#f4f6f8;background:var(--soft,#f4f6f8);font-weight:600;width:34%;\">Reason for Term Length</th><td style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;\"></td></tr></tbody></table>","BENEFIT_REASONS":null},{"PROVIDER":"MetLife","PRODUCT_NAME":"General Insurance","CLIENT_NAMES":"Goldiee Brar","POLICY_NUMBERS":"MET123","BENEFIT_COUNT":"1","TOTAL_PREMIUM":"10.00","TOTAL_GROSS_COMMISSION":"1,500.00","BUSINESS_TYPE":"New Business","IN_TRUST":"No","TRUST_TYPE":null,"POLICY_RECOMMENDATIONS":null,"INDEXATION":"Level","TOTAL_PERMANENT_DISABILITY":"Included","RECOMMENDATION_TABLE":"<table class=\"data\" style=\"border-collapse:collapse;width:100%;margin:6px 0 14px 0;font-size:10pt;\"><tbody><tr><th class=\"rowhead\" style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;background:#f4f6f8;background:var(--soft,#f4f6f8);font-weight:600;width:34%;\">Policy Owner</th><td colspan=\"1\" style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;\">Goldiee Brar</td></tr><tr><th class=\"rowhead\" style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;background:#f4f6f8;background:var(--soft,#f4f6f8);font-weight:600;width:34%;\">Provider &amp; Product</th><td colspan=\"1\" style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;\">MetLife - General Insurance</td></tr><tr><th class=\"rowhead\" style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;background:#f4f6f8;background:var(--soft,#f4f6f8);font-weight:600;width:34%;\">Policy Number(s)</th><td colspan=\"1\" style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;\">MET123</td></tr><tr><th class=\"benefit-head\" colspan=\"2\" style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;background:#1a4d8f;background:var(--accent,#1a4d8f);color:#fff;font-weight:600;\">Benefit details</th></tr><tr><th class=\"rowhead\" style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;background:#f4f6f8;background:var(--soft,#f4f6f8);font-weight:600;width:34%;\">Benefit</th><td style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;\">Critical Illness</td></tr><tr><th class=\"rowhead\" style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;background:#f4f6f8;background:var(--soft,#f4f6f8);font-weight:600;width:34%;\">Cover Amount</th><td style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;\">&#163;100.00</td></tr><tr><th class=\"rowhead\" style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;background:#f4f6f8;background:var(--soft,#f4f6f8);font-weight:600;width:34%;\">Term</th><td style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;\">12 years</td></tr><tr><th class=\"rowhead\" style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;background:#f4f6f8;background:var(--soft,#f4f6f8);font-weight:600;width:34%;\">Premium</th><td style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;\">&#163;10.00</td></tr><tr><th class=\"rowhead\" style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;background:#f4f6f8;background:var(--soft,#f4f6f8);font-weight:600;width:34%;\">Indexation</th><td style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;\">Level</td></tr><tr><th class=\"rowhead\" style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;background:#f4f6f8;background:var(--soft,#f4f6f8);font-weight:600;width:34%;\">Total Permanent Disability Cover</th><td style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;\">Included</td></tr><tr><th class=\"rowhead\" style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;background:#f4f6f8;background:var(--soft,#f4f6f8);font-weight:600;width:34%;\">Waiver of Premium</th><td style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;\">Included</td></tr><tr><th class=\"rowhead\" style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;background:#f4f6f8;background:var(--soft,#f4f6f8);font-weight:600;width:34%;\">Provider Recommendation</th><td style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;\">HGTHGH</td></tr><tr><th class=\"rowhead\" style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;background:#f4f6f8;background:var(--soft,#f4f6f8);font-weight:600;width:34%;\">Reason for Cover Amount</th><td style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;\"></td></tr><tr><th class=\"rowhead\" style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;background:#f4f6f8;background:var(--soft,#f4f6f8);font-weight:600;width:34%;\">Reason for Term Length</th><td style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;\"></td></tr></tbody></table>","BENEFITS_TABLE":"<table class=\"data\" style=\"border-collapse:collapse;width:100%;margin:6px 0 14px 0;font-size:10pt;\"><tbody><tr><th class=\"benefit-head\" colspan=\"2\" style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;background:#1a4d8f;background:var(--accent,#1a4d8f);color:#fff;font-weight:600;\">Benefit details</th></tr><tr><th class=\"rowhead\" style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;background:#f4f6f8;background:var(--soft,#f4f6f8);font-weight:600;width:34%;\">Benefit</th><td style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;\">Critical Illness</td></tr><tr><th class=\"rowhead\" style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;background:#f4f6f8;background:var(--soft,#f4f6f8);font-weight:600;width:34%;\">Cover Amount</th><td style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;\">&#163;100.00</td></tr><tr><th class=\"rowhead\" style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;background:#f4f6f8;background:var(--soft,#f4f6f8);font-weight:600;width:34%;\">Term</th><td style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;\">12 years</td></tr><tr><th class=\"rowhead\" style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;background:#f4f6f8;background:var(--soft,#f4f6f8);font-weight:600;width:34%;\">Premium</th><td style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;\">&#163;10.00</td></tr><tr><th class=\"rowhead\" style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;background:#f4f6f8;background:var(--soft,#f4f6f8);font-weight:600;width:34%;\">Indexation</th><td style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;\">Level</td></tr><tr><th class=\"rowhead\" style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;background:#f4f6f8;background:var(--soft,#f4f6f8);font-weight:600;width:34%;\">Total Permanent Disability Cover</th><td style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;\">Included</td></tr><tr><th class=\"rowhead\" style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;background:#f4f6f8;background:var(--soft,#f4f6f8);font-weight:600;width:34%;\">Waiver of Premium</th><td style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;\">Included</td></tr><tr><th class=\"rowhead\" style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;background:#f4f6f8;background:var(--soft,#f4f6f8);font-weight:600;width:34%;\">Provider Recommendation</th><td style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;\">HGTHGH</td></tr><tr><th class=\"rowhead\" style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;background:#f4f6f8;background:var(--soft,#f4f6f8);font-weight:600;width:34%;\">Reason for Cover Amount</th><td style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;\"></td></tr><tr><th class=\"rowhead\" style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;background:#f4f6f8;background:var(--soft,#f4f6f8);font-weight:600;width:34%;\">Reason for Term Length</th><td style=\"border:1px solid #cbd2d9;border:1px solid var(--line,#cbd2d9);padding:6px 9px;text-align:left;vertical-align:top;\"></td></tr></tbody></table>","BENEFIT_REASONS":null}],"htmlFields":["RECOMMENDATION_TABLE","BENEFITS_TABLE","BENEFIT_REASONS"]},"PROTECTION_BUDGET":{"itemCount":1,"values":{},"items":[{}],"htmlFields":[]},"PROTECTION_TRUST":{"itemCount":1,"values":{},"items":[{}],"htmlFields":[]}}},"timestamp":"2026-10-27T14:32:38.2543081Z"}
2026-10-27 14:32:38.188 +00:00 [INF] [GEN] [U:-] [C:-] [T:7361b7b06144952289ae6172a41bee8c] HTTP GET /api/v1/business/policy-templates/header responded 200 in 71.7941 ms
2026-10-27 14:32:38.187 +00:00 [INF] [HTTP] [U:656] [C:2f2274ac4a48] [T:7361b7b06144952289ae6172a41bee8c] HTTP GET /api/v1/business/policy-templates/header 200
Req: [no body] Res: {"success":true,"data":{"id":4,"title":"Letterhead Header","documentType":"Suitability","htmlContent":"<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n<meta charset=\"utf-8\" />\n<title>Policy Document</title>\n<style>:root {\n --ink: #1f2933;\n --muted: #52606d;\n --line: #cbd2d9;\n --accent: #1a4d8f; /* structure: headings, table headers, letterhead rule (brand Primary) */\n --accent-2: var(--accent); /* accent: website link, callout bar (brand Secondary) */\n --soft: #f4f6f8;\n}\n\n* { box-sizing: border-box; }\n\nbody {\n font-family: \"Helvetica Neue\", Arial, \"Segoe UI\", sans-serif;\n font-size: 11pt;\n line-height: 1.55;\n color: var(--ink);\n margin: 0;\n background: #fff;\n}\n\n/* Page geometry: the @page rule supplies the margins for @page-aware providers; the default pdflayer\n ignores @page and falls back to the PDF profile (PdfService SuitabilityLetter = 8/15/6/6). The side\n margins here (10mm) and in the profile (6mm) are tighter than the fact-find document so the wider\n recommendation table has more room; top/bottom stay close to it. .page fills the printable width\n with no padding of its own. */\n@page { size: A4 portrait; margin: 14mm 10mm 16mm 10mm }\n\n.page {\n width: 100%;\n max-width: 794px; /* A4 portrait content width at 96dpi, same as the fact-find .page */\n margin: 0 auto;\n}\n\n/* ── Addressee / meta ───────────────────────────────────── */\n.meta-row {\n display: flex;\n justify-content: space-between;\n gap: 30px;\n margin-bottom: 26px;\n}\n\n.addressee { font-size: 11pt; }\n.addressee .line { display: block; }\n.addressee .client-name { font-weight: 600; }\n\n.letter-meta {\n text-align: right;\n font-size: 10pt;\n color: var(--muted);\n white-space: nowrap;\n}\n.letter-meta .date { color: var(--ink); }\n\n/* ── Report title / meta ────────────────────────────────── */\n.report-title {\n font-size: 16pt;\n font-weight: 700;\n color: var(--accent);\n text-align: center;\n margin: 0 0 6px 0;\n}\n\n.report-meta {\n text-align: center;\n font-size: 10pt;\n color: var(--muted);\n margin: 0 0 12px 0;\n}\n.report-meta .client-name { font-weight: 600; color: var(--ink); }\n\n.report-rule {\n border: 0;\n border-top: 1px solid var(--line);\n margin: 0 0 18px 0;\n}\n\n/* Mortgage letters: the address block follows the title directly, with no meta line between. */\n.report-title + .meta-row { margin-top: 18px; }\n\n/* ── Subject / salutation (legacy letter chrome) ────────── */\n.subject {\n font-weight: 700;\n margin: 4px 0 18px 0;\n}\n\n.salutation { margin-bottom: 14px; }\n\n/* ── Body ───────────────────────────────────────────────── */\nh2.section {\n font-size: 11.5pt;\n color: var(--accent);\n margin: 22px 0 8px 0;\n padding-bottom: 4px;\n border-bottom: 1px solid var(--line);\n}\n\nh3.subsection {\n font-size: 10.5pt;\n color: var(--ink);\n margin: 14px 0 6px 0;\n}\n\np { margin: 0 0 12px 0; text-align: justify; }\n\nul { margin: 0 0 12px 0; padding-left: 18px; }\nul li { margin-bottom: 5px; }\n\n/* ── Rich-text tags emitted by the template editor ────────────\n The editor can produce any of the tags below, but only the classed\n variants above (h2.section / h3.subsection / table.data / table.reco)\n were previously styled — everything else fell back to the PDF engine's\n UA defaults, which use a different font stack and unpredictable margins.\n These rules give every editor-producible tag the document's own type\n scale, palette tokens and vertical rhythm. */\n\nh1 {\n font-size: 16pt;\n font-weight: 700;\n color: var(--accent);\n margin: 0 0 10px 0;\n}\n\nh4 {\n font-size: 10pt;\n font-weight: 700;\n color: var(--ink);\n margin: 12px 0 6px 0;\n}\n\nh5 {\n font-size: 9.5pt;\n font-weight: 700;\n color: var(--muted);\n margin: 10px 0 5px 0;\n}\n\nh6 {\n font-size: 9.5pt;\n font-weight: 600;\n color: var(--muted);\n text-transform: uppercase;\n letter-spacing: 0.04em;\n margin: 10px 0 5px 0;\n}\n\nol { margin: 0 0 12px 0; padding-left: 20px; }\nol li { margin-bottom: 5px; }\n\n/* Nested lists sit tighter — the outer list already paid the bottom margin. */\nli > ul,\nli > ol { margin: 4px 0 0 0; }\n\na {\n color: var(--accent-2);\n text-decoration: underline;\n}\n\nimg {\n max-width: 100%;\n height: auto;\n display: block;\n margin: 8px 0 12px 0;\n}\n\nblockquote {\n border-left: 3px solid var(--line);\n background: var(--soft);\n margin: 8px 0 14px 0;\n padding: 8px 14px;\n color: var(--muted);\n font-style: italic;\n}\nblockquote p { margin-bottom: 6px; }\nblockquote p:last-child { margin-bottom: 0; }\n\npre {\n background: var(--soft);\n border: 1px solid var(--line);\n padding: 8px 10px;\n margin: 6px 0 14px 0;\n font-family: \"Courier New\", Courier, monospace;\n font-size: 9.5pt;\n white-space: pre-wrap; /* PDF has no horizontal scroll — long lines must wrap, not clip */\n word-wrap: break-word;\n}\n\nstrong, b { font-weight: 700; }\nem, i { font-style: italic; }\nu { text-decoration: underline; }\ns, del { text-decoration: line-through; }\n\nsup, sub {\n font-size: 7.5pt;\n line-height: 0; /* keep the raised/lowered glyph from stretching its line box */\n}\nsup { vertical-align: super; }\nsub { vertical-align: sub; }\n\n/* ── Unclassed tables ─────────────────────────────────────────\n An editor-inserted table carries no .data / .reco class, so it would\n otherwise render with no borders at all. Give it the .data treatment. */\ntable {\n width: 100%;\n border-collapse: collapse;\n margin: 6px 0 14px 0;\n font-size: 10pt;\n}\ntable th, table td {\n border: 1px solid var(--line);\n padding: 6px 9px;\n text-align: left;\n vertical-align: top;\n}\ntable thead th {\n background: var(--accent);\n color: #fff;\n font-weight: 600;\n}\ntable tfoot th,\ntable tfoot td {\n background: var(--soft);\n font-weight: 700;\n}\ncaption {\n caption-side: top;\n text-align: left;\n font-weight: 600;\n font-size: 9.5pt;\n color: var(--muted);\n padding-bottom: 4px;\n}\n\n/* colgroup/col carry no visual styling of their own — they exist so an author-set\n width=\"\" or style=\"width:…\" on a <col> is honoured instead of being overridden\n by the engine's auto table layout. */\ncolgroup, col { border: 0; }\n\n/* ── Embedded media ───────────────────────────────────────────\n iframe/video/audio are stripped from every stored and rendered body by\n DocumentBodyNormalizer.StripEmbeddedMedia — they cannot render in the PDF\n and, left in a body, make every render re-fetch their src. They should\n therefore never reach this stylesheet. This rule is a belt-and-braces\n backstop only: if one ever does slip through a path that bypasses the\n normalizer, it stays hidden rather than punching an empty box into a\n client-facing letter. Do NOT add `img` here — the firm logo is an <img>. */\niframe, video, audio { display: none; }\n\n.editable {\n background: #fff7e6;\n border-bottom: 1px dashed #d9a441;\n padding: 0 2px;\n}\n\n.muted-note {\n font-size: 9.5pt;\n color: var(--muted);\n margin: 2px 0 14px 0;\n}\n\n/* ── Data tables (client circumstances / financial position) ── */\ntable.data {\n width: 100%;\n border-collapse: collapse;\n margin: 6px 0 14px 0;\n font-size: 10pt;\n}\ntable.data th, table.data td {\n border: 1px solid var(--line);\n padding: 6px 9px;\n text-align: left;\n vertical-align: top;\n}\ntable.data thead th {\n background: var(--accent);\n color: #fff;\n font-weight: 600;\n}\ntable.data th.rowhead {\n background: var(--soft);\n font-weight: 600;\n width: 34%;\n}\n/* Full-width bar inside the combined recommendation table that separates the quote-level rows from\n the per-benefit rows. Accent fill, same as a table header, so the two zones read apart. */\ntable.data th.benefit-head {\n background: var(--accent);\n color: #fff;\n font-weight: 600;\n text-align: left;\n}\ntable.data tr.total th,\ntable.data tr.total td {\n background: var(--soft);\n font-weight: 700;\n}\ntable.data td.num { text-align: right; white-space: nowrap; }\n\n/* ── Recommendations table ──────────────────────────────── */\ntable.reco {\n width: 100%;\n border-collapse: collapse;\n margin: 6px 0 14px 0;\n font-size: 10pt;\n}\ntable.reco th, table.reco td {\n border: 1px solid var(--line);\n padding: 7px 9px;\n text-align: left;\n vertical-align: top;\n}\ntable.reco th {\n background: var(--soft);\n font-weight: 600;\n width: 34%;\n}\n\n/* ── Risk warning callout ───────────────────────────────── */\n.callout {\n border-left: 4px solid var(--accent-2);\n background: var(--soft);\n padding: 12px 16px;\n margin: 8px 0 16px 0;\n font-size: 10.5pt;\n}\n.callout h3 { margin: 0 0 6px 0; font-size: 10.5pt; }\n.callout ul { margin: 0; padding-left: 18px; }\n.callout li { margin-bottom: 5px; }\n\n/* ── Sign-off ───────────────────────────────────────────── */\n.signoff { margin-top: 26px; }\n.signoff .sincerely { margin-bottom: 36px; }\n.signoff .adviser { font-weight: 700; }\n.signoff .firm { color: var(--muted); }\n\n/* ── Footer ─────────────────────────────────────────────── */\n.legal-footer {\n margin-top: 30px;\n padding-top: 10px;\n border-top: 1px solid var(--line);\n font-size: 8pt;\n color: var(--muted);\n line-height: 1.4;\n}\n\n/* ── Pagination (PDF page breaks) ───────────────────────────\n Without these the PDF engine breaks wherever the page happens to end: a section heading strands at\n the foot of a page with its body overleaf, and paragraphs/table rows get sliced mid-line. Both\n `break-*` (modern) and `page-break-*` (legacy alias) are set — print engines vary in which they\n honour. orphans/widows force at least two lines of a paragraph to stay together across a break. */\np, li {\n orphans: 2;\n widows: 2;\n}\n\n/* Never split these across a page.\n\n Do not add `tr` here. The PDF engine never splits a row anyway, so avoid-break on `tr` adds nothing.\n Setting it stops a table splitting between rows and pushes the whole table to the next page,\n which leaves a blank gap behind. See Documents-Diagnosis/factfind-pdf-grid-section-jumps-to-next-page.md\n for the engine behaviour.\n\n `page-break-inside: auto` is not a way to undo it. The engine ignores `auto`. */\nh2.section,\nh3.subsection,\np,\nblockquote,\npre,\nimg,\n.signoff,\n.legal-footer,\n.callout {\n break-inside: avoid;\n page-break-inside: avoid;\n}\n\n/* A heading must never be the last thing on a page — keep it with the content that follows.\n Applies to every heading level, not just the classed section/subsection ones. */\nh1, h2, h3, h4, h5, h6,\nh2.section,\nh3.subsection,\ncaption {\n break-after: avoid;\n page-break-after: avoid;\n}\n\n/* Keep a table with its introducing paragraph, and keep the header row with its first body row. */\ntable.reco {\n break-inside: avoid;\n page-break-inside: avoid;\n}\n\ntable.reco thead,\nthead {\n break-after: avoid;\n page-break-after: avoid;\n}\n\n/* A thead/tfoot repeats on each page when a long table does split. */\nthead { display: table-header-group; }\ntfoot { display: table-footer-group; }\n\n/* Keep an entire section together: the h2.section heading and everything that follows it up to the\n next h2.section (or end of document) is wrapped in a `.letter-section` container in each template's\n HTML (not by this stylesheet). This stops a heading landing at the foot of a page while its body\n text/table starts on the next page.\n\n `display: table` is load-bearing, not decorative: PdfLayer's rendering engine is an older\n WebKit/wkhtmltopdf-class engine that reliably honours `page-break-inside: avoid` on elements that\n establish a table formatting context (this is how the fact-find PDF keeps its `tbody.section-top`\n rows together — see FactFindFormatterSeeder.cs) but silently ignores it on plain block-level `<div>`\n elements, which never got full CSS Fragmentation support in that engine class. Forcing the wrapper\n into `display: table` gives every browser child an anonymous table-row/table-cell box, which is\n enough to make the same pagination rule that already works for fact-find apply here too — without\n restructuring the letter body into literal <table> markup. `break-inside` (modern) is kept alongside\n `page-break-inside` (legacy) for the small number of engines that only understand the newer property.\n\n Trade-off: a table cell is its own block-formatting-context boundary, so the wrapper's first child's\n top margin and last child's bottom margin no longer collapse through it the way a plain <div> would —\n expect a few extra pixels of visual gap between sections versus a bare div, which is intentional and\n harmless.\n\n Note: break-inside/page-break-inside can only ever be a request — if a section's content is taller\n than a full page (e.g. a large table or several subsections), the engine will still either split it\n internally or push the whole oversized block to the next page, leaving a gap on the page before it. */\n.letter-section {\n display: table;\n width: 100%;\n break-inside: avoid;\n page-break-inside: avoid;\n}/* Geometry mirrors the fact-find header: no top padding of its own — the page margin (@page on\n @page-aware providers, else the PDF profile) supplies the top gap — and full printable width so it\n aligns with the .page body below. The bottom padding is the internal gap to the report body. */\n.letterhead-block {\n width: 100%;\n max-width: 794px;\n margin: 0 auto;\n padding: 0 0 14mm 0;\n box-sizing: border-box;\n}\n\n.letterhead__top {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n}\n\n.letterhead__logo img {\n max-height: 70px;\n max-width: 240px;\n object-fit: contain;\n}\n\n.letterhead__firm {\n text-align: right;\n font-size: 9pt;\n color: var(--muted, #52606d);\n line-height: 1.4;\n}\n\n.letterhead__firm .firm-name {\n font-size: 16pt;\n font-weight: 700;\n color: var(--ink, #1f2933);\n margin-bottom: 4px;\n}\n\n.letterhead__contact {\n margin-top: 16px;\n text-align: center;\n font-size: 8pt;\n color: var(--muted, #52606d);\n}\n\n.letterhead__contact .website {\n color: var(--accent-2, #1a4d8f);\n}:root{--accent:#1f2d75;--accent-2:#fb9828;--soft:#f4f4f8;--line:#d2d5e3;}</style>\n</head>\n<body>\n<!--LETTERHEAD:START--><div class=\"letterhead-block\">\n <header class=\"letterhead\">\n <div class=\"letterhead__top\">\n <div class=\"letterhead__logo\"><img src=\"https://protectionmortgagecrm.blob.core.windows.net/superadmin/dev/tenant-documents/28/28/28_Wealthmax-Financial-Advisers-Ltd._2026-06-22/c0ad32e9-e1ee-413b-8c66-dc01cd0eeade..png?sv=2026-02-06&se=2026-10-26T08%3A46%3A28Z&sr=b&sp=r&rscd=attachment%3B+filename%3Dc0ad32e9-e1ee-413b-8c66-dc01cd0eeade..png%3B+filename*%3DUTF-8%27%27c0ad32e9-e1ee-413b-8c66-dc01cd0eeade..png&sig=x7w6jfFQtPpPJFpJV5zzrkSpaswPWEw21pY5oESVbws%3D\" alt=\"Wealthmax Financial Advisers Ltd.\" /></div>\n <div class=\"letterhead__firm\">\n <div class=\"firm-name\">Wealthmax Financial Advisers Ltd.</div>\n <div>R S M, 15-17, LONDON ROAD, BROMLEY, KENT</div>\n <div>BR 11DE</div>\n </div>\n </div>\n \n </header>\n</div><!--LETTERHEAD:END-->\n</body>\n</html>","isSystem":true,"createdAt":"2026-06-22T08:30:48.561566Z","updatedAt":"2026-10-27T13:41:30.74861Z"},"timestamp":"2026-10-27T14:32:38.1872841Z"}
2026-10-27 14:32:37.425 +00:00 [INF] [GEN] [U:-] [C:-] [T:304be8f5b600fc66a5a4c35417df6dc6] HTTP GET /api/v1/business/my-tenant responded 200 in 3.5641 ms
2026-10-27 14:32:37.424 +00:00 [INF] [HTTP] [U:656] [C:cf10f89472ad] [T:304be8f5b600fc66a5a4c35417df6dc6] HTTP GET /api/v1/business/my-tenant 200
Req: [no body] Res: {"success":true,"data":{"companyInfo":{"applicationId":"APP-0004","companyName":"Wealthmax Financial Advisers Ltd.","tradingStyle":"WFA","companyNumber":"10501962","fcaNumber":"779955660","website":"https://wealthmax.co.uk"},"contactInfo":{"mobileNumber":"+44 9875870657","telephone":"46457356789","companyEmail":"admin@wealthmax.co.uk","complianceEmail":"compliance@wealthmax.co.uk"},"addressInfo":{"postcode":"BR 11DE","companyAddress":"R S M, 15-17, LONDON ROAD, BROMLEY, KENT","city":"BROMLEY","country":"United Kingdom"},"documents":[],"socialUrls":{"facebookUrl":null,"instagramUrl":null,"xUrl":null,"linkedInUrl":null}},"timestamp":"2026-10-27T14:32:37.4247689Z"}
2026-10-27 14:32:37.406 +00:00 [INF] [GEN] [U:-] [C:-] [T:b68c174e2f2e02e5f44bb6868548ff35] HTTP GET /api/v1/business/cases/471/panel/tasks responded 200 in 16.2925 ms
2026-10-27 14:32:37.405 +00:00 [INF] [HTTP] [U:656] [C:2a5ea8c04f81] [T:b68c174e2f2e02e5f44bb6868548ff35] HTTP GET /api/v1/business/cases/471/panel/tasks 200
Req: [no body] Res: {"success":true,"data":{"caseId":471,"factFindComplete":true,"factFindSections":[],"productType":null,"sourcingSections":[],"totalPending":0},"timestamp":"2026-10-27T14:32:37.4054633Z"}
2026-10-27 14:32:37.277 +00:00 [INF] [GEN] [U:-] [C:-] [T:82f618371639bf0cd3a372c09c63a8fe] HTTP GET /api/v1/business/policy-templates responded 200 in 7.3448 ms
2026-10-27 14:32:37.277 +00:00 [INF] [HTTP] [U:656] [C:9ee07dd0c242] [T:82f618371639bf0cd3a372c09c63a8fe] HTTP GET /api/v1/business/policy-templates 200
Req: [no body] Res: {"success":true,"data":{"content":[{"id":13,"title":"TESTING_TEMPLATE2","productType":"PersonalProtection","coverType":{"id":1,"name":"Life Insurance","productTypeName":"Personal Protection"},"isActive":true,"isSystem":false,"state":"Published","createdByUserId":656,"createdByUserName":"Wealth Max","createdAt":"2026-09-23T10:08:25.235587Z"},{"id":12,"title":"TESTING_STATUS","productType":"PersonalProtection","coverType":{"id":7,"name":"Whole of Life","productTypeName":"Personal Protection"},"isActive":true,"isSystem":false,"state":"Published","createdByUserId":656,"createdByUserName":"Wealth Max","createdAt":"2026-09-23T09:45:17.804821Z"},{"id":1,"title":"Personal Protection","productType":"PersonalProtection","coverType":{"id":3,"name":"Life and Critical Illness","productTypeName":"Personal Protection"},"isActive":true,"isSystem":true,"state":"Published","createdByUserId":null,"createdByUserName":"System Generated","createdAt":"2026-06-22T08:30:48.523569Z"}],"pagination":{"page":0,"size":100,"totalElements":3,"totalPages":1,"hasNext":false,"hasPrevious":false,"isFirst":true,"isLast":true}},"timestamp":"2026-10-27T14:32:37.2772144Z"}
2026-10-27 14:32:37.047 +00:00 [INF] [GEN] [U:-] [C:-] [T:672fbaa6104d64b4958b8df89ae75e59] HTTP GET /api/v1/business/policy-templates/generated-policy responded 200 in 3.9374 ms
2026-10-27 14:32:37.047 +00:00 [INF] [HTTP] [U:656] [C:b936f4a9ea09] [T:672fbaa6104d64b4958b8df89ae75e59] HTTP GET /api/v1/business/policy-templates/generated-policy 200
Req: [no body] Res: {"success":true,"data":[{"id":417,"title":"Suitability Report v4 — 22 Oct 2026"}],"timestamp":"2026-10-27T14:32:37.0476759Z"}
2026-10-27 14:32:36.706 +00:00 [INF] [GEN] [U:-] [C:-] [T:14b1e380484b65ccb013c4b3ea2308f8] HTTP GET /api/v1/business/cases/471/notes/summary responded 200 in 13.8938 ms
2026-10-27 14:32:36.705 +00:00 [INF] [HTTP] [U:656] [C:e303ec7c41c8] [T:14b1e380484b65ccb013c4b3ea2308f8] HTTP GET /api/v1/business/cases/471/notes/summary 200
Req: [no body] Res: {"success":true,"data":{"notesAdded":0,"notesUnread":0},"timestamp":"2026-10-27T14:32:36.7057374Z"}
2026-10-27 14:32:36.648 +00:00 [INF] [GEN] [U:-] [C:-] [T:b8046d75453d7834cd5a7d9e2973c23b] HTTP GET /api/v1/business/cases/471 responded 200 in 33.6170 ms
2026-10-27 14:32:36.647 +00:00 [INF] [HTTP] [U:656] [C:6f10522d8de8] [T:b8046d75453d7834cd5a7d9e2973c23b] HTTP GET /api/v1/business/cases/471 200
Req: [no body] Res: {"success":true,"data":{"id":471,"userFacingCaseId":"CASE-0396","productType":"Personal Protection","productTypeDisplayName":"Personal Protection","coverTypeNames":["Critical Illness"],"caseStatusId":null,"caseStatusName":null,"outcome":"Open","isClosedManually":false,"closedReason":null,"policies":[{"recordType":"RecommendedProduct","recordId":145,"productId":null,"productName":"VitalityLife Optimised SIC 2X","coverTypeIds":[4],"coverTypeNames":["Critical Illness"],"policyStatusId":608,"policyStatusName":"Pending","phase":"InProgress"},{"recordType":"RecommendedProduct","recordId":148,"productId":null,"productName":"General Insurance","coverTypeIds":[4],"coverTypeNames":["Critical Illness"],"policyStatusId":608,"policyStatusName":"Pending","phase":"InProgress"}],"caseReviewGrade":null,"caseReviewGradeDisplayName":null,"preCheckStatus":"Issues Found","preCheckOutstandingCount":10,"complianceStatus":"Pre-Check Approved","stage":"Lead","internalState":"SuitabilityGenerated","clients":[{"caseClientId":543,"clientId":111,"clientName":"Goldiee Brar","factFindId":543,"welcomeKitAcknowledged":false,"welcomeKitAcknowledgedAt":null}],"assignedUserId":971,"assignedUserName":"Kibwe Smith","assignedUserArName":null,"assignedUserBranchName":"Wealthmax Financial Advisers Ltd.","introducerUserId":656,"introducerName":"Wealth Max","isLocked":false,"lockedAt":null,"canReassign":true,"tenantId":28,"createdBy":"656","createdAt":"2026-10-05T07:22:08.931196Z","updatedBy":"971","updatedAt":"2026-10-23T08:57:47.726355Z","caseInformation":{"factFind":[{"order":1,"sectionType":"Personal Details","status":"Complete","completedAt":"2026-10-23T08:57:47.706717Z","preCheckArea":"Fact Find","preCheckPageKey":"PersonalDetails","outstandingIssueCount":2,"totalIssueCount":12,"highestOutstandingPriority":"Major","clientCounts":[{"caseClientId":543,"clientName":"Goldiee Brar","outstandingIssueCount":2,"totalIssueCount":12,"highestOutstandingPriority":"Major"}]},{"order":2,"sectionType":"Income","status":"Complete","completedAt":"2026-10-05T07:22:10.517697Z","preCheckArea":"Fact Find","preCheckPageKey":"Income","outstandingIssueCount":1,"totalIssueCount":1,"highestOutstandingPriority":"Major","clientCounts":[{"caseClientId":543,"clientName":"Goldiee Brar","outstandingIssueCount":1,"totalIssueCount":1,"highestOutstandingPriority":"Major"}]},{"order":3,"sectionType":"Expenditure","status":"Complete","completedAt":"2026-10-17T07:51:47.720222Z","preCheckArea":"Fact Find","preCheckPageKey":"Expenditure","outstandingIssueCount":2,"totalIssueCount":2,"highestOutstandingPriority":"Critical","clientCounts":[{"caseClientId":543,"clientName":"Goldiee Brar","outstandingIssueCount":2,"totalIssueCount":2,"highestOutstandingPriority":"Critical"}]},{"order":4,"sectionType":"Assets","status":"Complete","completedAt":"2026-10-17T08:00:01.009474Z","preCheckArea":"Fact Find","preCheckPageKey":"Assets","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null,"clientCounts":[]},{"order":5,"sectionType":"Credit","status":"Complete","completedAt":"2026-10-17T08:00:09.39427Z","preCheckArea":"Fact Find","preCheckPageKey":"Credit","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null,"clientCounts":[]},{"order":6,"sectionType":"Life Style","status":"Complete","completedAt":"2026-10-17T08:00:16.258074Z","preCheckArea":"Fact Find","preCheckPageKey":"LifeStyle","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null,"clientCounts":[]},{"order":7,"sectionType":"Health","status":"Complete","completedAt":"2026-10-17T08:00:21.440694Z","preCheckArea":"Fact Find","preCheckPageKey":"Health","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null,"clientCounts":[]},{"order":9,"sectionType":"Existing Property","status":"Complete","completedAt":"2026-10-17T08:01:32.675251Z","preCheckArea":"Fact Find","preCheckPageKey":"ExistingProperty","outstandingIssueCount":1,"totalIssueCount":1,"highestOutstandingPriority":"Critical","clientCounts":[{"caseClientId":543,"clientName":"Goldiee Brar","outstandingIssueCount":1,"totalIssueCount":1,"highestOutstandingPriority":"Critical"}]},{"order":10,"sectionType":"Financial Overview","status":"Complete","completedAt":"2026-10-17T08:01:59.763285Z","preCheckArea":"Fact Find","preCheckPageKey":"FinancialOverview","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null,"clientCounts":[]}],"productType":{"name":"Personal Protection","coverTypeNames":[{"name":"Critical Illness","status":"Complete","completedAt":"2026-10-22T14:12:45.903899Z","preCheckArea":"Product Requirement","preCheckPageKey":null,"outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null,"clientCounts":[]}]},"sourcing":"Personal Protection","sourcingSection":[{"order":1,"sectionType":"Existing & Replacement Policies","status":"Complete","completedAt":"2026-10-05T07:23:47.489944Z","isEnabled":true,"preCheckArea":"Sourcing","preCheckPageKey":"ExistingReplacementPolicies","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null},{"order":2,"sectionType":"Needs & Preferences","status":"Complete","completedAt":null,"isEnabled":true,"preCheckArea":"Sourcing","preCheckPageKey":"NeedsAndPreferences","outstandingIssueCount":4,"totalIssueCount":4,"highestOutstandingPriority":"Major"},{"order":3,"sectionType":"Products","status":"Complete","completedAt":"2026-10-22T14:12:45.903899Z","isEnabled":true,"preCheckArea":"Sourcing","preCheckPageKey":"PersonalProtectionProducts","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null},{"order":4,"sectionType":"Recommendation","status":"Complete","completedAt":"2026-10-17T08:15:41.97152Z","isEnabled":true,"preCheckArea":"Sourcing","preCheckPageKey":"PersonalProtectionRecommendation","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null}],"suitability":{"documentsComplete":false,"pendingDocuments":[{"documentType":"PhotoId","label":"Photo ID","status":"Pending","completedAt":null,"missingForClients":[{"clientId":111,"fullName":"Goldiee Brar"}]},{"documentType":"QuoteComparisonReport","label":"Quote Comparison Report","status":"Pending","completedAt":null,"missingForClients":[]},{"documentType":"ProvidersIllustration","label":"Provider's Illustration","status":"Pending","completedAt":null,"missingForClients":[]},{"documentType":"KeyFeatures","label":"Key Features","status":"Pending","completedAt":null,"missingForClients":[]}],"preCheckArea":"Suitability","preCheckPageKey":"SuitabilityReport","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null}}},"timestamp":"2026-10-27T14:32:36.6472672Z"}
2026-10-27 14:32:34.590 +00:00 [INF] [GEN] [U:-] [C:-] [T:f9c1eba076b10ebd37fc537a93f5d780] HTTP GET /api/v1/business/sourcing/cases/471/recommended-products/263 responded 200 in 13.1312 ms
2026-10-27 14:32:34.590 +00:00 [INF] [HTTP] [U:656] [C:4b2765537cce] [T:f9c1eba076b10ebd37fc537a93f5d780] HTTP GET /api/v1/business/sourcing/cases/471/recommended-products/263 200
Req: [no body] Res: {"success":true,"data":[{"id":148,"caseId":471,"quoteId":263,"iPipelineQuoteId":null,"benefitId":"07a3ff65-71e0-47df-b338-13d56453a0ee","benefitKey":null,"benefitName":null,"quoteCover":null,"displayName":"Goldiee","isManualProduct":true,"policyStatusId":608,"policyStatusName":"Pending","phase":"InProgress","liveAt":null,"needsStatusReview":true,"basicInformation":{"productName":"General Insurance","productId":null,"provider":"MetLife","providerId":127,"addToTrust":false,"trustType":null},"policyInformation":{"clients":[{"caseClientId":543,"name":"Goldiee Brar"}],"sumAssured":100.00,"coverTypeIds":[4],"singleJointPolicy":"Single","policyNumber":"MET123","termType":"Term","terms":12,"toAge":null,"businessType":"New Business","protectionBasis":"Level","premiumPeriod":"Reviewable","premiumAmount":10.00,"benefitType":"Term","indexation":null,"isInTrustDeed":null,"interestRate":null,"typeOfLoan":null,"otherDetail":null,"underwritingBasis":null},"dependantDetails":[],"commissionInformation":{"grossCommission":1500.00,"commissionMonths":"12 Months","commissionType":"Indemnity"},"recommendations":{"policyRecommendations":null,"providerRecommended":"HGTHGH","reasonForCover":null,"reasonForTermLength":null},"isComplete":false}],"timestamp":"2026-10-27T14:32:34.5832973Z","preCheck":{"area":"Sourcing","pageKey":"PersonalProtectionProducts","pageTitle":"Products","caseClientId":null,"outstandingCount":0,"totalCount":0,"highestOutstandingPriority":null,"pageLevelIssues":[],"sectionIssues":[],"fieldIssues":[],"rowIssues":[]}}
2026-10-27 14:32:34.225 +00:00 [INF] [GEN] [U:-] [C:-] [T:3764d158c62d7ca1ae47204886a9b156] HTTP GET /api/v1/business/cases/471/panel/tasks responded 200 in 16.9014 ms
2026-10-27 14:32:34.225 +00:00 [INF] [HTTP] [U:656] [C:88373d098e60] [T:3764d158c62d7ca1ae47204886a9b156] HTTP GET /api/v1/business/cases/471/panel/tasks 200
Req: [no body] Res: {"success":true,"data":{"caseId":471,"factFindComplete":true,"factFindSections":[],"productType":null,"sourcingSections":[],"totalPending":0},"timestamp":"2026-10-27T14:32:34.2256076Z"}
2026-10-27 14:32:34.155 +00:00 [INF] [GEN] [U:-] [C:-] [T:9348f7106c7ba050203ecbf55e24dc80] HTTP GET /api/v1/business/sourcing/cases/471/recommended-products/259 responded 200 in 10.4662 ms
2026-10-27 14:32:34.155 +00:00 [INF] [HTTP] [U:656] [C:1b287aa47bb5] [T:9348f7106c7ba050203ecbf55e24dc80] HTTP GET /api/v1/business/sourcing/cases/471/recommended-products/259 200
Req: [no body] Res: {"success":true,"data":[{"id":145,"caseId":471,"quoteId":259,"iPipelineQuoteId":"50ea5749-58c8-4444-b1b9-6abf975866b7","benefitId":"1aa63587-db78-49f3-9506-62ce13cce672","benefitKey":"Term|First|CriticalIllness","benefitName":"Life Insurance","quoteCover":"Critical Illness","displayName":"Goldiee","isManualProduct":false,"policyStatusId":608,"policyStatusName":"Pending","phase":"InProgress","liveAt":null,"needsStatusReview":true,"basicInformation":{"productName":"VitalityLife Optimised SIC 2X","productId":null,"provider":"VitalityLife","providerId":131,"addToTrust":true,"trustType":"Discretionary Split Trust"},"policyInformation":{"clients":[{"caseClientId":543,"name":"Goldiee Brar"}],"sumAssured":50000.00,"coverTypeIds":[4],"singleJointPolicy":"Single","policyNumber":"PO3344","termType":"Upto Age","terms":null,"toAge":65,"businessType":"New Business","protectionBasis":"Level","premiumPeriod":"Reviewable","premiumAmount":24.10,"benefitType":"Term","indexation":null,"isInTrustDeed":null,"interestRate":null,"typeOfLoan":null,"otherDetail":null,"underwritingBasis":null},"dependantDetails":[],"commissionInformation":{"grossCommission":481.05,"commissionMonths":"12 Months","commissionType":"Indemnity"},"recommendations":{"policyRecommendations":null,"providerRecommended":"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since 1966, when designers at Letraset and James Mosley, the librarian at St Bride Printing Library in London, took a 1914 Cicero translation and scrambled it to make dummy text for Letraset's Body Type sheets. It has survived not only many decades, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised thanks to these sheets and more recently with desktop publishing software like Aldus PageMaker and Microsoft Word including versions of Lorem Ipsum.\n\nLorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since 1966, when designers at Letraset and James Mosley, the librarian at St Bride Printing Library in London, took a 1914 Cicero translation and scrambled it to make dummy text for Letraset's Body Type sheets. It has survived not only many decades, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised thanks to these sheets and more recently with desktop publishing software like Aldus PageMaker and Microsoft Word including versions of Lorem Ipsum.\n\nLorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since 1966, when designers at Letraset and James Mosley, the librarian at St Bride Printing Library in London, took a 1914 Cicero translation and scrambled it to make dummy text for Letraset's Body Type sheets. It has survived not only many decades, but also the leap into electronic typesetting, remaining essentially unchaLorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since 1966, when designers at Letraset and James Mosley, the librarian at St Bride Printing Library in London, took a 1914 Cicero translation and scrambled it to make dummy text for Letraset's Body Type sheets. It has survived not only many decades, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised thanks to these sheets and more recently with desktop publishing software like Aldus PageMaker and Microsoft Word including versions of Lorem Ipsum.\n\nLorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since 1966, when designers at Letraset and James Mosley, the librarian at St Bride Printing Library in London, took a 1914 Cicero translation and scrambled it to make dummy text for Letraset's Body Type sheets. It has survived not only many decades, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised thanks to these sheets and more recently with desktop publishing software like Aldus PageMaker and Microsoft Word including versions of Lorem Ipsum.","reasonForCover":"ethrtdfgrtdf","reasonForTermLength":null},"isComplete":true}],"timestamp":"2026-10-27T14:32:34.1518001Z","preCheck":{"area":"Sourcing","pageKey":"PersonalProtectionProducts","pageTitle":"Products","caseClientId":null,"outstandingCount":0,"totalCount":0,"highestOutstandingPriority":null,"pageLevelIssues":[],"sectionIssues":[],"fieldIssues":[],"rowIssues":[]}}
2026-10-27 14:32:33.452 +00:00 [INF] [GEN] [U:-] [C:-] [T:9975dd84493ed5f6a6a83635a5161b1e] HTTP GET /api/v1/business/case-review/pre-check/by-case/471/annotations responded 200 in 16.0240 ms
2026-10-27 14:32:33.452 +00:00 [INF] [HTTP] [U:656] [C:debbc3698bc9] [T:9975dd84493ed5f6a6a83635a5161b1e] HTTP GET /api/v1/business/case-review/pre-check/by-case/471/annotations 200
Req: [no body] Res: {"success":true,"data":{"caseId":471,"generatedAt":"2026-10-27T14:32:33.45173Z","pages":[{"area":"Fact Find","pageKey":"ExistingProperty","pageTitle":"Existing Property","caseClientId":543,"outstandingCount":1,"totalCount":1,"highestOutstandingPriority":"Critical","pageLevelIssues":[{"issueId":8,"issueReference":"ISS-1007","priority":"Critical","status":"In Progress","title":"Existing Property requires attention","complianceComment":"Property details missing","fieldKey":null,"fieldLabel":null,"sectionKey":null,"caseDocumentId":null,"fieldInstanceId":null,"isInstanceMissing":false,"isOutstanding":true}],"sectionIssues":[],"fieldIssues":[],"rowIssues":[]},{"area":"Fact Find","pageKey":"Expenditure","pageTitle":"Expenditure","caseClientId":543,"outstandingCount":2,"totalCount":2,"highestOutstandingPriority":"Critical","pageLevelIssues":[],"sectionIssues":[],"fieldIssues":[{"issueId":5,"issueReference":"ISS-1004","priority":"Critical","status":"Open","title":"Utility Bills requires attention","complianceComment":"wsedfcersdf","fieldKey":"UtilityBills","fieldLabel":"Utility Bills","sectionKey":"Expenditure","caseDocumentId":null,"fieldInstanceId":null,"isInstanceMissing":false,"isOutstanding":true},{"issueId":4,"issueReference":"ISS-1003","priority":"Minor","status":"Open","title":"Utility Bills requires attention","complianceComment":"wrsdfversdf","fieldKey":"UtilityBills","fieldLabel":"Utility Bills","sectionKey":"Expenditure","caseDocumentId":null,"fieldInstanceId":null,"isInstanceMissing":false,"isOutstanding":true}],"rowIssues":[]},{"area":"Fact Find","pageKey":"Income","pageTitle":"Income","caseClientId":543,"outstandingCount":1,"totalCount":1,"highestOutstandingPriority":"Major","pageLevelIssues":[],"sectionIssues":[{"issueId":3,"issueReference":"ISS-1002","priority":"Major","status":"Open","title":"Source of Income requires attention","complianceComment":"fggdcvsd","fieldKey":null,"fieldLabel":null,"sectionKey":"SourceOfIncome","caseDocumentId":null,"fieldInstanceId":null,"isInstanceMissing":false,"isOutstanding":true}],"fieldIssues":[],"rowIssues":[]},{"area":"Fact Find","pageKey":"PersonalDetails","pageTitle":"Personal Details","caseClientId":543,"outstandingCount":2,"totalCount":12,"highestOutstandingPriority":"Major","pageLevelIssues":[],"sectionIssues":[],"fieldIssues":[{"issueId":2,"issueReference":"ISS-1001","priority":"Critical","status":"Verified","title":"First Name requires attention","complianceComment":"change first name","fieldKey":"FirstName","fieldLabel":"First Name","sectionKey":"PersonalDetails","caseDocumentId":null,"fieldInstanceId":null,"isInstanceMissing":false,"isOutstanding":false},{"issueId":6,"issueReference":"ISS-1005","priority":"Critical","status":"Verified","title":"Last Name requires attention","complianceComment":"Error in last name","fieldKey":"LastName","fieldLabel":"Last Name","sectionKey":"PersonalDetails","caseDocumentId":null,"fieldInstanceId":null,"isInstanceMissing":false,"isOutstanding":false},{"issueId":7,"issueReference":"ISS-1006","priority":"Critical","status":"Verified","title":"Marital Status requires attention","complianceComment":"Name","fieldKey":"MaritalStatus","fieldLabel":"Marital Status","sectionKey":"PersonalDetails","caseDocumentId":null,"fieldInstanceId":null,"isInstanceMissing":false,"isOutstanding":false},{"issueId":17,"issueReference":"ISS-1016","priority":"Critical","status":"Verified","title":"First Name requires attention","complianceComment":"change first name","fieldKey":"FirstName","fieldLabel":"First Name","sectionKey":"PersonalDetails","caseDocumentId":null,"fieldInstanceId":null,"isInstanceMissing":false,"isOutstanding":false},{"issueId":63,"issueReference":"ISS-1062","priority":"Critical","status":"Addressed","title":"Nationality requires attention","complianceComment":"update nationality","fieldKey":"Nationality","fieldLabel":"Nationality","sectionKey":"PersonalDetails","caseDocumentId":null,"fieldInstanceId":null,"isInstanceMissing":false,"isOutstanding":false},{"issueId":1,"issueReference":"ISS-1000","priority":"Major","status":"Addressed","title":"Middle Name requires attention","complianceComment":"add middle name","fieldKey":"MiddleName","fieldLabel":"Middle Name","sectionKey":"PersonalDetails","caseDocumentId":null,"fieldInstanceId":null,"isInstanceMissing":false,"isOutstanding":false},{"issueId":10,"issueReference":"ISS-1009","priority":"Major","status":"Open","title":"Gender requires attention","complianceComment":"tfyhgrdtfg","fieldKey":"Gender","fieldLabel":"Gender","sectionKey":"PersonalDetails","caseDocumentId":null,"fieldInstanceId":null,"isInstanceMissing":false,"isOutstanding":true},{"issueId":19,"issueReference":"ISS-1018","priority":"Major","status":"Addressed","title":"Anticipated Retirement Age requires attention","complianceComment":"chnage anticipated age","fieldKey":"AnticipatedRetirementAge","fieldLabel":"Anticipated Retirement Age","sectionKey":"PersonalDetails","caseDocumentId":null,"fieldInstanceId":null,"isInstanceMissing":false,"isOutstanding":false},{"issueId":20,"issueReference":"ISS-1019","priority":"Major","status":"Addressed","title":"Mobile Phone requires attention","complianceComment":"Phone number is wrong","fieldKey":"MobilePhone","fieldLabel":"Mobile Phone","sectionKey":"PersonalDetails","caseDocumentId":null,"fieldInstanceId":null,"isInstanceMissing":false,"isOutstanding":false},{"issueId":43,"issueReference":"ISS-1042","priority":"Major","status":"Verified","title":"Has Will requires attention","complianceComment":"change will","fieldKey":"HasWill","fieldLabel":"Has Will","sectionKey":"PersonalDetails","caseDocumentId":null,"fieldInstanceId":null,"isInstanceMissing":false,"isOutstanding":false},{"issueId":64,"issueReference":"ISS-1063","priority":"Major","status":"Addressed","title":"Email requires attention","complianceComment":"update email","fieldKey":"Email","fieldLabel":"Email","sectionKey":"PersonalDetails","caseDocumentId":null,"fieldInstanceId":null,"isInstanceMissing":false,"isOutstanding":false}],"rowIssues":[{"issueId":22,"issueReference":"ISS-1021","priority":"Major","status":"Open","title":"Thackray Williams, 15-17, London Road, Bromley, Kent requires attention","complianceComment":"fdcgbsrgdfx","fieldKey":null,"fieldLabel":null,"sectionKey":"Addresses","caseDocumentId":null,"fieldInstanceId":107,"isInstanceMissing":false,"isOutstanding":true}]},{"area":"Sourcing","pageKey":"NeedsAndPreferences","pageTitle":"Needs & Preferences","caseClientId":null,"outstandingCount":4,"totalCount":4,"highestOutstandingPriority":"Major","pageLevelIssues":[{"issueId":11,"issueReference":"ISS-1010","priority":"Major","status":"Open","title":"Needs & Preferences requires attention","complianceComment":"ergversd","fieldKey":null,"fieldLabel":null,"sectionKey":null,"caseDocumentId":null,"fieldInstanceId":null,"isInstanceMissing":false,"isOutstanding":true}],"sectionIssues":[{"issueId":32,"issueReference":"ISS-1031","priority":"Major","status":"Open","title":"Life & Critical Illness requires attention","complianceComment":"ok","fieldKey":null,"fieldLabel":null,"sectionKey":"LifeCriticalIllnessNeeds","caseDocumentId":null,"fieldInstanceId":null,"isInstanceMissing":false,"isOutstanding":true},{"issueId":33,"issueReference":"ISS-1032","priority":"Major","status":"Open","title":"Objectives requires attention","complianceComment":"ok","fieldKey":null,"fieldLabel":null,"sectionKey":"Objectives","caseDocumentId":null,"fieldInstanceId":null,"isInstanceMissing":false,"isOutstanding":true}],"fieldIssues":[],"rowIssues":[{"issueId":21,"issueReference":"ISS-1020","priority":"Major","status":"Open","title":"Critical Illness Cover requires attention","complianceComment":"update needs and prefrence","fieldKey":null,"fieldLabel":null,"sectionKey":"LifeCriticalIllnessNeeds","caseDocumentId":null,"fieldInstanceId":194,"isInstanceMissing":false,"isOutstanding":true}]}],"caseReviewStatus":"Issues Found","totalOutstandingCount":10},"timestamp":"2026-10-27T14:32:33.4517385Z"}
2026-10-27 14:32:33.389 +00:00 [INF] [GEN] [U:-] [C:-] [T:0343e4b0bf3371b222b8c7327ea1020a] HTTP GET /api/v1/business/cases/471/notes/summary responded 200 in 10.1147 ms
2026-10-27 14:32:33.389 +00:00 [INF] [HTTP] [U:656] [C:44f20a2c61ad] [T:0343e4b0bf3371b222b8c7327ea1020a] HTTP GET /api/v1/business/cases/471/notes/summary 200
Req: [no body] Res: {"success":true,"data":{"notesAdded":0,"notesUnread":0},"timestamp":"2026-10-27T14:32:33.3896652Z"}
2026-10-27 14:32:33.382 +00:00 [INF] [GEN] [U:-] [C:-] [T:8673d049421272410774b9174edb9901] HTTP GET /api/v1/business/solution-builder/cases/471/quotes responded 200 in 10.7800 ms
2026-10-27 14:32:33.382 +00:00 [INF] [HTTP] [U:656] [C:a41e20e6961d] [T:8673d049421272410774b9174edb9901] HTTP GET /api/v1/business/solution-builder/cases/471/quotes 200
Req: [no body] Res: {"success":true,"data":{"caseId":471,"sbClientId":0,"events":[{"quoteId":263,"eventType":"Applied","eventTimeUtc":"2026-10-06T08:45:51.508021Z","solutionType":"Manual","isRecommended":true,"quotes":[{"iPipelineQuoteId":"00000000-0000-0000-0000-000000000000","productId":0,"productName":"General Insurance","providerName":"MetLife","providerId":127,"premium":10.00,"commissionAmount":1500.00,"expiryDate":"2026-10-06T08:45:51.508021Z","quoteDate":"2026-10-06T08:45:51.508021Z","overallUnderwritingDecision":null,"isRecommended":true,"benefits":[{"benefitKey":null,"benefitType":null,"benefitName":null,"coverType":null,"coverAmount":100.00,"livesAssured":null,"benefitBasis":null,"term":12,"toAge":null,"benefitId":"07a3ff65-71e0-47df-b338-13d56453a0ee","premium":10.00,"commissionAmount":1500.00,"indexation":null,"totalPermanentDisability":null,"displayName":null,"waiverOfPremium":null}]}]},{"quoteId":259,"eventType":"Like","eventTimeUtc":"2026-10-05T08:25:29.667Z","solutionType":"SingleBenefit","isRecommended":true,"quotes":[{"iPipelineQuoteId":"50ea5749-58c8-4444-b1b9-6abf975866b7","productId":6152,"productName":"VitalityLife Optimised SIC 2X","providerName":"VitalityLife","providerId":null,"premium":24.10,"commissionAmount":481.05,"expiryDate":"2026-11-03T00:00:00","quoteDate":"2026-10-05T08:24:57.317","overallUnderwritingDecision":"NotUnderwritten","isRecommended":true,"benefits":[{"benefitKey":"Term|First|CriticalIllness","benefitType":"Term","benefitName":"Life Insurance","coverType":"Critical Illness","coverAmount":50000,"livesAssured":"First","benefitBasis":null,"term":null,"toAge":65,"benefitId":"1aa63587-db78-49f3-9506-62ce13cce672","premium":24.10,"commissionAmount":481.05,"indexation":"Level","totalPermanentDisability":true,"displayName":"Goldiee","waiverOfPremium":"FirstLife"}]}]}]},"timestamp":"2026-10-27T14:32:33.3819097Z"}
2026-10-27 14:32:33.299 +00:00 [INF] [GEN] [U:-] [C:-] [T:8d466a11dffbc8a661baf6e5ee40befe] HTTP GET /api/v1/business/cases/471 responded 200 in 37.1263 ms
2026-10-27 14:32:33.299 +00:00 [INF] [HTTP] [U:656] [C:ec45877e95b6] [T:8d466a11dffbc8a661baf6e5ee40befe] HTTP GET /api/v1/business/cases/471 200
Req: [no body] Res: {"success":true,"data":{"id":471,"userFacingCaseId":"CASE-0396","productType":"Personal Protection","productTypeDisplayName":"Personal Protection","coverTypeNames":["Critical Illness"],"caseStatusId":null,"caseStatusName":null,"outcome":"Open","isClosedManually":false,"closedReason":null,"policies":[{"recordType":"RecommendedProduct","recordId":145,"productId":null,"productName":"VitalityLife Optimised SIC 2X","coverTypeIds":[4],"coverTypeNames":["Critical Illness"],"policyStatusId":608,"policyStatusName":"Pending","phase":"InProgress"},{"recordType":"RecommendedProduct","recordId":148,"productId":null,"productName":"General Insurance","coverTypeIds":[4],"coverTypeNames":["Critical Illness"],"policyStatusId":608,"policyStatusName":"Pending","phase":"InProgress"}],"caseReviewGrade":null,"caseReviewGradeDisplayName":null,"preCheckStatus":"Issues Found","preCheckOutstandingCount":10,"complianceStatus":"Pre-Check Approved","stage":"Lead","internalState":"SuitabilityGenerated","clients":[{"caseClientId":543,"clientId":111,"clientName":"Goldiee Brar","factFindId":543,"welcomeKitAcknowledged":false,"welcomeKitAcknowledgedAt":null}],"assignedUserId":971,"assignedUserName":"Kibwe Smith","assignedUserArName":null,"assignedUserBranchName":"Wealthmax Financial Advisers Ltd.","introducerUserId":656,"introducerName":"Wealth Max","isLocked":false,"lockedAt":null,"canReassign":true,"tenantId":28,"createdBy":"656","createdAt":"2026-10-05T07:22:08.931196Z","updatedBy":"971","updatedAt":"2026-10-23T08:57:47.726355Z","caseInformation":{"factFind":[{"order":1,"sectionType":"Personal Details","status":"Complete","completedAt":"2026-10-23T08:57:47.706717Z","preCheckArea":"Fact Find","preCheckPageKey":"PersonalDetails","outstandingIssueCount":2,"totalIssueCount":12,"highestOutstandingPriority":"Major","clientCounts":[{"caseClientId":543,"clientName":"Goldiee Brar","outstandingIssueCount":2,"totalIssueCount":12,"highestOutstandingPriority":"Major"}]},{"order":2,"sectionType":"Income","status":"Complete","completedAt":"2026-10-05T07:22:10.517697Z","preCheckArea":"Fact Find","preCheckPageKey":"Income","outstandingIssueCount":1,"totalIssueCount":1,"highestOutstandingPriority":"Major","clientCounts":[{"caseClientId":543,"clientName":"Goldiee Brar","outstandingIssueCount":1,"totalIssueCount":1,"highestOutstandingPriority":"Major"}]},{"order":3,"sectionType":"Expenditure","status":"Complete","completedAt":"2026-10-17T07:51:47.720222Z","preCheckArea":"Fact Find","preCheckPageKey":"Expenditure","outstandingIssueCount":2,"totalIssueCount":2,"highestOutstandingPriority":"Critical","clientCounts":[{"caseClientId":543,"clientName":"Goldiee Brar","outstandingIssueCount":2,"totalIssueCount":2,"highestOutstandingPriority":"Critical"}]},{"order":4,"sectionType":"Assets","status":"Complete","completedAt":"2026-10-17T08:00:01.009474Z","preCheckArea":"Fact Find","preCheckPageKey":"Assets","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null,"clientCounts":[]},{"order":5,"sectionType":"Credit","status":"Complete","completedAt":"2026-10-17T08:00:09.39427Z","preCheckArea":"Fact Find","preCheckPageKey":"Credit","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null,"clientCounts":[]},{"order":6,"sectionType":"Life Style","status":"Complete","completedAt":"2026-10-17T08:00:16.258074Z","preCheckArea":"Fact Find","preCheckPageKey":"LifeStyle","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null,"clientCounts":[]},{"order":7,"sectionType":"Health","status":"Complete","completedAt":"2026-10-17T08:00:21.440694Z","preCheckArea":"Fact Find","preCheckPageKey":"Health","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null,"clientCounts":[]},{"order":9,"sectionType":"Existing Property","status":"Complete","completedAt":"2026-10-17T08:01:32.675251Z","preCheckArea":"Fact Find","preCheckPageKey":"ExistingProperty","outstandingIssueCount":1,"totalIssueCount":1,"highestOutstandingPriority":"Critical","clientCounts":[{"caseClientId":543,"clientName":"Goldiee Brar","outstandingIssueCount":1,"totalIssueCount":1,"highestOutstandingPriority":"Critical"}]},{"order":10,"sectionType":"Financial Overview","status":"Complete","completedAt":"2026-10-17T08:01:59.763285Z","preCheckArea":"Fact Find","preCheckPageKey":"FinancialOverview","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null,"clientCounts":[]}],"productType":{"name":"Personal Protection","coverTypeNames":[{"name":"Critical Illness","status":"Complete","completedAt":"2026-10-22T14:12:45.903899Z","preCheckArea":"Product Requirement","preCheckPageKey":null,"outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null,"clientCounts":[]}]},"sourcing":"Personal Protection","sourcingSection":[{"order":1,"sectionType":"Existing & Replacement Policies","status":"Complete","completedAt":"2026-10-05T07:23:47.489944Z","isEnabled":true,"preCheckArea":"Sourcing","preCheckPageKey":"ExistingReplacementPolicies","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null},{"order":2,"sectionType":"Needs & Preferences","status":"Complete","completedAt":null,"isEnabled":true,"preCheckArea":"Sourcing","preCheckPageKey":"NeedsAndPreferences","outstandingIssueCount":4,"totalIssueCount":4,"highestOutstandingPriority":"Major"},{"order":3,"sectionType":"Products","status":"Complete","completedAt":"2026-10-22T14:12:45.903899Z","isEnabled":true,"preCheckArea":"Sourcing","preCheckPageKey":"PersonalProtectionProducts","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null},{"order":4,"sectionType":"Recommendation","status":"Complete","completedAt":"2026-10-17T08:15:41.97152Z","isEnabled":true,"preCheckArea":"Sourcing","preCheckPageKey":"PersonalProtectionRecommendation","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null}],"suitability":{"documentsComplete":false,"pendingDocuments":[{"documentType":"PhotoId","label":"Photo ID","status":"Pending","completedAt":null,"missingForClients":[{"clientId":111,"fullName":"Goldiee Brar"}]},{"documentType":"QuoteComparisonReport","label":"Quote Comparison Report","status":"Pending","completedAt":null,"missingForClients":[]},{"documentType":"ProvidersIllustration","label":"Provider's Illustration","status":"Pending","completedAt":null,"missingForClients":[]},{"documentType":"KeyFeatures","label":"Key Features","status":"Pending","completedAt":null,"missingForClients":[]}],"preCheckArea":"Suitability","preCheckPageKey":"SuitabilityReport","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null}}},"timestamp":"2026-10-27T14:32:33.2982267Z"}
2026-10-27 14:32:33.257 +00:00 [INF] [GEN] [U:-] [C:-] [T:f98dc10fcf1bdcfbc2a71c828603847e] HTTP GET /api/v1/business/case-review/pre-check/by-case/471/anchors responded 200 in 3.2286 ms
2026-10-27 14:32:33.257 +00:00 [INF] [HTTP] [U:656] [C:32b5aa23c20d] [T:f98dc10fcf1bdcfbc2a71c828603847e] HTTP GET /api/v1/business/case-review/pre-check/by-case/471/anchors 200
Req: [no body] Res: {"success":true,"data":[{"area":"Fact Find","pageKey":"PersonalDetails","displayName":"Personal Details","isClientScoped":true,"allowsFieldAnchors":true},{"area":"Fact Find","pageKey":"Income","displayName":"Income","isClientScoped":true,"allowsFieldAnchors":true},{"area":"Fact Find","pageKey":"Expenditure","displayName":"Expenditure","isClientScoped":true,"allowsFieldAnchors":true},{"area":"Fact Find","pageKey":"Assets","displayName":"Assets","isClientScoped":true,"allowsFieldAnchors":true},{"area":"Fact Find","pageKey":"Credit","displayName":"Credit","isClientScoped":true,"allowsFieldAnchors":true},{"area":"Fact Find","pageKey":"LifeStyle","displayName":"Life Style","isClientScoped":true,"allowsFieldAnchors":true},{"area":"Fact Find","pageKey":"Health","displayName":"Health","isClientScoped":true,"allowsFieldAnchors":true},{"area":"Fact Find","pageKey":"CompanyDetails","displayName":"Company Details","isClientScoped":true,"allowsFieldAnchors":true},{"area":"Fact Find","pageKey":"ExistingProperty","displayName":"Existing Property","isClientScoped":true,"allowsFieldAnchors":true},{"area":"Fact Find","pageKey":"FinancialOverview","displayName":"Financial Overview","isClientScoped":true,"allowsFieldAnchors":true},{"area":"Sourcing","pageKey":"ExistingReplacementPolicies","displayName":"Existing & Replacement Policies","isClientScoped":false,"allowsFieldAnchors":true},{"area":"Sourcing","pageKey":"NeedsAndPreferences","displayName":"Needs & Preferences","isClientScoped":false,"allowsFieldAnchors":true},{"area":"Sourcing","pageKey":"PersonalProtectionProducts","displayName":"Products","isClientScoped":false,"allowsFieldAnchors":true},{"area":"Sourcing","pageKey":"PersonalProtectionRecommendation","displayName":"Recommendation","isClientScoped":false,"allowsFieldAnchors":true},{"area":"Sourcing","pageKey":"AccidentalCoverProducts","displayName":"Products","isClientScoped":false,"allowsFieldAnchors":true},{"area":"Sourcing","pageKey":"AccidentalCoverExistingPolicies","displayName":"Existing & Replacement Policies","isClientScoped":false,"allowsFieldAnchors":true},{"area":"Sourcing","pageKey":"AccidentalCoverNeedsAndPreferences","displayName":"Needs & Preferences","isClientScoped":false,"allowsFieldAnchors":true},{"area":"Suitability","pageKey":"SuitabilityReport","displayName":"Suitability Report","isClientScoped":false,"allowsFieldAnchors":false}],"timestamp":"2026-10-27T14:32:33.25651Z"}
2026-10-27 14:32:33.253 +00:00 [INF] [GEN] [U:-] [C:-] [T:c3659dc9801a8ec596cdfeb0702eb81f] HTTP GET /api/v1/business/my-tenant/branding responded 200 in 5.5660 ms
2026-10-27 14:32:33.253 +00:00 [INF] [HTTP] [U:656] [C:bda1582d3026] [T:c3659dc9801a8ec596cdfeb0702eb81f] HTTP GET /api/v1/business/my-tenant/branding 200
Req: [no body] Res: {"success":true,"data":{"primaryColor":"#1f2d75","secondaryColor":"#fb9828","logoUrl":"https://protectionmortgagecrm.blob.core.windows.net/superadmin/dev/tenant-documents/28/28/28_Wealthmax-Financial-Advisers-Ltd._2026-06-22/c0ad32e9-e1ee-413b-8c66-dc01cd0eeade..png?sv=2026-02-06&se=2026-10-27T15%3A32%3A33Z&sr=b&sp=r&rscd=attachment%3B+filename%3Dc0ad32e9-e1ee-413b-8c66-dc01cd0eeade..png%3B+filename*%3DUTF-8%27%27c0ad32e9-e1ee-413b-8c66-dc01cd0eeade..png&sig=AdUu4SvZ8cE6USOqmNf2KE5GrGNt7WKiCwnjS3TX6qw%3D","companyLogoThumbnailUrl":"https://protectionmortgagecrm.blob.core.windows.net/superadmin/staging/tenant-documents/28/f6694f6c-ddfc-4d16-80bc-664a01b3d416_logo.jpg?sv=2026-02-06&se=2036-07-18T13%3A31%3A06Z&sr=b&sp=r&sig=hNhUd61tHsDcA56Q%2F%2FmoaWos%2ByUFldaq%2Be979eNYxAE%3D","socialUrls":{"facebookUrl":null,"instagramUrl":null,"xUrl":null,"linkedInUrl":null}},"timestamp":"2026-10-27T14:32:33.2531165Z"}
2026-10-27 14:32:15.619 +00:00 [INF] [GEN] [U:-] [C:-] [T:59944292b634e602799b28c78da5a971] HTTP GET /api/v1/business/my-tenant/branding responded 200 in 20.7915 ms
2026-10-27 14:32:15.619 +00:00 [INF] [HTTP] [U:656] [C:066a130b6d22] [T:59944292b634e602799b28c78da5a971] HTTP GET /api/v1/business/my-tenant/branding 200
Req: [no body] Res: {"success":true,"data":{"primaryColor":"#1f2d75","secondaryColor":"#fb9828","logoUrl":"https://protectionmortgagecrm.blob.core.windows.net/superadmin/dev/tenant-documents/28/28/28_Wealthmax-Financial-Advisers-Ltd._2026-06-22/c0ad32e9-e1ee-413b-8c66-dc01cd0eeade..png?sv=2026-02-06&se=2026-10-27T15%3A32%3A15Z&sr=b&sp=r&rscd=attachment%3B+filename%3Dc0ad32e9-e1ee-413b-8c66-dc01cd0eeade..png%3B+filename*%3DUTF-8%27%27c0ad32e9-e1ee-413b-8c66-dc01cd0eeade..png&sig=xjp%2FDBXp3GMuCGR04jAS6IDDsaFEaqxyhgJ8abSvxII%3D","companyLogoThumbnailUrl":"https://protectionmortgagecrm.blob.core.windows.net/superadmin/staging/tenant-documents/28/f6694f6c-ddfc-4d16-80bc-664a01b3d416_logo.jpg?sv=2026-02-06&se=2036-07-18T13%3A31%3A06Z&sr=b&sp=r&sig=hNhUd61tHsDcA56Q%2F%2FmoaWos%2ByUFldaq%2Be979eNYxAE%3D","socialUrls":{"facebookUrl":null,"instagramUrl":null,"xUrl":null,"linkedInUrl":null}},"timestamp":"2026-10-27T14:32:15.6194802Z"}
2026-10-27 14:32:01.925 +00:00 [INF] [GEN] [U:-] [C:-] [T:277de2f8eeeca4d80b45cb8247fc2221] HTTP GET /api/v1/business/product-catalog/providers responded 200 in 5.3556 ms
2026-10-27 14:32:01.925 +00:00 [INF] [HTTP] [U:902] [C:945c1e10aff3] [T:277de2f8eeeca4d80b45cb8247fc2221] HTTP GET /api/v1/business/product-catalog/providers 200
Req: [no body] Res: {"success":true,"data":{"content":[{"id":144,"name":"Assurant","logo":null,"source":"ManualEntry","externalId":null,"isActive":true,"coverTypeIds":[14,16],"productSubTypes":["General Insurance"],"productCount":3,"createdAt":"2026-10-09T10:29:40.043628Z"},{"id":129,"name":"Aviva","logo":null,"source":"IPipeline","externalId":"nuc","isActive":true,"coverTypeIds":[1,4,5,7,8],"productSubTypes":["Personal Protection","Business Protection"],"productCount":15,"createdAt":"2026-06-20T09:00:37.305301Z"},{"id":142,"name":"Axa","logo":null,"source":"ManualEntry","externalId":null,"isActive":true,"coverTypeIds":[17],"productSubTypes":["Private Medical Insurance"],"productCount":2,"createdAt":"2026-10-09T10:29:40.043628Z"},{"id":139,"name":"Beagle Street","logo":null,"source":"IPipeline","externalId":"beaglest","isActive":true,"coverTypeIds":[1,4],"productSubTypes":["Personal Protection"],"productCount":2,"createdAt":"2026-07-10T09:26:58.253233Z"},{"id":121,"name":"British Friendly","logo":null,"source":"IPipeline","externalId":"britfriend","isActive":true,"coverTypeIds":[],"productSubTypes":["Personal Protection"],"productCount":3,"createdAt":"2026-06-20T09:00:37.305301Z"},{"id":122,"name":"Cirencester Friendly","logo":null,"source":"IPipeline","externalId":"cirenfr","isActive":true,"coverTypeIds":[],"productSubTypes":["Personal Protection"],"productCount":2,"createdAt":"2026-06-20T09:00:37.305301Z"},{"id":137,"name":"Gagan","logo":null,"source":"ManualEntry","externalId":null,"isActive":true,"coverTypeIds":[],"productSubTypes":[],"productCount":1,"createdAt":"2026-06-23T09:28:03.98139Z"},{"id":140,"name":"Gagan Deep","logo":null,"source":"ManualEntry","externalId":null,"isActive":true,"coverTypeIds":[],"productSubTypes":[],"productCount":1,"createdAt":"2026-09-21T10:02:25.279225Z"},{"id":138,"name":"Gagan Test","logo":null,"source":"ManualEntry","externalId":null,"isActive":true,"coverTypeIds":[],"productSubTypes":[],"productCount":1,"createdAt":"2026-06-23T09:30:02.696935Z"},{"id":124,"name":"Guardian","logo":null,"source":"IPipeline","externalId":"gryphon","isActive":true,"coverTypeIds":[4,5],"productSubTypes":["Personal Protection"],"productCount":10,"createdAt":"2026-06-20T09:00:37.305301Z"},{"id":125,"name":"Holloway Friendly","logo":null,"source":"IPipeline","externalId":"holloway","isActive":true,"coverTypeIds":[],"productSubTypes":["Personal Protection"],"productCount":6,"createdAt":"2026-06-20T09:00:37.305301Z"},{"id":130,"name":"LV=","logo":null,"source":"IPipeline","externalId":"permins","isActive":false,"coverTypeIds":[14,16],"productSubTypes":["General Insurance"],"productCount":24,"createdAt":"2026-06-20T09:00:37.305301Z"},{"id":126,"name":"Legal & General","logo":null,"source":"IPipeline","externalId":"legal","isActive":true,"coverTypeIds":[1,4,5,6,7,8,10,14,16],"productSubTypes":["Personal Protection","Business Protection","General Insurance"],"productCount":53,"createdAt":"2026-06-20T09:00:37.305301Z"},{"id":136,"name":"Manual Provider","logo":null,"source":"ManualEntry","externalId":null,"isActive":true,"coverTypeIds":[],"productSubTypes":[],"productCount":1,"createdAt":"2026-06-22T12:40:46.0954Z"},{"id":127,"name":"MetLife","logo":null,"source":"IPipeline","externalId":"metlife","isActive":true,"coverTypeIds":[21],"productSubTypes":["Personal Protection"],"productCount":15,"createdAt":"2026-06-20T09:00:37.305301Z"},{"id":128,"name":"National Friendly","logo":null,"source":"IPipeline","externalId":"natfriend","isActive":true,"coverTypeIds":[5],"productSubTypes":["Personal Protection"],"productCount":12,"createdAt":"2026-06-20T09:00:37.305301Z"},{"id":145,"name":"Payment Shield","logo":null,"source":"ManualEntry","externalId":null,"isActive":true,"coverTypeIds":[14,16],"productSubTypes":["General Insurance"],"productCount":3,"createdAt":"2026-10-09T10:29:40.043628Z"},{"id":132,"name":"Royal London","logo":null,"source":"IPipeline","externalId":"roylondon","isActive":true,"coverTypeIds":[4,5,7,8],"productSubTypes":["Personal Protection","Business Protection"],"productCount":18,"createdAt":"2026-06-20T09:00:37.305301Z"},{"id":133,"name":"Scottish Widows","logo":null,"source":"IPipeline","externalId":"scotwid","isActive":true,"coverTypeIds":[5,8],"productSubTypes":["Personal Protection","Business Protection"],"productCount":6,"createdAt":"2026-06-20T09:00:37.305301Z"},{"id":134,"name":"Shepherds Friendly","logo":null,"source":"IPipeline","externalId":"shepfr","isActive":true,"coverTypeIds":[5],"productSubTypes":["Personal Protection"],"productCount":3,"createdAt":"2026-06-20T09:00:37.305301Z"},{"id":123,"name":"The Exeter","logo":null,"source":"IPipeline","externalId":"exfamfri","isActive":true,"coverTypeIds":[1],"productSubTypes":["Personal Protection"],"productCount":8,"createdAt":"2026-06-20T09:00:37.305301Z"},{"id":141,"name":"Uinsure","logo":null,"source":"ManualEntry","externalId":null,"isActive":true,"coverTypeIds":[],"productSubTypes":[],"productCount":1,"createdAt":"2026-09-25T08:12:50.262205Z"},{"id":143,"name":"Vitality Health","logo":null,"source":"ManualEntry","externalId":null,"isActive":true,"coverTypeIds":[17],"productSubTypes":["Private Medical Insurance"],"productCount":2,"createdAt":"2026-10-09T10:29:40.043628Z"},{"id":131,"name":"VitalityLife","logo":null,"source":"IPipeline","externalId":"pruprotect","isActive":true,"coverTypeIds":[1,4,5,7,8],"productSubTypes":["Personal Protection","Business Protection"],"productCount":58,"createdAt":"2026-06-20T09:00:37.305301Z"},{"id":135,"name":"Zurich","logo":null,"source":"IPipeline","externalId":"zifa","isActive":true,"coverTypeIds":[1,4,5,7,8],"productSubTypes":["Personal Protection","Business Protection"],"productCount":25,"createdAt":"2026-06-20T09:00:37.305301Z"}],"pagination":{"page":0,"size":100,"totalElements":25,"totalPages":1,"hasNext":false,"hasPrevious":false,"isFirst":true,"isLast":true}},"timestamp":"2026-10-27T14:32:01.9246064Z"}
2026-10-27 14:32:01.534 +00:00 [INF] [GEN] [U:-] [C:-] [T:a0003191f0ed4cf26e8637f95aec2b2f] HTTP GET /api/v1/business/product-catalog/lenders responded 200 in 5.3732 ms
2026-10-27 14:32:01.534 +00:00 [INF] [HTTP] [U:902] [C:16c8d7d24500] [T:a0003191f0ed4cf26e8637f95aec2b2f] HTTP GET /api/v1/business/product-catalog/lenders 200
Req: [no body] Res: {"success":true,"data":{"content":[{"id":3,"name":"AIB","lenderCode":"FTB","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":1,"name":"Accord","lenderCode":"ACC","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":2,"name":"Afin","lenderCode":"00B","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":4,"name":"Aldermore Mortgages","lenderCode":"ALD","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":5,"name":"April Mortgages","lenderCode":"005","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":6,"name":"Atom Bank","lenderCode":"ATM","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":12,"name":"BM Solutions","lenderCode":"CHY","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":7,"name":"Bank Of Ireland","lenderCode":"BOI","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":8,"name":"Barclays Bank","lenderCode":"BWO","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":9,"name":"Bath BS","lenderCode":"BBB","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":10,"name":"Beverley BS","lenderCode":"BBV","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":11,"name":"Bluestone Mortgages","lenderCode":"BST","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":13,"name":"Buckinghamshire BS","lenderCode":"BBU","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":16,"name":"CHL Mortgages","lenderCode":"CHL","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":14,"name":"Cambridge BS","lenderCode":"CAM","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":15,"name":"Central Trust Limited","lenderCode":"CNT","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":17,"name":"Chorley BS","lenderCode":"BCO","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":18,"name":"Clydesdale","lenderCode":"CLY","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":19,"name":"Coventry BS","lenderCode":"BCV","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":20,"name":"Cumberland Building Society","lenderCode":"004","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":21,"name":"Danske Bank","lenderCode":"DAN","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":22,"name":"Darlington BS","lenderCode":"BDA","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":23,"name":"Dudley BS","lenderCode":"DUD","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":24,"name":"Earl Shilton BS","lenderCode":"EOS","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":25,"name":"Ecology Building Society","lenderCode":"BEC","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":26,"name":"Equifinance","lenderCode":"EQF","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":108,"name":"Example Name","lenderCode":null,"source":"ManualEntry","isActive":true,"createdAt":"2026-06-20T07:03:25.287788Z"},{"id":27,"name":"Family Building Society (NCBS)","lenderCode":"FAM","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":28,"name":"Fleet Mortgages","lenderCode":"FLE","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":29,"name":"Foundation Home Loans","lenderCode":"FHL","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":30,"name":"Furness BS","lenderCode":"BFU","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":31,"name":"Gable Mortgages","lenderCode":"00A","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":32,"name":"Gen H","lenderCode":"GRH","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":33,"name":"Godiva Mortgages","lenderCode":"GOD","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":40,"name":"HSBC","lenderCode":"HSB","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":34,"name":"Halifax","lenderCode":"BHX","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":35,"name":"Hampshire Trust Bank","lenderCode":"HTB","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":36,"name":"Hanley Economic BS","lenderCode":"HEC","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":37,"name":"Harpenden BS","lenderCode":"BHP","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":38,"name":"Hinckley & Rugby for Intermediaries","lenderCode":"BHI","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":39,"name":"Hodge","lenderCode":"HLT","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":41,"name":"Interbay","lenderCode":"ITB","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":42,"name":"Kensington Mortgages","lenderCode":"KMC","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":43,"name":"Kent Reliance","lenderCode":"KBS","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":44,"name":"Keystone","lenderCode":"KEY","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":45,"name":"Landbay","lenderCode":"LDB","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":46,"name":"Leeds BS","lenderCode":"BLH","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":47,"name":"Leek Building Society","lenderCode":"LEE","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":49,"name":"LendInvest Mortgages","lenderCode":"LIV","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":48,"name":"Lendco","lenderCode":"LCO","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":50,"name":"LiveMore","lenderCode":"LIM","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":51,"name":"Loughborough BS","lenderCode":"BLF","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":57,"name":"MFS – Market Financial Solutions","lenderCode":"MFS","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":61,"name":"MPowered Mortgages","lenderCode":"MQU","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":62,"name":"MT Finance","lenderCode":"MTF","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":52,"name":"Mansfield BS","lenderCode":"BMN","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":53,"name":"Market Harborough BS","lenderCode":"BMH","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":54,"name":"Marsden BS","lenderCode":"BMS","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":55,"name":"Melton Building Society","lenderCode":"BME","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":56,"name":"Metro Bank","lenderCode":"MET","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":58,"name":"Moda Mortgages","lenderCode":"009","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":59,"name":"Molo Finance","lenderCode":"MOL","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":60,"name":"Monmouthshire BS","lenderCode":"BMO","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":110,"name":"Mortgage2","lenderCode":null,"source":"ManualEntry","isActive":true,"createdAt":"2026-06-23T09:24:41.809428Z"},{"id":64,"name":"NatWest","lenderCode":"CNW","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":63,"name":"Nationwide BS","lenderCode":"BNW","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":65,"name":"Newbury BS","lenderCode":"BNE","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":66,"name":"Newcastle for Intermediaries","lenderCode":"NBS","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":67,"name":"Nomo","lenderCode":"007","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":68,"name":"Norton Home Loans","lenderCode":"NTN","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":69,"name":"Nottingham BS","lenderCode":"BNT","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":70,"name":"Octopus Real Estate","lenderCode":"DGF","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":71,"name":"Paragon Banking Group PLC","lenderCode":"PAR","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":72,"name":"Penrith BS","lenderCode":"PET","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":73,"name":"Pepper Money","lenderCode":"PEP","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":74,"name":"Perenna","lenderCode":"006","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":75,"name":"Precise Mortgages","lenderCode":"PRE","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":76,"name":"Principality BS","lenderCode":"BPR","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":77,"name":"Progressive BS","lenderCode":"BPG","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":78,"name":"Quantum Mortgages","lenderCode":"001","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":109,"name":"Royal London","lenderCode":null,"source":"ManualEntry","isActive":true,"createdAt":"2026-06-23T09:23:17.674935Z"},{"id":79,"name":"Saffron BS","lenderCode":"BSA","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":80,"name":"Santander UK Plc","lenderCode":"CAN","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":81,"name":"Scottish BS","lenderCode":"BSO","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":82,"name":"Scottish Widows Bank","lenderCode":"BAA","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":83,"name":"Selina Finance","lenderCode":"SEL","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":84,"name":"Skipton BS","lenderCode":"SBS","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":85,"name":"Skipton International","lenderCode":"SKI","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":86,"name":"State Bank of India UK","lenderCode":"SBI","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":87,"name":"Step One Finance","lenderCode":"SOF","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":88,"name":"Suffolk Building Society","lenderCode":"BIP","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":89,"name":"Swansea BS","lenderCode":"SWA","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":98,"name":"TSB","lenderCode":"TSB","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":90,"name":"Tandem Bank","lenderCode":"003","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":91,"name":"Teachers BS","lenderCode":"TBS","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":92,"name":"The Co-operative Bank (Including Platform)","lenderCode":"CTS","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":93,"name":"The Mortgage Lender","lenderCode":"TML","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":94,"name":"The Mortgage Works","lenderCode":"CCN","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":95,"name":"The Stafford for Intermediaries","lenderCode":"SRB","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"},{"id":96,"name":"Tipton & Coseley BS","lenderCode":"TIP","source":"Twenty7Tec","isActive":true,"createdAt":"2026-06-17T10:44:51.3465Z"}],"pagination":{"page":0,"size":100,"totalElements":111,"totalPages":2,"hasNext":true,"hasPrevious":false,"isFirst":true,"isLast":false}},"timestamp":"2026-10-27T14:32:01.5338668Z"}
2026-10-27 14:32:01.422 +00:00 [INF] [GEN] [U:-] [C:-] [T:61d51392368390855531b855217f290c] HTTP GET /api/v1/business/cases/team/case-owners responded 403 in 0.8863 ms
2026-10-27 14:32:01.405 +00:00 [INF] [GEN] [U:-] [C:-] [T:36c9740128dc58e547f8d39f257e13d0] HTTP GET /api/v1/business/cases/compliance responded 200 in 30.2849 ms
2026-10-27 14:32:01.405 +00:00 [INF] [HTTP] [U:902] [C:9b5711bd5f0b] [T:36c9740128dc58e547f8d39f257e13d0] HTTP GET /api/v1/business/cases/compliance 200
Req: [no body] Res: {"success":true,"data":{"cases":{"content":[{"id":481,"userFacingCaseId":"CASE-0406","productType":"Personal Protection","coverTypeNames":["Whole of Life"],"caseStatusId":null,"caseStatusName":null,"outcome":"Open","policies":[],"caseReviewGrade":null,"caseReviewGradeDisplayName":null,"complianceStatus":"Not Submitted","stage":"Lead","internalState":"SanctionCheckCompleted","clients":[{"caseClientId":0,"clientId":265,"clientName":"Nekshan Kumar","factFindId":null,"welcomeKitAcknowledged":null,"welcomeKitAcknowledgedAt":null}],"caseOwnerName":"Gagan Gagan ABC","branchName":"Wealthmax Financial Advisers Ltd.","isBranchHq":true,"introducerName":null,"introducerUserId":null,"preCheckReviewerUserId":902,"preCheckReviewerName":"Compliance Head User5","lenderNames":[],"providerNames":[],"recommendedProductNames":[],"isLocked":false,"canReassign":false,"createdAt":"2026-10-17T09:14:02.279701Z"},{"id":478,"userFacingCaseId":"CASE-0403","productType":"Personal Protection","coverTypeNames":["Life Insurance","Income Protection","Family Income Benefit"],"caseStatusId":null,"caseStatusName":null,"outcome":"Open","policies":[],"caseReviewGrade":null,"caseReviewGradeDisplayName":null,"complianceStatus":"Submitted for Pre-Check","stage":"Lead","internalState":"SanctionCheckCompleted","clients":[{"caseClientId":0,"clientId":185,"clientName":"Shashi Abrol","factFindId":null,"welcomeKitAcknowledged":null,"welcomeKitAcknowledgedAt":null}],"caseOwnerName":"Wealth Max","branchName":"Wealthmax Financial Advisers Ltd.","isBranchHq":true,"introducerName":null,"introducerUserId":null,"preCheckReviewerUserId":902,"preCheckReviewerName":"Compliance Head User5","lenderNames":[],"providerNames":[],"recommendedProductNames":[],"isLocked":false,"canReassign":false,"createdAt":"2026-10-13T17:24:56.509235Z"},{"id":477,"userFacingCaseId":"CASE-0402","productType":"Personal Protection","coverTypeNames":["Life Insurance","Critical Illness","Income Protection","Family Income Benefit"],"caseStatusId":null,"caseStatusName":null,"outcome":"Open","policies":[],"caseReviewGrade":null,"caseReviewGradeDisplayName":null,"complianceStatus":"Submitted for Pre-Check","stage":"Lead","internalState":"SanctionCheckCompleted","clients":[{"caseClientId":0,"clientId":265,"clientName":"Nekshan Kumar","factFindId":null,"welcomeKitAcknowledged":null,"welcomeKitAcknowledgedAt":null}],"caseOwnerName":"Director User5","branchName":"Wealthmax Financial Advisers Ltd.","isBranchHq":true,"introducerName":null,"introducerUserId":null,"preCheckReviewerUserId":902,"preCheckReviewerName":"Compliance Head User5","lenderNames":[],"providerNames":[],"recommendedProductNames":[],"isLocked":false,"canReassign":false,"createdAt":"2026-10-13T10:49:41.151345Z"},{"id":474,"userFacingCaseId":"CASE-0399","productType":"Business Protection","coverTypeNames":["Relevant Life Cover","Business Loan Insurance","Keyman Protection","Shareholder Protection","Business Life & Critical Illness"],"caseStatusId":null,"caseStatusName":null,"outcome":"Open","policies":[{"recordType":"RecommendedProduct","recordId":149,"productId":95,"productName":"Aviva Relevant Life Insurance","coverTypeIds":[8],"coverTypeNames":["Relevant Life Cover"],"policyStatusId":608,"policyStatusName":"Pending","phase":"InProgress"}],"caseReviewGrade":null,"caseReviewGradeDisplayName":null,"complianceStatus":"Not Submitted","stage":"Lead","internalState":"FactFindCompleted","clients":[{"caseClientId":0,"clientId":185,"clientName":"Shashi Abrol","factFindId":null,"welcomeKitAcknowledged":null,"welcomeKitAcknowledgedAt":null}],"caseOwnerName":"Wealth Max","branchName":"Wealthmax Financial Advisers Ltd.","isBranchHq":true,"introducerName":null,"introducerUserId":null,"preCheckReviewerUserId":902,"preCheckReviewerName":"Compliance Head User5","lenderNames":[],"providerNames":["Aviva"],"recommendedProductNames":["Aviva Relevant Life Insurance"],"isLocked":false,"canReassign":false,"createdAt":"2026-10-06T13:01:30.537315Z"},{"id":473,"userFacingCaseId":"CASE-0398","productType":"Business Protection","coverTypeNames":["Business Health Cover"],"caseStatusId":null,"caseStatusName":null,"outcome":"Open","policies":[],"caseReviewGrade":null,"caseReviewGradeDisplayName":null,"complianceStatus":"Not Submitted","stage":"Lead","internalState":"FactFindCompleted","clients":[{"caseClientId":0,"clientId":185,"clientName":"Shashi Abrol","factFindId":null,"welcomeKitAcknowledged":null,"welcomeKitAcknowledgedAt":null}],"caseOwnerName":"Wealth Max","branchName":"Wealthmax Financial Advisers Ltd.","isBranchHq":true,"introducerName":null,"introducerUserId":null,"preCheckReviewerUserId":902,"preCheckReviewerName":"Compliance Head User5","lenderNames":[],"providerNames":[],"recommendedProductNames":[],"isLocked":false,"canReassign":false,"createdAt":"2026-10-06T12:57:21.230084Z"},{"id":471,"userFacingCaseId":"CASE-0396","productType":"Personal Protection","coverTypeNames":["Critical Illness"],"caseStatusId":null,"caseStatusName":null,"outcome":"Open","policies":[{"recordType":"RecommendedProduct","recordId":145,"productId":null,"productName":"VitalityLife Optimised SIC 2X","coverTypeIds":[4],"coverTypeNames":["Critical Illness"],"policyStatusId":608,"policyStatusName":"Pending","phase":"InProgress"},{"recordType":"RecommendedProduct","recordId":148,"productId":null,"productName":"General Insurance","coverTypeIds":[4],"coverTypeNames":["Critical Illness"],"policyStatusId":608,"policyStatusName":"Pending","phase":"InProgress"}],"caseReviewGrade":null,"caseReviewGradeDisplayName":null,"complianceStatus":"Pre-Check Approved","stage":"Lead","internalState":"SuitabilityGenerated","clients":[{"caseClientId":0,"clientId":111,"clientName":"Goldiee Brar","factFindId":null,"welcomeKitAcknowledged":null,"welcomeKitAcknowledgedAt":null}],"caseOwnerName":"Kibwe Smith","branchName":"Wealthmax Financial Advisers Ltd.","isBranchHq":true,"introducerName":"Wealth Max","introducerUserId":656,"preCheckReviewerUserId":902,"preCheckReviewerName":"Compliance Head User5","lenderNames":[],"providerNames":["VitalityLife","MetLife"],"recommendedProductNames":["VitalityLife Optimised SIC 2X","General Insurance"],"isLocked":false,"canReassign":false,"createdAt":"2026-10-05T07:22:08.931196Z"},{"id":470,"userFacingCaseId":"CASE-0395","productType":"Personal Protection","coverTypeNames":["Life Insurance","Critical Illness","Income Protection"],"caseStatusId":null,"caseStatusName":null,"outcome":"Open","policies":[{"recordType":"RecommendedProduct","recordId":147,"productId":219,"productName":"Zurich Business Life & CI","coverTypeIds":[1],"coverTypeNames":["Life Insurance"],"policyStatusId":608,"policyStatusName":"Pending","phase":"InProgress"}],"caseReviewGrade":null,"caseReviewGradeDisplayName":null,"complianceStatus":"Submitted for Pre-Check","stage":"Lead","internalState":"SuitabilityGenerated","clients":[{"caseClientId":0,"clientId":263,"clientName":"Ikky TNN Finn","factFindId":null,"welcomeKitAcknowledged":null,"welcomeKitAcknowledgedAt":null}],"caseOwnerName":"Wealth Max","branchName":"Wealthmax Financial Advisers Ltd.","isBranchHq":true,"introducerName":null,"introducerUserId":null,"preCheckReviewerUserId":902,"preCheckReviewerName":"Compliance Head User5","lenderNames":[],"providerNames":["Zurich"],"recommendedProductNames":["Zurich Business Life & CI"],"isLocked":false,"canReassign":false,"createdAt":"2026-10-01T13:12:31.463236Z"},{"id":426,"userFacingCaseId":"CASE-0351","productType":"Personal Protection","coverTypeNames":["Income Protection"],"caseStatusId":null,"caseStatusName":null,"outcome":"Open","policies":[{"recordType":"RecommendedProduct","recordId":88,"productId":null,"productName":"Zurich","coverTypeIds":[5],"coverTypeNames":["Income Protection"],"policyStatusId":608,"policyStatusName":"Pending","phase":"InProgress"}],"caseReviewGrade":"Suitable","caseReviewGradeDisplayName":"Suitable","complianceStatus":"Suitable","stage":"Lead","internalState":"SuitabilityGenerated","clients":[{"caseClientId":0,"clientId":243,"clientName":"Gagan Gagan","factFindId":null,"welcomeKitAcknowledged":null,"welcomeKitAcknowledgedAt":null}],"caseOwnerName":"Kibwe Smith","branchName":"Wealthmax Financial Advisers Ltd.","isBranchHq":true,"introducerName":null,"introducerUserId":null,"preCheckReviewerUserId":902,"preCheckReviewerName":"Compliance Head User5","lenderNames":[],"providerNames":["Cirencester Friendly"],"recommendedProductNames":["Zurich"],"isLocked":false,"canReassign":false,"createdAt":"2026-09-14T07:56:14.604095Z"},{"id":399,"userFacingCaseId":"CASE-0325","productType":"Personal Protection","coverTypeNames":["Life Insurance","Critical Illness"],"caseStatusId":null,"caseStatusName":null,"outcome":"Open","policies":[{"recordType":"RecommendedProduct","recordId":65,"productId":220,"productName":"Zurich Business Life & CI Select","coverTypeIds":[1],"coverTypeNames":["Life Insurance"],"policyStatusId":608,"policyStatusName":"Pending","phase":"InProgress"},{"recordType":"RecommendedProduct","recordId":66,"productId":null,"productName":"Zurich Life & CI + Child","coverTypeIds":[1,4],"coverTypeNames":["Life Insurance","Critical Illness"],"policyStatusId":608,"policyStatusName":"Pending","phase":"InProgress"}],"caseReviewGrade":null,"caseReviewGradeDisplayName":null,"complianceStatus":"Submitted for Pre-Check","stage":"Lead","internalState":"SuitabilityGenerated","clients":[{"caseClientId":0,"clientId":89,"clientName":"Steve Lewis","factFindId":null,"welcomeKitAcknowledged":null,"welcomeKitAcknowledgedAt":null}],"caseOwnerName":"Gagan Gagan ABC","branchName":"Wealthmax Financial Advisers Ltd.","isBranchHq":true,"introducerName":null,"introducerUserId":null,"preCheckReviewerUserId":902,"preCheckReviewerName":"Compliance Head User5","lenderNames":[],"providerNames":["Zurich"],"recommendedProductNames":["Zurich Business Life & CI Select","Zurich Life & CI + Child"],"isLocked":false,"canReassign":false,"createdAt":"2026-09-03T11:32:01.990823Z"}],"pagination":{"page":0,"size":10,"totalElements":9,"totalPages":1,"hasNext":false,"hasPrevious":false,"isFirst":true,"isLast":true}}},"timestamp":"2026-10-27T14:32:01.4046089Z"}
2026-10-27 14:32:01.272 +00:00 [INF] [GEN] [U:-] [C:-] [T:192998f8b86462f02a013bf6d267516b] HTTP GET /api/v1/business/my-tenant/branding responded 200 in 21.7042 ms
2026-10-27 14:32:01.271 +00:00 [INF] [HTTP] [U:902] [C:5c5ed9578ced] [T:192998f8b86462f02a013bf6d267516b] HTTP GET /api/v1/business/my-tenant/branding 200
Req: [no body] Res: {"success":true,"data":{"primaryColor":"#1f2d75","secondaryColor":"#fb9828","logoUrl":"https://protectionmortgagecrm.blob.core.windows.net/superadmin/dev/tenant-documents/28/28/28_Wealthmax-Financial-Advisers-Ltd._2026-06-22/c0ad32e9-e1ee-413b-8c66-dc01cd0eeade..png?sv=2026-02-06&se=2026-10-27T15%3A32%3A01Z&sr=b&sp=r&rscd=attachment%3B+filename%3Dc0ad32e9-e1ee-413b-8c66-dc01cd0eeade..png%3B+filename*%3DUTF-8%27%27c0ad32e9-e1ee-413b-8c66-dc01cd0eeade..png&sig=mmke0fzYUTBcGiO5BoUv3yyTKckBlKqjYJecfuP0NGg%3D","companyLogoThumbnailUrl":"https://protectionmortgagecrm.blob.core.windows.net/superadmin/staging/tenant-documents/28/f6694f6c-ddfc-4d16-80bc-664a01b3d416_logo.jpg?sv=2026-02-06&se=2036-07-18T13%3A31%3A06Z&sr=b&sp=r&sig=hNhUd61tHsDcA56Q%2F%2FmoaWos%2ByUFldaq%2Be979eNYxAE%3D","socialUrls":{"facebookUrl":null,"instagramUrl":null,"xUrl":null,"linkedInUrl":null}},"timestamp":"2026-10-27T14:32:01.2718033Z"}
2026-10-27 14:32:01.270 +00:00 [INF] [GEN] [U:-] [C:-] [T:512ed424c0043fbfefe6538530c51975] HTTP GET /api/v1/business/case-statuses responded 200 in 8.7161 ms
2026-10-27 14:32:01.270 +00:00 [INF] [HTTP] [U:902] [C:fdd541355adb] [T:512ed424c0043fbfefe6538530c51975] HTTP GET /api/v1/business/case-statuses 200
Req: [no body] Res: {"success":true,"data":[{"id":595,"systemKey":"MortgageNewCase","name":"New Case","isDefault":true,"isActive":true,"sortOrder":10,"scope":"MortgageCase","phase":"InProgress","opensComplianceReview":false},{"id":596,"systemKey":"MortgageRemortgage","name":"Remortgage","isDefault":true,"isActive":true,"sortOrder":20,"scope":"MortgageCase","phase":"InProgress","opensComplianceReview":false},{"id":597,"systemKey":"MortgageMeeting","name":"Meeting","isDefault":true,"isActive":true,"sortOrder":30,"scope":"MortgageCase","phase":"InProgress","opensComplianceReview":false},{"id":598,"systemKey":"MortgageDip","name":"DIP","isDefault":true,"isActive":true,"sortOrder":40,"scope":"MortgageCase","phase":"InProgress","opensComplianceReview":false},{"id":599,"systemKey":"MortgagePreOfferProcessing","name":"Pre Offer Processing","isDefault":true,"isActive":true,"sortOrder":50,"scope":"MortgageCase","phase":"InProgress","opensComplianceReview":true},{"id":600,"systemKey":"MortgageValuationInstructed","name":"Valuation Instructed","isDefault":true,"isActive":true,"sortOrder":60,"scope":"MortgageCase","phase":"InProgress","opensComplianceReview":true},{"id":601,"systemKey":"MortgageValuationReceivedApproved","name":"Valuation Received Approved","isDefault":true,"isActive":true,"sortOrder":70,"scope":"MortgageCase","phase":"InProgress","opensComplianceReview":true},{"id":602,"systemKey":"MortgagePostOfferProcessing","name":"Post Offer Processing","isDefault":true,"isActive":true,"sortOrder":80,"scope":"MortgageCase","phase":"InProgress","opensComplianceReview":true},{"id":603,"systemKey":"MortgageContractsExchanged","name":"Contracts Exchanged","isDefault":true,"isActive":true,"sortOrder":90,"scope":"MortgageCase","phase":"InProgress","opensComplianceReview":true},{"id":604,"systemKey":"MortgageCompletedOffered","name":"Completed","isDefault":true,"isActive":true,"sortOrder":100,"scope":"MortgageCase","phase":"Done","opensComplianceReview":true},{"id":605,"systemKey":"MortgageInFlight","name":"In Flight","isDefault":true,"isActive":true,"sortOrder":110,"scope":"MortgageCase","phase":"InProgress","opensComplianceReview":false},{"id":606,"systemKey":"MortgageMarkAsNotProceeding","name":"Mark as Not Proceeding","isDefault":true,"isActive":true,"sortOrder":120,"scope":"MortgageCase","phase":"Stopped","opensComplianceReview":false},{"id":608,"systemKey":"ProtectionPending","name":"Pending","isDefault":true,"isActive":true,"sortOrder":130,"scope":"Policy","phase":"InProgress","opensComplianceReview":false},{"id":609,"systemKey":"ProtectionDeferred","name":"Deferred","isDefault":true,"isActive":true,"sortOrder":140,"scope":"Policy","phase":"InProgress","opensComplianceReview":false},{"id":610,"systemKey":"ProtectionUnderwriting","name":"Underwriting","isDefault":true,"isActive":true,"sortOrder":150,"scope":"Policy","phase":"InProgress","opensComplianceReview":false},{"id":611,"systemKey":"ProtectionCancelled","name":"Cancelled","isDefault":true,"isActive":true,"sortOrder":160,"scope":"Policy","phase":"Ended","opensComplianceReview":false},{"id":612,"systemKey":"ProtectionLapse","name":"Lapsed","isDefault":true,"isActive":true,"sortOrder":170,"scope":"Policy","phase":"Ended","opensComplianceReview":false},{"id":613,"systemKey":"ProtectionDeclined","name":"Declined","isDefault":true,"isActive":true,"sortOrder":180,"scope":"Policy","phase":"Stopped","opensComplianceReview":false},{"id":614,"systemKey":"ProtectionLive","name":"Live","isDefault":true,"isActive":true,"sortOrder":190,"scope":"Policy","phase":"Done","opensComplianceReview":false},{"id":615,"systemKey":"ProtectionMatured","name":"Matured","isDefault":true,"isActive":true,"sortOrder":200,"scope":"Policy","phase":"Ended","opensComplianceReview":false},{"id":616,"systemKey":"ProtectionNtus","name":"NTU","isDefault":true,"isActive":true,"sortOrder":210,"scope":"Policy","phase":"Stopped","opensComplianceReview":false}],"timestamp":"2026-10-27T14:32:01.2697099Z"}
2026-10-27 14:32:01.269 +00:00 [INF] [GEN] [U:-] [C:-] [T:d0afeaede8475aa99e52bc9218d85487] HTTP GET /api/v1/business/cases/cover-types responded 200 in 18.9152 ms
2026-10-27 14:32:01.268 +00:00 [INF] [HTTP] [U:902] [C:887aa0e0a209] [T:d0afeaede8475aa99e52bc9218d85487] HTTP GET /api/v1/business/cases/cover-types 200
Req: [no body] Res: {"success":true,"data":[{"id":1,"name":"Life Insurance"},{"id":4,"name":"Critical Illness"},{"id":5,"name":"Income Protection"},{"id":6,"name":"Family Income Benefit"},{"id":7,"name":"Whole of Life"},{"id":21,"name":"Accidental Cover"}],"timestamp":"2026-10-27T14:32:01.2687526Z"}
2026-10-27 14:31:54.466 +00:00 [INF] [GEN] [U:-] [C:-] [T:f9dac3231746371b695e8c7a5e78a581] HTTP POST /api/v1/business/auth/refresh responded 200 in 38.0040 ms
2026-10-27 14:31:54.466 +00:00 [INF] [HTTP] [U:-] [C:16b1ff870aff] [T:f9dac3231746371b695e8c7a5e78a581] HTTP POST /api/v1/business/auth/refresh 200
Req: {"refreshToken":"Wz/nDJgarbrvg5a0tr0EUXE+7jsBqwnhfDKOdcuMTY7k0dDJgZ0G9f4AovgAvqX3E/QWjS14lH+rlCLF0zaHNA=="} Res: {"success":true,"data":{"accessToken":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI5MDIiLCJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1laWRlbnRpZmllciI6IjkwMiIsImVtYWlsIjoic2FydGhhay5zK2NvbXBsaWFuY2VoZWFkNUB3ZWFsdGhtYXguY28udWsiLCJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9lbWFpbGFkZHJlc3MiOiJzYXJ0aGFrLnMrY29tcGxpYW5jZWhlYWQ1QHdlYWx0aG1heC5jby51ayIsImp0aSI6IjBiNWU3ODVmLWFiZTgtNGI0MS04MDc5LTJhNTI2OTI3Y2U1MSIsInRlbmFudF9pZCI6IjI4IiwidG9rZW5fdHlwZSI6ImJ1c2luZXNzIiwic2VjdXJpdHlfc3RhbXAiOiJiMzllMTM3Mi0zNWRmLTQzZGItYjM3OS1mZDc4YTg1ZDM5MDkiLCJicmFuY2hfaWQiOiI1IiwiZGVwYXJ0bWVudF9pZCI6IjE5MyIsImRlc2lnbmF0aW9uX2lkIjoiMzg0IiwibmJmIjoxNzkzMTExNTE0LCJleHAiOjE3OTMxMTUxMTQsImlzcyI6IldlYWx0aG1heEJ1c2luZXNzIiwiYXVkIjoiV2VhbHRobWF4QnVzaW5lc3NDbGllbnRzIn0.K87UOE4lPsY4X76EoVys5dWFaNIatWQqRfJvVLg8PE4","accessTokenExpiresIn":3600,"refreshToken":"DrwMqG82K98eQwB6TuUBF1vsJltdtEIJ+6XRS/LjrCR4W6lL3CWdRu9NDy+fHSuRqBXyQMg9t4+6ZcAsi1/Xpg==","accessTokenExpiresUtc":"2026-10-27T15:31:54.4563292Z","refreshTokenExpiresUtc":"2026-11-03T14:31:54.4563292Z","resendAvailableInSeconds":0,"applicationStatus":"Operational","creationFlow":"Manual Licensed","permissions":{"permissions":{"user_management":{"user_list_main_page":{"is_parent":true,"permissions":["view"]},"application_form_user_fills":{"is_parent":false,"permissions":["view","edit"]},"user_profile":{"is_parent":false,"permissions":["view"]}},"branch_management":{"branch_list_main_page":{"is_parent":true,"permissions":[]},"branch_profile_view":{"is_parent":false,"permissions":[]}},"my_tenant":{"company_details":{"is_parent":true,"permissions":["view"]},"branding":{"is_parent":false,"permissions":["view"]},"documents":{"is_parent":false,"permissions":[]}},"ar_management":{"ar_list_main_page":{"is_parent":true,"permissions":["view"]},"ar_profile_view":{"is_parent":false,"permissions":["view"]}},"cpd":{"my_cpd":{"is_parent":true,"permissions":["view","create","edit","delete","export"]},"team_cpd_main_page":{"is_parent":false,"permissions":["view"]}},"client_management":{"my_clients":{"is_parent":true,"permissions":["view","create","edit","export"]},"team_clients":{"is_parent":false,"permissions":[]},"client_overview":{"is_parent":false,"permissions":["view","create","edit"]}},"case_management":{"my_cases":{"is_parent":true,"permissions":["view","create","edit"]},"team_cases":{"is_parent":false,"permissions":[]},"case_overview":{"is_parent":false,"permissions":["view","create","edit","delete"]},"case_review_final":{"is_parent":false,"permissions":["view","create","edit","delete"]},"case_notes":{"is_parent":false,"permissions":[]},"case_review_pre_check":{"is_parent":false,"permissions":["view","create","approve"]},"policy_templates":{"is_parent":false,"permissions":[]}},"roles":{"main":{"is_parent":true,"permissions":[]}},"departments":{"main":{"is_parent":true,"permissions":[]}},"designations":{"main":{"is_parent":true,"permissions":[]}},"subscription_management":{"my_subscription_page":{"is_parent":true,"permissions":[]}},"dashboard":{"stats":{"is_parent":true,"permissions":[]}},"countries":{"main":{"is_parent":true,"permissions":[]}},"reporting":{"reports_main_page":{"is_parent":true,"permissions":["view","export"]},"all_data_export":{"is_parent":false,"permissions":["export"]}},"document_templates":{"document_template_main_page":{"is_parent":true,"permissions":["view","create"]}},"exam_zone":{"exam_listing_page":{"is_parent":true,"permissions":["view"]},"my_results":{"is_parent":false,"permissions":["view","export"]},"team_results":{"is_parent":false,"permissions":["view","edit","export"]}},"support":{"my_queries":{"is_parent":true,"permissions":["view","create"]}},"notifications":{"notifications_main_page":{"is_parent":true,"permissions":[]}},"solicitors":{"main":{"is_parent":true,"permissions":[]}},"document_library":{"main":{"is_parent":true,"permissions":["view"]}},"commissions":{"statements":{"is_parent":false,"permissions":[]},"allocations":{"is_parent":false,"permissions":[]},"profiles":{"is_parent":false,"permissions":[]},"settings":{"is_parent":false,"permissions":[]},"retention_pot":{"is_parent":false,"permissions":[]}},"product_catalog":{"main":{"is_parent":true,"permissions":[]}},"my_commissions":{"main":{"is_parent":true,"permissions":["view"]}}}},"user":{"id":902,"userFacingId":"WFAL-SC-0082","email":"sarthak.s+compliancehead5@wealthmax.co.uk","firstName":"Compliance Head","lastName":"User5","userApplicationStatus":"Approved","userOnboardingStep":"Submitted","tenantId":28,"branchId":5,"arId":null,"departmentId":193,"designationId":384,"departmentName":"Compliance","designationName":"Compliance Head","branchName":"Wealthmax Financial Advisers Ltd.","arName":null,"roles":[{"role_id":412,"role_name":"Mortgage Compliance","system_role_key":"MortgageCompliance"},{"role_id":413,"role_name":"Protection Compliance","system_role_key":"ProtectionCompliance"}],"profilePhotoUrl":null,"primaryColor":"#1f2d75","secondaryColor":"#fb9828"}},"message":"Token refreshed successfully.","timestamp":"2026-10-27T14:31:54.4655195Z"}
2026-10-27 14:31:27.734 +00:00 [INF] [GEN] [U:-] [C:-] [T:d59bf58e4a137c08cb5e607681884e92] HTTP GET /api/v1/business/fact-finds/clients/459/personal-details/addresses responded 200 in 6.7978 ms
2026-10-27 14:31:27.734 +00:00 [INF] [HTTP] [U:902] [C:6cd0bbb015d5] [T:d59bf58e4a137c08cb5e607681884e92] HTTP GET /api/v1/business/fact-finds/clients/459/personal-details/addresses 200
Req: [no body] Res: {"success":true,"data":[{"id":92,"isCurrent":true,"residentialStatus":"Living With Parents","moveInDate":null,"moveOutDate":null,"city":"BRENTFORD","flatNameOrNumber":null,"buildingName":null,"streetAddress":"BALLOON ONE LTD, 1000 GREAT WEST ROAD, BRENTFORD, MIDDLESEX","county":null,"postCode":"TW8 9DW","country":"United Kingdom","residentialAddress":"BALLOON ONE LTD, 1000 GREAT WEST ROAD, BRENTFORD, MIDDLESEX","town":null,"constituentCountry":null}],"timestamp":"2026-10-27T14:31:27.7340537Z"}
2026-10-27 14:31:27.188 +00:00 [INF] [GEN] [U:-] [C:-] [T:3368c0140d977f28bcec096d17322cff] HTTP GET /api/v1/business/case-review/pre-check/by-case/399/anchors/FactFind/PersonalDetails/structure responded 200 in 3.1006 ms
2026-10-27 14:31:27.187 +00:00 [INF] [HTTP] [U:902] [C:8b8b15b0598f] [T:3368c0140d977f28bcec096d17322cff] HTTP GET /api/v1/business/case-review/pre-check/by-case/399/anchors/FactFind/PersonalDetails/structure 200
Req: [no body] Res: {"success":true,"data":{"area":"Fact Find","pageKey":"PersonalDetails","displayName":"Personal Details","isClientScoped":true,"allowsFieldAnchors":true,"sections":[{"sectionKey":"PersonalDetails","title":"Personal Details","kind":"Fields","requiresInstance":false,"isRowAnchored":false,"fields":[{"fieldKey":"Title","label":"Title"},{"fieldKey":"FirstName","label":"First Name"},{"fieldKey":"MiddleName","label":"Middle Name"},{"fieldKey":"LastName","label":"Last Name"},{"fieldKey":"Email","label":"Email"},{"fieldKey":"MobilePhone","label":"Mobile Phone"},{"fieldKey":"DateOfBirth","label":"Date of Birth"},{"fieldKey":"CountryOfBirth","label":"Country of Birth"},{"fieldKey":"Nationality","label":"Nationality"},{"fieldKey":"MaritalStatus","label":"Marital Status"},{"fieldKey":"Gender","label":"Gender"},{"fieldKey":"GenderOther","label":"Gender (Other)"},{"fieldKey":"AnticipatedRetirementAge","label":"Anticipated Retirement Age"},{"fieldKey":"AnticipatedEmploymentChange","label":"Anticipated Employment Change"},{"fieldKey":"IsSmoker","label":"Smoker"},{"fieldKey":"LastSmokedYears","label":"Last Smoked (Years)"},{"fieldKey":"LastSmokedMonths","label":"Last Smoked (Months)"},{"fieldKey":"HasWill","label":"Has Will"},{"fieldKey":"LastWillReviewedYears","label":"Will Last Reviewed (Years)"},{"fieldKey":"LastWillReviewedMonths","label":"Will Last Reviewed (Months)"}]},{"sectionKey":"Identification","title":"Identification","kind":"Fields","requiresInstance":false,"isRowAnchored":false,"fields":[{"fieldKey":"NiNumber","label":"NI Number"},{"fieldKey":"PassportNo","label":"Passport Number"},{"fieldKey":"PassportCountry","label":"Passport Country"},{"fieldKey":"PassportValidFrom","label":"Passport Valid From"},{"fieldKey":"PassportValidTo","label":"Passport Valid To"},{"fieldKey":"VisaType","label":"Visa Type"},{"fieldKey":"VisaValidFrom","label":"Visa Valid From"},{"fieldKey":"VisaValidityDate","label":"Visa Validity Date"},{"fieldKey":"IsUkResidentForTaxPurposes","label":"UK Resident for Tax Purposes"},{"fieldKey":"IsSeekingAsylum","label":"Seeking Asylum"},{"fieldKey":"HasRefugeeStatus","label":"Refugee Status"},{"fieldKey":"HasIndefiniteLeaveToRemain","label":"Indefinite Leave to Remain"},{"fieldKey":"HasBeenUkResidentMoreThanOneYear","label":"UK Resident More Than One Year"},{"fieldKey":"HasBeenKnownByOtherNames","label":"Known by Other Names"},{"fieldKey":"HoldsDrivingLicence","label":"Holds Driving Licence"},{"fieldKey":"DrivingLicenceNumber","label":"Driving Licence Number"},{"fieldKey":"DrivingLicenceIssueDate","label":"Driving Licence Issue Date"},{"fieldKey":"DrivingLicenceExpiryDate","label":"Driving Licence Expiry Date"}]},{"sectionKey":"MarketingPreferences","title":"Marketing Preferences","kind":"Fields","requiresInstance":false,"isRowAnchored":false,"fields":[{"fieldKey":"MarketingEmail","label":"Marketing by Email"},{"fieldKey":"MarketingText","label":"Marketing by Text"},{"fieldKey":"MarketingPhone","label":"Marketing by Phone"},{"fieldKey":"MarketingMail","label":"Marketing by Mail"}]},{"sectionKey":"Addresses","title":"Address History","kind":"RepeatingRows","requiresInstance":false,"isRowAnchored":true,"fields":[]},{"sectionKey":"Dependants","title":"Dependants","kind":"RepeatingRows","requiresInstance":false,"isRowAnchored":true,"fields":[]}]},"timestamp":"2026-10-27T14:31:27.1876201Z"}
2026-10-27 14:31:26.764 +00:00 [DBG] [GEN] [U:902] [C:2927ca77d79c] [T:7c823c60cfd2a789b2faf82cd3515cd2] SignalR connected: ConnectionId=paMzg6eqxO6sp0AR_9722g Groups=[sys:all, b:t28:all, b:t28:hq, b:t28:br5, b:t28:dept193, b:t28:desig384, b:t28:u902, b:t28:role412, b:t28:role413]
2026-10-27 14:31:26.758 +00:00 [INF] [GEN] [U:-] [C:-] [T:ee9acab50d9bbd1ab533c643881b9fe3] HTTP GET /api/v1/business/countries responded 200 in 2.4697 ms
2026-10-27 14:31:26.757 +00:00 [INF] [HTTP] [U:902] [C:6657a74e1f78] [T:ee9acab50d9bbd1ab533c643881b9fe3] HTTP GET /api/v1/business/countries 200
Req: [no body] Res: {"success":true,"data":[{"id":1,"name":"Afghanistan","code":"AF"},{"id":2,"name":"Albania","code":"AL"},{"id":3,"name":"Algeria","code":"DZ"},{"id":4,"name":"Andorra","code":"AD"},{"id":5,"name":"Angola","code":"AO"},{"id":6,"name":"Antigua and Barbuda","code":"AG"},{"id":7,"name":"Argentina","code":"AR"},{"id":8,"name":"Armenia","code":"AM"},{"id":9,"name":"Australia","code":"AU"},{"id":10,"name":"Austria","code":"AT"},{"id":11,"name":"Azerbaijan","code":"AZ"},{"id":12,"name":"Bahamas","code":"BS"},{"id":13,"name":"Bahrain","code":"BH"},{"id":14,"name":"Bangladesh","code":"BD"},{"id":15,"name":"Barbados","code":"BB"},{"id":16,"name":"Belarus","code":"BY"},{"id":17,"name":"Belgium","code":"BE"},{"id":18,"name":"Belize","code":"BZ"},{"id":19,"name":"Benin","code":"BJ"},{"id":20,"name":"Bhutan","code":"BT"},{"id":21,"name":"Bolivia","code":"BO"},{"id":22,"name":"Bosnia and Herzegovina","code":"BA"},{"id":23,"name":"Botswana","code":"BW"},{"id":24,"name":"Brazil","code":"BR"},{"id":25,"name":"Brunei","code":"BN"},{"id":26,"name":"Bulgaria","code":"BG"},{"id":27,"name":"Burkina Faso","code":"BF"},{"id":28,"name":"Burundi","code":"BI"},{"id":29,"name":"Cabo Verde","code":"CV"},{"id":30,"name":"Cambodia","code":"KH"},{"id":31,"name":"Cameroon","code":"CM"},{"id":32,"name":"Canada","code":"CA"},{"id":33,"name":"Central African Republic","code":"CF"},{"id":34,"name":"Chad","code":"TD"},{"id":35,"name":"Chile","code":"CL"},{"id":36,"name":"China","code":"CN"},{"id":37,"name":"Colombia","code":"CO"},{"id":38,"name":"Comoros","code":"KM"},{"id":39,"name":"Congo (Brazzaville)","code":"CG"},{"id":40,"name":"Congo (Kinshasa)","code":"CD"},{"id":41,"name":"Costa Rica","code":"CR"},{"id":42,"name":"Croatia","code":"HR"},{"id":43,"name":"Cuba","code":"CU"},{"id":44,"name":"Cyprus","code":"CY"},{"id":45,"name":"Czech Republic","code":"CZ"},{"id":46,"name":"Denmark","code":"DK"},{"id":47,"name":"Djibouti","code":"DJ"},{"id":48,"name":"Dominica","code":"DM"},{"id":49,"name":"Dominican Republic","code":"DO"},{"id":50,"name":"Ecuador","code":"EC"},{"id":51,"name":"Egypt","code":"EG"},{"id":52,"name":"El Salvador","code":"SV"},{"id":53,"name":"Equatorial Guinea","code":"GQ"},{"id":54,"name":"Eritrea","code":"ER"},{"id":55,"name":"Estonia","code":"EE"},{"id":56,"name":"Eswatini","code":"SZ"},{"id":57,"name":"Ethiopia","code":"ET"},{"id":58,"name":"Fiji","code":"FJ"},{"id":59,"name":"Finland","code":"FI"},{"id":60,"name":"France","code":"FR"},{"id":61,"name":"Gabon","code":"GA"},{"id":62,"name":"Gambia","code":"GM"},{"id":63,"name":"Georgia","code":"GE"},{"id":64,"name":"Germany","code":"DE"},{"id":65,"name":"Ghana","code":"GH"},{"id":66,"name":"Greece","code":"GR"},{"id":67,"name":"Grenada","code":"GD"},{"id":68,"name":"Guatemala","code":"GT"},{"id":69,"name":"Guinea","code":"GN"},{"id":70,"name":"Guinea-Bissau","code":"GW"},{"id":71,"name":"Guyana","code":"GY"},{"id":72,"name":"Haiti","code":"HT"},{"id":73,"name":"Honduras","code":"HN"},{"id":74,"name":"Hungary","code":"HU"},{"id":75,"name":"Iceland","code":"IS"},{"id":76,"name":"India","code":"IN"},{"id":77,"name":"Indonesia","code":"ID"},{"id":78,"name":"Iran","code":"IR"},{"id":79,"name":"Iraq","code":"IQ"},{"id":80,"name":"Ireland","code":"IE"},{"id":81,"name":"Israel","code":"IL"},{"id":82,"name":"Italy","code":"IT"},{"id":83,"name":"Jamaica","code":"JM"},{"id":84,"name":"Japan","code":"JP"},{"id":85,"name":"Jordan","code":"JO"},{"id":86,"name":"Kazakhstan","code":"KZ"},{"id":87,"name":"Kenya","code":"KE"},{"id":88,"name":"Kiribati","code":"KI"},{"id":89,"name":"Kuwait","code":"KW"},{"id":90,"name":"Kyrgyzstan","code":"KG"},{"id":91,"name":"Laos","code":"LA"},{"id":92,"name":"Latvia","code":"LV"},{"id":93,"name":"Lebanon","code":"LB"},{"id":94,"name":"Lesotho","code":"LS"},{"id":95,"name":"Liberia","code":"LR"},{"id":96,"name":"Libya","code":"LY"},{"id":97,"name":"Liechtenstein","code":"LI"},{"id":98,"name":"Lithuania","code":"LT"},{"id":99,"name":"Luxembourg","code":"LU"},{"id":100,"name":"Madagascar","code":"MG"},{"id":101,"name":"Malawi","code":"MW"},{"id":102,"name":"Malaysia","code":"MY"},{"id":103,"name":"Maldives","code":"MV"},{"id":104,"name":"Mali","code":"ML"},{"id":105,"name":"Malta","code":"MT"},{"id":106,"name":"Marshall Islands","code":"MH"},{"id":107,"name":"Mauritania","code":"MR"},{"id":108,"name":"Mauritius","code":"MU"},{"id":109,"name":"Mexico","code":"MX"},{"id":110,"name":"Micronesia","code":"FM"},{"id":111,"name":"Moldova","code":"MD"},{"id":112,"name":"Monaco","code":"MC"},{"id":113,"name":"Mongolia","code":"MN"},{"id":114,"name":"Montenegro","code":"ME"},{"id":115,"name":"Morocco","code":"MA"},{"id":116,"name":"Mozambique","code":"MZ"},{"id":117,"name":"Myanmar","code":"MM"},{"id":118,"name":"Namibia","code":"NA"},{"id":119,"name":"Nauru","code":"NR"},{"id":120,"name":"Nepal","code":"NP"},{"id":121,"name":"Netherlands","code":"NL"},{"id":122,"name":"New Zealand","code":"NZ"},{"id":123,"name":"Nicaragua","code":"NI"},{"id":124,"name":"Niger","code":"NE"},{"id":125,"name":"Nigeria","code":"NG"},{"id":126,"name":"North Korea","code":"KP"},{"id":127,"name":"North Macedonia","code":"MK"},{"id":128,"name":"Norway","code":"NO"},{"id":129,"name":"Oman","code":"OM"},{"id":130,"name":"Pakistan","code":"PK"},{"id":131,"name":"Palau","code":"PW"},{"id":132,"name":"Palestine","code":"PS"},{"id":133,"name":"Panama","code":"PA"},{"id":134,"name":"Papua New Guinea","code":"PG"},{"id":135,"name":"Paraguay","code":"PY"},{"id":136,"name":"Peru","code":"PE"},{"id":137,"name":"Philippines","code":"PH"},{"id":138,"name":"Poland","code":"PL"},{"id":139,"name":"Portugal","code":"PT"},{"id":140,"name":"Qatar","code":"QA"},{"id":141,"name":"Romania","code":"RO"},{"id":142,"name":"Russia","code":"RU"},{"id":143,"name":"Rwanda","code":"RW"},{"id":144,"name":"Saint Kitts and Nevis","code":"KN"},{"id":145,"name":"Saint Lucia","code":"LC"},{"id":146,"name":"Saint Vincent and the Grenadines","code":"VC"},{"id":147,"name":"Samoa","code":"WS"},{"id":148,"name":"San Marino","code":"SM"},{"id":149,"name":"Sao Tome and Principe","code":"ST"},{"id":150,"name":"Saudi Arabia","code":"SA"},{"id":151,"name":"Senegal","code":"SN"},{"id":152,"name":"Serbia","code":"RS"},{"id":153,"name":"Seychelles","code":"SC"},{"id":154,"name":"Sierra Leone","code":"SL"},{"id":155,"name":"Singapore","code":"SG"},{"id":156,"name":"Slovakia","code":"SK"},{"id":157,"name":"Slovenia","code":"SI"},{"id":158,"name":"Solomon Islands","code":"SB"},{"id":159,"name":"Somalia","code":"SO"},{"id":160,"name":"South Africa","code":"ZA"},{"id":161,"name":"South Korea","code":"KR"},{"id":162,"name":"South Sudan","code":"SS"},{"id":163,"name":"Spain","code":"ES"},{"id":164,"name":"Sri Lanka","code":"LK"},{"id":165,"name":"Sudan","code":"SD"},{"id":166,"name":"Suriname","code":"SR"},{"id":167,"name":"Sweden","code":"SE"},{"id":168,"name":"Switzerland","code":"CH"},{"id":169,"name":"Syria","code":"SY"},{"id":170,"name":"Taiwan","code":"TW"},{"id":171,"name":"Tajikistan","code":"TJ"},{"id":172,"name":"Tanzania","code":"TZ"},{"id":173,"name":"Thailand","code":"TH"},{"id":174,"name":"Timor-Leste","code":"TL"},{"id":175,"name":"Togo","code":"TG"},{"id":176,"name":"Tonga","code":"TO"},{"id":177,"name":"Trinidad and Tobago","code":"TT"},{"id":178,"name":"Tunisia","code":"TN"},{"id":179,"name":"Turkey","code":"TR"},{"id":180,"name":"Turkmenistan","code":"TM"},{"id":181,"name":"Tuvalu","code":"TV"},{"id":182,"name":"Uganda","code":"UG"},{"id":183,"name":"Ukraine","code":"UA"},{"id":184,"name":"United Arab Emirates","code":"AE"},{"id":185,"name":"United Kingdom","code":"GB"},{"id":186,"name":"United States","code":"US"},{"id":187,"name":"Uruguay","code":"UY"},{"id":188,"name":"Uzbekistan","code":"UZ"},{"id":189,"name":"Vanuatu","code":"VU"},{"id":190,"name":"Vatican City","code":"VA"},{"id":191,"name":"Venezuela","code":"VE"},{"id":192,"name":"Vietnam","code":"VN"},{"id":193,"name":"Yemen","code":"YE"},{"id":194,"name":"Zambia","code":"ZM"},{"id":195,"name":"Zimbabwe","code":"ZW"}],"timestamp":"2026-10-27T14:31:26.7575947Z"}
2026-10-27 14:31:26.745 +00:00 [INF] [GEN] [U:-] [C:-] [T:b3051f00870ea63065552ca737337f60] HTTP GET /api/v1/business/countries/nationalities responded 200 in 2.3133 ms
2026-10-27 14:31:26.745 +00:00 [INF] [HTTP] [U:902] [C:f6ba5698a3fd] [T:b3051f00870ea63065552ca737337f60] HTTP GET /api/v1/business/countries/nationalities 200
Req: [no body] Res: {"success":true,"data":[{"id":1,"name":"Afghan"},{"id":2,"name":"Albanian"},{"id":3,"name":"Algerian"},{"id":4,"name":"Andorran"},{"id":5,"name":"Angolan"},{"id":6,"name":"Antiguan"},{"id":7,"name":"Argentine"},{"id":8,"name":"Armenian"},{"id":9,"name":"Australian"},{"id":10,"name":"Austrian"},{"id":11,"name":"Azerbaijani"},{"id":12,"name":"Bahamian"},{"id":13,"name":"Bahraini"},{"id":14,"name":"Bangladeshi"},{"id":15,"name":"Barbadian"},{"id":94,"name":"Basotho"},{"id":16,"name":"Belarusian"},{"id":17,"name":"Belgian"},{"id":18,"name":"Belizean"},{"id":19,"name":"Beninese"},{"id":20,"name":"Bhutanese"},{"id":21,"name":"Bolivian"},{"id":22,"name":"Bosnian"},{"id":23,"name":"Botswanan"},{"id":24,"name":"Brazilian"},{"id":25,"name":"British"},{"id":26,"name":"Bruneian"},{"id":27,"name":"Bulgarian"},{"id":28,"name":"Burkinabe"},{"id":118,"name":"Burmese"},{"id":29,"name":"Burundian"},{"id":30,"name":"Cambodian"},{"id":31,"name":"Cameroonian"},{"id":32,"name":"Canadian"},{"id":33,"name":"Cape Verdean"},{"id":34,"name":"Central African"},{"id":35,"name":"Chadian"},{"id":36,"name":"Chilean"},{"id":37,"name":"Chinese"},{"id":38,"name":"Colombian"},{"id":39,"name":"Comorian"},{"id":40,"name":"Congolese"},{"id":41,"name":"Costa Rican"},{"id":42,"name":"Croatian"},{"id":43,"name":"Cuban"},{"id":44,"name":"Cypriot"},{"id":45,"name":"Czech"},{"id":46,"name":"Danish"},{"id":47,"name":"Djiboutian"},{"id":48,"name":"Dominican"},{"id":49,"name":"Dutch"},{"id":50,"name":"Ecuadorian"},{"id":51,"name":"Egyptian"},{"id":52,"name":"Emirati"},{"id":53,"name":"Equatoguinean"},{"id":54,"name":"Eritrean"},{"id":55,"name":"Estonian"},{"id":56,"name":"Ethiopian"},{"id":57,"name":"Fijian"},{"id":58,"name":"Filipino"},{"id":59,"name":"Finnish"},{"id":60,"name":"French"},{"id":61,"name":"Gabonese"},{"id":62,"name":"Gambian"},{"id":63,"name":"Georgian"},{"id":64,"name":"German"},{"id":65,"name":"Ghanaian"},{"id":66,"name":"Greek"},{"id":67,"name":"Grenadian"},{"id":68,"name":"Guatemalan"},{"id":69,"name":"Guinean"},{"id":70,"name":"Guyanese"},{"id":71,"name":"Haitian"},{"id":72,"name":"Honduran"},{"id":73,"name":"Hungarian"},{"id":75,"name":"I-Kiribati"},{"id":74,"name":"Icelandic"},{"id":76,"name":"Indian"},{"id":77,"name":"Indonesian"},{"id":78,"name":"Iranian"},{"id":79,"name":"Iraqi"},{"id":80,"name":"Irish"},{"id":81,"name":"Israeli"},{"id":82,"name":"Italian"},{"id":83,"name":"Jamaican"},{"id":84,"name":"Japanese"},{"id":85,"name":"Jordanian"},{"id":86,"name":"Kazakhstani"},{"id":87,"name":"Kenyan"},{"id":88,"name":"Kittitian"},{"id":89,"name":"Kuwaiti"},{"id":90,"name":"Kyrgyz"},{"id":91,"name":"Laotian"},{"id":92,"name":"Latvian"},{"id":93,"name":"Lebanese"},{"id":95,"name":"Liberian"},{"id":96,"name":"Libyan"},{"id":97,"name":"Liechtensteinish"},{"id":98,"name":"Lithuanian"},{"id":99,"name":"Luxembourgish"},{"id":100,"name":"Macedonian"},{"id":101,"name":"Malagasy"},{"id":102,"name":"Malawian"},{"id":103,"name":"Malaysian"},{"id":104,"name":"Maldivian"},{"id":105,"name":"Malian"},{"id":106,"name":"Maltese"},{"id":107,"name":"Marshallese"},{"id":108,"name":"Mauritanian"},{"id":109,"name":"Mauritian"},{"id":110,"name":"Mexican"},{"id":111,"name":"Micronesian"},{"id":112,"name":"Moldovan"},{"id":113,"name":"Monacan"},{"id":114,"name":"Mongolian"},{"id":115,"name":"Montenegrin"},{"id":116,"name":"Moroccan"},{"id":117,"name":"Mozambican"},{"id":119,"name":"Namibian"},{"id":120,"name":"Nauruan"},{"id":121,"name":"Nepali"},{"id":122,"name":"New Zealander"},{"id":188,"name":"Ni-Vanuatu"},{"id":123,"name":"Nicaraguan"},{"id":125,"name":"Nigerian"},{"id":124,"name":"Nigerien"},{"id":126,"name":"North Korean"},{"id":127,"name":"Norwegian"},{"id":128,"name":"Omani"},{"id":129,"name":"Pakistani"},{"id":130,"name":"Palauan"},{"id":131,"name":"Palestinian"},{"id":132,"name":"Panamanian"},{"id":133,"name":"Papua New Guinean"},{"id":134,"name":"Paraguayan"},{"id":135,"name":"Peruvian"},{"id":136,"name":"Polish"},{"id":137,"name":"Portuguese"},{"id":138,"name":"Qatari"},{"id":139,"name":"Romanian"},{"id":140,"name":"Russian"},{"id":141,"name":"Rwandan"},{"id":142,"name":"Saint Lucian"},{"id":143,"name":"Salvadoran"},{"id":144,"name":"Sammarinese"},{"id":145,"name":"Samoan"},{"id":146,"name":"Sao Tomean"},{"id":147,"name":"Saudi"},{"id":148,"name":"Senegalese"},{"id":149,"name":"Serbian"},{"id":150,"name":"Seychellois"},{"id":151,"name":"Sierra Leonean"},{"id":152,"name":"Singaporean"},{"id":153,"name":"Slovak"},{"id":154,"name":"Slovenian"},{"id":155,"name":"Solomon Islander"},{"id":156,"name":"Somali"},{"id":157,"name":"South African"},{"id":158,"name":"South Korean"},{"id":159,"name":"South Sudanese"},{"id":160,"name":"Spanish"},{"id":161,"name":"Sri Lankan"},{"id":162,"name":"Sudanese"},{"id":163,"name":"Surinamese"},{"id":164,"name":"Swazi"},{"id":165,"name":"Swedish"},{"id":166,"name":"Swiss"},{"id":167,"name":"Syrian"},{"id":168,"name":"Taiwanese"},{"id":169,"name":"Tajik"},{"id":170,"name":"Tanzanian"},{"id":171,"name":"Thai"},{"id":172,"name":"Timorese"},{"id":173,"name":"Togolese"},{"id":174,"name":"Tongan"},{"id":175,"name":"Trinidadian"},{"id":176,"name":"Tunisian"},{"id":177,"name":"Turkish"},{"id":178,"name":"Turkmen"},{"id":179,"name":"Tuvaluan"},{"id":180,"name":"Ugandan"},{"id":181,"name":"Ukrainian"},{"id":182,"name":"Uruguayan"},{"id":183,"name":"Uzbek"},{"id":184,"name":"Vatican"},{"id":185,"name":"Venezuelan"},{"id":186,"name":"Vietnamese"},{"id":187,"name":"Vincentian"},{"id":189,"name":"Yemeni"},{"id":190,"name":"Zambian"},{"id":191,"name":"Zimbabwean"}],"timestamp":"2026-10-27T14:31:26.7455176Z"}
2026-10-27 14:31:26.745 +00:00 [INF] [GEN] [U:-] [C:-] [T:bc911e48bb9f34fa33a0ea8f20b76189] HTTP GET /api/v1/business/fact-finds/clients/459/personal-details responded 200 in 10.4551 ms
2026-10-27 14:31:26.745 +00:00 [INF] [HTTP] [U:902] [C:47d8df6f9636] [T:bc911e48bb9f34fa33a0ea8f20b76189] HTTP GET /api/v1/business/fact-finds/clients/459/personal-details 200
Req: [no body] Res: {"success":true,"data":{"id":328,"factFindId":459,"title":"Mr","firstName":"Steve","lastName":"Lewis","email":"seteve+10@gmail.comm","mobilePhone":"+44 0000000000","middleName":null,"dateOfBirth":"1996-02-16","countryOfBirth":"United Kingdom","nationality":"British","maritalStatus":"Single","gender":"Male","genderOther":null,"anticipatedRetirementAge":75,"anticipatedEmploymentChange":null,"isSmoker":false,"lastSmokedYears":null,"lastSmokedMonths":null,"hasWill":false,"lastWillReviewedYears":null,"lastWillReviewedMonths":null,"niNumber":null,"passportNo":null,"passportCountry":null,"passportValidFrom":null,"passportValidTo":null,"visaType":null,"visaValidFrom":null,"visaValidityDate":null,"isUkResidentForTaxPurposes":null,"isSeekingAsylum":null,"hasRefugeeStatus":null,"hasIndefiniteLeaveToRemain":null,"hasBeenUkResidentMoreThanOneYear":null,"hasBeenKnownByOtherNames":null,"holdsDrivingLicence":null,"drivingLicenceNumber":null,"drivingLicenceIssueDate":null,"drivingLicenceExpiryDate":null,"marketingEmail":null,"marketingText":null,"marketingPhone":null,"marketingMail":null,"createdAt":"2026-07-07T10:37:04.970146Z","updatedAt":"2026-10-27T14:07:30.028118Z"},"timestamp":"2026-10-27T14:31:26.7429685Z","preCheck":{"area":"Fact Find","pageKey":"PersonalDetails","pageTitle":"Personal Details","caseClientId":459,"outstandingCount":1,"totalCount":2,"highestOutstandingPriority":"Major","pageLevelIssues":[{"issueId":69,"issueReference":"ISS-1068","priority":"Major","status":"Open","title":"Personal Details requires attention","complianceComment":"update country.\nupdate middle name","fieldKey":null,"fieldLabel":null,"sectionKey":null,"caseDocumentId":null,"fieldInstanceId":null,"isInstanceMissing":false,"isOutstanding":true}],"sectionIssues":[],"fieldIssues":[{"issueId":68,"issueReference":"ISS-1067","priority":"Critical","status":"Verified","title":"Email requires attention","complianceComment":"wrong email","fieldKey":"Email","fieldLabel":"Email","sectionKey":"PersonalDetails","caseDocumentId":null,"fieldInstanceId":null,"isInstanceMissing":false,"isOutstanding":false}],"rowIssues":[]}}
2026-10-27 14:31:26.606 +00:00 [INF] [GEN] [U:-] [C:-] [T:94dc1bda9f52a5e57928030dce53e830] HTTP GET /api/v1/business/fact-finds/clients/459/personal-details/dependants responded 200 in 5.6291 ms
2026-10-27 14:31:26.605 +00:00 [INF] [HTTP] [U:902] [C:76c1cc54e2e5] [T:94dc1bda9f52a5e57928030dce53e830] HTTP GET /api/v1/business/fact-finds/clients/459/personal-details/dependants 200
Req: [no body] Res: {"success":true,"data":[],"timestamp":"2026-10-27T14:31:26.6058088Z"}
2026-10-27 14:31:26.361 +00:00 [INF] [GEN] [U:-] [C:-] [T:52d2c5556cd1f3ef5183904359320f10] HTTP GET /api/v1/business/case-review/pre-check/by-case/399/anchors responded 200 in 3.3160 ms
2026-10-27 14:31:26.361 +00:00 [INF] [HTTP] [U:902] [C:c8604e1efa21] [T:52d2c5556cd1f3ef5183904359320f10] HTTP GET /api/v1/business/case-review/pre-check/by-case/399/anchors 200
Req: [no body] Res: {"success":true,"data":[{"area":"Fact Find","pageKey":"PersonalDetails","displayName":"Personal Details","isClientScoped":true,"allowsFieldAnchors":true},{"area":"Fact Find","pageKey":"Income","displayName":"Income","isClientScoped":true,"allowsFieldAnchors":true},{"area":"Fact Find","pageKey":"Expenditure","displayName":"Expenditure","isClientScoped":true,"allowsFieldAnchors":true},{"area":"Fact Find","pageKey":"Assets","displayName":"Assets","isClientScoped":true,"allowsFieldAnchors":true},{"area":"Fact Find","pageKey":"Credit","displayName":"Credit","isClientScoped":true,"allowsFieldAnchors":true},{"area":"Fact Find","pageKey":"LifeStyle","displayName":"Life Style","isClientScoped":true,"allowsFieldAnchors":true},{"area":"Fact Find","pageKey":"Health","displayName":"Health","isClientScoped":true,"allowsFieldAnchors":true},{"area":"Fact Find","pageKey":"CompanyDetails","displayName":"Company Details","isClientScoped":true,"allowsFieldAnchors":true},{"area":"Fact Find","pageKey":"ExistingProperty","displayName":"Existing Property","isClientScoped":true,"allowsFieldAnchors":true},{"area":"Fact Find","pageKey":"FinancialOverview","displayName":"Financial Overview","isClientScoped":true,"allowsFieldAnchors":true},{"area":"Sourcing","pageKey":"ExistingReplacementPolicies","displayName":"Existing & Replacement Policies","isClientScoped":false,"allowsFieldAnchors":true},{"area":"Sourcing","pageKey":"NeedsAndPreferences","displayName":"Needs & Preferences","isClientScoped":false,"allowsFieldAnchors":true},{"area":"Sourcing","pageKey":"PersonalProtectionProducts","displayName":"Products","isClientScoped":false,"allowsFieldAnchors":true},{"area":"Sourcing","pageKey":"PersonalProtectionRecommendation","displayName":"Recommendation","isClientScoped":false,"allowsFieldAnchors":true},{"area":"Sourcing","pageKey":"AccidentalCoverProducts","displayName":"Products","isClientScoped":false,"allowsFieldAnchors":true},{"area":"Sourcing","pageKey":"AccidentalCoverExistingPolicies","displayName":"Existing & Replacement Policies","isClientScoped":false,"allowsFieldAnchors":true},{"area":"Sourcing","pageKey":"AccidentalCoverNeedsAndPreferences","displayName":"Needs & Preferences","isClientScoped":false,"allowsFieldAnchors":true},{"area":"Suitability","pageKey":"SuitabilityReport","displayName":"Suitability Report","isClientScoped":false,"allowsFieldAnchors":false}],"timestamp":"2026-10-27T14:31:26.3607238Z"}
2026-10-27 14:31:26.086 +00:00 [INF] [GEN] [U:-] [C:-] [T:0c1bf2336c4f9ba8caf254df8d09f64f] HTTP GET /api/v1/business/case-review/pre-check/by-case/399/annotations responded 200 in 3.9607 ms
2026-10-27 14:31:26.086 +00:00 [INF] [HTTP] [U:902] [C:0e247a3dda2f] [T:0c1bf2336c4f9ba8caf254df8d09f64f] HTTP GET /api/v1/business/case-review/pre-check/by-case/399/annotations 200
Req: [no body] Res: {"success":true,"data":{"caseId":399,"generatedAt":"2026-10-27T14:31:26.0859239Z","pages":[{"area":"Fact Find","pageKey":"Expenditure","pageTitle":"Expenditure","caseClientId":459,"outstandingCount":0,"totalCount":1,"highestOutstandingPriority":null,"pageLevelIssues":[],"sectionIssues":[],"fieldIssues":[{"issueId":67,"issueReference":"ISS-1066","priority":"Major","status":"Verified","title":"Food requires attention","complianceComment":"chnage food amt","fieldKey":"Food","fieldLabel":"Food","sectionKey":"Expenditure","caseDocumentId":null,"fieldInstanceId":null,"isInstanceMissing":false,"isOutstanding":false}],"rowIssues":[]},{"area":"Fact Find","pageKey":"PersonalDetails","pageTitle":"Personal Details","caseClientId":459,"outstandingCount":1,"totalCount":2,"highestOutstandingPriority":"Major","pageLevelIssues":[{"issueId":69,"issueReference":"ISS-1068","priority":"Major","status":"Open","title":"Personal Details requires attention","complianceComment":"update country.\nupdate middle name","fieldKey":null,"fieldLabel":null,"sectionKey":null,"caseDocumentId":null,"fieldInstanceId":null,"isInstanceMissing":false,"isOutstanding":true}],"sectionIssues":[],"fieldIssues":[{"issueId":68,"issueReference":"ISS-1067","priority":"Critical","status":"Verified","title":"Email requires attention","complianceComment":"wrong email","fieldKey":"Email","fieldLabel":"Email","sectionKey":"PersonalDetails","caseDocumentId":null,"fieldInstanceId":null,"isInstanceMissing":false,"isOutstanding":false}],"rowIssues":[]}],"caseReviewStatus":"Issues Found","totalOutstandingCount":1},"timestamp":"2026-10-27T14:31:26.0859277Z"}
2026-10-27 14:31:26.077 +00:00 [INF] [GEN] [U:-] [C:-] [T:7e20faa49f309504f35bde59c03f9bcc] HTTP GET /api/v1/business/cases/399/panel/tasks responded 200 in 16.9578 ms
2026-10-27 14:31:26.076 +00:00 [INF] [HTTP] [U:902] [C:f474925ccd95] [T:7e20faa49f309504f35bde59c03f9bcc] HTTP GET /api/v1/business/cases/399/panel/tasks 200
Req: [no body] Res: {"success":true,"data":{"caseId":399,"factFindComplete":true,"factFindSections":[],"productType":null,"sourcingSections":[],"totalPending":0},"timestamp":"2026-10-27T14:31:26.0764411Z"}
2026-10-27 14:31:25.972 +00:00 [INF] [GEN] [U:-] [C:-] [T:c7d323dba6aee56fe61d072edadfc2c3] HTTP GET /api/v1/business/businessusers/902/profile responded 200 in 31.2812 ms
2026-10-27 14:31:25.972 +00:00 [INF] [HTTP] [U:902] [C:9d8ed2d5b168] [T:c7d323dba6aee56fe61d072edadfc2c3] HTTP GET /api/v1/business/businessusers/902/profile 200
Req: [no body] Res: {"success":true,"data":{"header":{"userId":902,"fullName":"Compliance Head User5","initials":"CU","designationName":"Compliance Head","userType":"Employee","userFacingId":"WFAL-SC-0082","userApplicationStatus":"Approved","statusDisplayName":"Approved","isActive":true,"userStatusDisplayName":"Active","sanctionStatus":"No Match","reportingManagerName":"Max Well AR User","mobileNumber":"07700000000","email":"sarthak.s+compliancehead5@wealthmax.co.uk","profilePhotoUrl":null,"profileLogoThumbnailUrl":null,"changeBannerUrl":null,"passwordLastChangedAt":null},"applicationProgress":{"applicationId":"APP-2026-00849","userApplicationStatus":"Approved","statusDisplayName":"Approved","userOnboardingStep":"Submitted","onboardingStepDisplayName":"Submitted","progressPercentage":100,"submittedAt":"2026-08-04T07:23:55.430263Z"},"overview":{"userInformation":{"firstName":"Compliance Head","lastName":"User5","gender":null,"mobileNumber":"07700000000","telephoneNumber":null,"email":"sarthak.s+compliancehead5@wealthmax.co.uk","dateOfBirth":null,"niNumber":null,"individualReferenceNumber":null,"nationality":null,"address":"1 Seed Street, London","postcode":"SW1A 1AA","country":null,"city":null},"bankDetails":{"bankName":"","accountNumber":"","sortCode":"","bankAddress":""},"emergencyContacts":[]},"roleAndDesignation":{"departmentId":193,"departmentName":"Compliance","designationId":384,"designationName":"Compliance Head","roleName":"Mortgage Compliance, Protection Compliance","roles":[{"role_id":412,"role_name":"Mortgage Compliance","system_role_key":"MortgageCompliance"},{"role_id":413,"role_name":"Protection Compliance","system_role_key":"ProtectionCompliance"}],"branchId":5,"branchName":"Wealthmax Financial Advisers Ltd.","arId":null,"arName":null,"reportingManagerId":709,"reportingManagerName":"Max Well AR User","hasIntroAdviser":false,"introAdviserId":null,"introAdviserName":null},"documents":{"additionalDocuments":[],"applicationDocuments":[]}},"message":"User profile retrieved successfully.","timestamp":"2026-10-27T14:31:25.9716101Z"}
2026-10-27 14:31:25.937 +00:00 [INF] [GEN] [U:-] [C:-] [T:35484b94a1c0ffebd5bd8f6cd4ea4a7c] HTTP GET /api/v1/business/cases/399/notes/summary responded 200 in 10.1494 ms
2026-10-27 14:31:25.937 +00:00 [INF] [HTTP] [U:902] [C:c96072923dd4] [T:35484b94a1c0ffebd5bd8f6cd4ea4a7c] HTTP GET /api/v1/business/cases/399/notes/summary 200
Req: [no body] Res: {"success":true,"data":{"notesAdded":0,"notesUnread":0},"timestamp":"2026-10-27T14:31:25.9375135Z"}
2026-10-27 14:31:25.928 +00:00 [INF] [GEN] [U:-] [C:-] [T:1eacaf8732c7113ccbd05ef0e0b74a98] HTTP POST /hubs/notifications/negotiate responded 200 in 0.6785 ms
2026-10-27 14:31:25.303 +00:00 [INF] [GEN] [U:-] [C:-] [T:f0b1af264c5bd885b8b387f5236a5aac] HTTP GET /api/v1/business/my-tenant/branding responded 200 in 5.9592 ms
2026-10-27 14:31:25.303 +00:00 [INF] [HTTP] [U:902] [C:4317455afa90] [T:f0b1af264c5bd885b8b387f5236a5aac] HTTP GET /api/v1/business/my-tenant/branding 200
Req: [no body] Res: {"success":true,"data":{"primaryColor":"#1f2d75","secondaryColor":"#fb9828","logoUrl":"https://protectionmortgagecrm.blob.core.windows.net/superadmin/dev/tenant-documents/28/28/28_Wealthmax-Financial-Advisers-Ltd._2026-06-22/c0ad32e9-e1ee-413b-8c66-dc01cd0eeade..png?sv=2026-02-06&se=2026-10-27T15%3A31%3A25Z&sr=b&sp=r&rscd=attachment%3B+filename%3Dc0ad32e9-e1ee-413b-8c66-dc01cd0eeade..png%3B+filename*%3DUTF-8%27%27c0ad32e9-e1ee-413b-8c66-dc01cd0eeade..png&sig=cWxWvsaL4LvEH654B0bceAgj38Hd5AnOgwav6zixEBU%3D","companyLogoThumbnailUrl":"https://protectionmortgagecrm.blob.core.windows.net/superadmin/staging/tenant-documents/28/f6694f6c-ddfc-4d16-80bc-664a01b3d416_logo.jpg?sv=2026-02-06&se=2036-07-18T13%3A31%3A06Z&sr=b&sp=r&sig=hNhUd61tHsDcA56Q%2F%2FmoaWos%2ByUFldaq%2Be979eNYxAE%3D","socialUrls":{"facebookUrl":null,"instagramUrl":null,"xUrl":null,"linkedInUrl":null}},"timestamp":"2026-10-27T14:31:25.3032842Z"}
2026-10-27 14:31:25.240 +00:00 [INF] [GEN] [U:-] [C:-] [T:cfc33477fa0c01e779bef8b68c11706f] HTTP GET /api/v1/business/notifications/unread-count responded 200 in 7.7065 ms
2026-10-27 14:31:25.240 +00:00 [INF] [HTTP] [U:902] [C:b9a6eb6f28d9] [T:cfc33477fa0c01e779bef8b68c11706f] HTTP GET /api/v1/business/notifications/unread-count 200
Req: [no body] Res: {"success":true,"data":8,"message":"Unread count retrieved successfully.","timestamp":"2026-10-27T14:31:25.2398385Z"}
2026-10-27 14:31:25.229 +00:00 [INF] [GEN] [U:-] [C:-] [T:68f403b0ee86bdfe84c28d24e5d8da8c] HTTP GET /api/v1/business/cases/399 responded 200 in 67.4538 ms
2026-10-27 14:31:25.229 +00:00 [INF] [HTTP] [U:902] [C:e88042fb72d9] [T:68f403b0ee86bdfe84c28d24e5d8da8c] HTTP GET /api/v1/business/cases/399 200
Req: [no body] Res: {"success":true,"data":{"id":399,"userFacingCaseId":"CASE-0325","productType":"Personal Protection","productTypeDisplayName":"Personal Protection","coverTypeNames":["Life Insurance","Critical Illness"],"caseStatusId":null,"caseStatusName":null,"outcome":"Open","isClosedManually":false,"closedReason":null,"policies":[{"recordType":"RecommendedProduct","recordId":65,"productId":220,"productName":"Zurich Business Life & CI Select","coverTypeIds":[1],"coverTypeNames":["Life Insurance"],"policyStatusId":608,"policyStatusName":"Pending","phase":"InProgress"},{"recordType":"RecommendedProduct","recordId":66,"productId":null,"productName":"Zurich Life & CI + Child","coverTypeIds":[1,4],"coverTypeNames":["Life Insurance","Critical Illness"],"policyStatusId":608,"policyStatusName":"Pending","phase":"InProgress"}],"caseReviewGrade":null,"caseReviewGradeDisplayName":null,"preCheckStatus":"Issues Found","preCheckOutstandingCount":1,"complianceStatus":"Submitted for Pre-Check","stage":"Lead","internalState":"SuitabilityGenerated","clients":[{"caseClientId":459,"clientId":89,"clientName":"Steve Lewis","factFindId":459,"welcomeKitAcknowledged":false,"welcomeKitAcknowledgedAt":null}],"assignedUserId":943,"assignedUserName":"Gagan Gagan ABC","assignedUserArName":"Goldline","assignedUserBranchName":"Wealthmax Financial Advisers Ltd.","introducerUserId":null,"introducerName":null,"isLocked":false,"lockedAt":null,"canReassign":false,"tenantId":28,"createdBy":"656","createdAt":"2026-09-03T11:32:01.990823Z","updatedBy":"943","updatedAt":"2026-10-27T14:07:30.139246Z","caseInformation":{"factFind":[{"order":1,"sectionType":"Personal Details","status":"Complete","completedAt":"2026-10-27T14:07:30.028035Z","preCheckArea":"Fact Find","preCheckPageKey":"PersonalDetails","outstandingIssueCount":1,"totalIssueCount":2,"highestOutstandingPriority":"Major","clientCounts":[{"caseClientId":459,"clientName":"Steve Lewis","outstandingIssueCount":1,"totalIssueCount":2,"highestOutstandingPriority":"Major"}]},{"order":2,"sectionType":"Income","status":"Complete","completedAt":"2026-09-03T11:32:02.123914Z","preCheckArea":"Fact Find","preCheckPageKey":"Income","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null,"clientCounts":[]},{"order":3,"sectionType":"Expenditure","status":"Complete","completedAt":"2026-09-07T11:30:54.022023Z","preCheckArea":"Fact Find","preCheckPageKey":"Expenditure","outstandingIssueCount":0,"totalIssueCount":1,"highestOutstandingPriority":null,"clientCounts":[{"caseClientId":459,"clientName":"Steve Lewis","outstandingIssueCount":0,"totalIssueCount":1,"highestOutstandingPriority":null}]},{"order":4,"sectionType":"Assets","status":"Complete","completedAt":"2026-09-03T11:32:12.71597Z","preCheckArea":"Fact Find","preCheckPageKey":"Assets","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null,"clientCounts":[]},{"order":5,"sectionType":"Credit","status":"Complete","completedAt":"2026-09-03T11:32:13.293452Z","preCheckArea":"Fact Find","preCheckPageKey":"Credit","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null,"clientCounts":[]},{"order":6,"sectionType":"Life Style","status":"Complete","completedAt":"2026-09-03T11:32:13.964623Z","preCheckArea":"Fact Find","preCheckPageKey":"LifeStyle","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null,"clientCounts":[]},{"order":7,"sectionType":"Health","status":"Complete","completedAt":"2026-09-03T11:32:14.70025Z","preCheckArea":"Fact Find","preCheckPageKey":"Health","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null,"clientCounts":[]},{"order":9,"sectionType":"Existing Property","status":"Complete","completedAt":"2026-09-03T11:32:16.285297Z","preCheckArea":"Fact Find","preCheckPageKey":"ExistingProperty","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null,"clientCounts":[]},{"order":10,"sectionType":"Financial Overview","status":"Complete","completedAt":"2026-09-03T11:32:17.105161Z","preCheckArea":"Fact Find","preCheckPageKey":"FinancialOverview","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null,"clientCounts":[]}],"productType":{"name":"Personal Protection","coverTypeNames":[{"name":"Life Insurance","status":"Complete","completedAt":"2026-10-27T14:30:57.110859Z","preCheckArea":"Product Requirement","preCheckPageKey":null,"outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null,"clientCounts":[]},{"name":"Critical Illness","status":"Complete","completedAt":"2026-10-27T14:30:57.110859Z","preCheckArea":"Product Requirement","preCheckPageKey":null,"outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null,"clientCounts":[]}]},"sourcing":"Personal Protection","sourcingSection":[{"order":1,"sectionType":"Existing & Replacement Policies","status":"Complete","completedAt":"2026-09-03T11:32:21.102837Z","isEnabled":true,"preCheckArea":"Sourcing","preCheckPageKey":"ExistingReplacementPolicies","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null},{"order":2,"sectionType":"Needs & Preferences","status":"Complete","completedAt":null,"isEnabled":true,"preCheckArea":"Sourcing","preCheckPageKey":"NeedsAndPreferences","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null},{"order":3,"sectionType":"Products","status":"Complete","completedAt":"2026-10-27T14:30:57.110859Z","isEnabled":true,"preCheckArea":"Sourcing","preCheckPageKey":"PersonalProtectionProducts","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null},{"order":4,"sectionType":"Recommendation","status":"Complete","completedAt":"2026-09-07T10:18:06.172492Z","isEnabled":true,"preCheckArea":"Sourcing","preCheckPageKey":"PersonalProtectionRecommendation","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null}],"suitability":{"documentsComplete":false,"pendingDocuments":[{"documentType":"PhotoId","label":"Photo ID","status":"Pending","completedAt":null,"missingForClients":[{"clientId":89,"fullName":"Steve Lewis"}]},{"documentType":"QuoteComparisonReport","label":"Quote Comparison Report","status":"Pending","completedAt":null,"missingForClients":[]},{"documentType":"ProvidersIllustration","label":"Provider's Illustration","status":"Pending","completedAt":null,"missingForClients":[]},{"documentType":"Application","label":"Application","status":"Pending","completedAt":null,"missingForClients":[]},{"documentType":"KeyFeatures","label":"Key Features","status":"Pending","completedAt":null,"missingForClients":[]}],"preCheckArea":"Suitability","preCheckPageKey":"SuitabilityReport","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null}}},"timestamp":"2026-10-27T14:31:25.2287737Z"}
2026-10-27 14:31:25.205 +00:00 [INF] [GEN] [U:-] [C:-] [T:ca2b576dc8da994b81a96f1656993968] HTTP GET /api/v1/business/notifications responded 200 in 43.3620 ms
2026-10-27 14:31:25.204 +00:00 [INF] [HTTP] [U:902] [C:6472d11989cc] [T:ca2b576dc8da994b81a96f1656993968] HTTP GET /api/v1/business/notifications 200
Req: [no body] Res: {"success":true,"data":{"content":[{"id":906,"title":"New Branch Created","message":"A new branch Development has been created.","notificationType":"Info","eventType":"BranchCreated","tenantId":28,"audienceType":"HQBranchUsers","priority":"Normal","expiresAt":null,"targetBranchId":null,"targetRoleId":null,"targetDepartmentId":null,"targetDesignationId":null,"targetUserId":null,"createdAt":"2026-08-07T09:45:38.460064Z","isRead":false},{"id":905,"title":"New Branch Created","message":"A new branch TEST has been created.","notificationType":"Info","eventType":"BranchCreated","tenantId":28,"audienceType":"HQBranchUsers","priority":"Normal","expiresAt":null,"targetBranchId":null,"targetRoleId":null,"targetDepartmentId":null,"targetDesignationId":null,"targetUserId":null,"createdAt":"2026-08-07T09:43:34.745792Z","isRead":false},{"id":763,"title":"New Branch Created","message":"A new branch Gagan New Branch has been created.","notificationType":"Info","eventType":"BranchCreated","tenantId":28,"audienceType":"HQBranchUsers","priority":"Normal","expiresAt":null,"targetBranchId":null,"targetRoleId":null,"targetDepartmentId":null,"targetDesignationId":null,"targetUserId":null,"createdAt":"2026-07-31T12:56:12.39564Z","isRead":false},{"id":762,"title":"New Branch Created","message":"A new branch CLEN has been created.","notificationType":"Info","eventType":"BranchCreated","tenantId":28,"audienceType":"HQBranchUsers","priority":"Normal","expiresAt":null,"targetBranchId":null,"targetRoleId":null,"targetDepartmentId":null,"targetDesignationId":null,"targetUserId":null,"createdAt":"2026-07-31T12:54:22.453643Z","isRead":false},{"id":690,"title":"New Branch Created","message":"A new branch Meta has been created.","notificationType":"Info","eventType":"BranchCreated","tenantId":28,"audienceType":"HQBranchUsers","priority":"Normal","expiresAt":null,"targetBranchId":null,"targetRoleId":null,"targetDepartmentId":null,"targetDesignationId":null,"targetUserId":null,"createdAt":"2026-07-29T06:49:53.510379Z","isRead":false},{"id":500,"title":"New Branch Created","message":"A new branch JP Morgan has been created.","notificationType":"Info","eventType":"BranchCreated","tenantId":28,"audienceType":"HQBranchUsers","priority":"Normal","expiresAt":null,"targetBranchId":null,"targetRoleId":null,"targetDepartmentId":null,"targetDesignationId":null,"targetUserId":null,"createdAt":"2026-07-21T07:27:12.619909Z","isRead":false},{"id":389,"title":"New Branch Created","message":"A new branch BRANCH TESTING has been created.","notificationType":"Info","eventType":"BranchCreated","tenantId":28,"audienceType":"HQBranchUsers","priority":"Normal","expiresAt":null,"targetBranchId":null,"targetRoleId":null,"targetDepartmentId":null,"targetDesignationId":null,"targetUserId":null,"createdAt":"2026-07-16T09:58:00.843964Z","isRead":false},{"id":71,"title":"New Branch Created","message":"A new branch Testing Branch has been created.","notificationType":"Info","eventType":"BranchCreated","tenantId":28,"audienceType":"HQBranchUsers","priority":"Normal","expiresAt":null,"targetBranchId":null,"targetRoleId":null,"targetDepartmentId":null,"targetDesignationId":null,"targetUserId":null,"createdAt":"2026-07-02T08:23:41.722286Z","isRead":false}],"pagination":{"page":0,"size":50,"totalElements":8,"totalPages":1,"hasNext":false,"hasPrevious":false,"isFirst":true,"isLast":true}},"message":"Notifications retrieved successfully.","timestamp":"2026-10-27T14:31:25.2045261Z"}
2026-10-27 14:31:25.198 +00:00 [INF] [GEN] [U:-] [C:-] [T:1b9af6ed93f56548d37317ecb830e6ee] HTTP GET /api/v1/business/me responded 200 in 37.4989 ms
2026-10-27 14:31:25.197 +00:00 [INF] [HTTP] [U:902] [C:17259e041b82] [T:1b9af6ed93f56548d37317ecb830e6ee] HTTP GET /api/v1/business/me 200
Req: [no body] Res: {"success":true,"data":{"id":902,"userFacingId":"WFAL-SC-0082","email":"sarthak.s+compliancehead5@wealthmax.co.uk","firstName":"Compliance Head","lastName":"User5","mobileNumber":"07700000000","userOnboardingStep":"Submitted","tenantId":28,"tenantCompanyName":"Wealthmax Financial Advisers Ltd.","branchId":5,"branchName":"Wealthmax Financial Advisers Ltd.","arId":null,"arName":null,"departmentId":193,"departmentName":"Compliance","designationId":384,"designationName":"Compliance Head","roles":[{"role_id":412,"role_name":"Mortgage Compliance","system_role_key":"MortgageCompliance"},{"role_id":413,"role_name":"Protection Compliance","system_role_key":"ProtectionCompliance"}],"primaryColor":"#1f2d75","secondaryColor":"#fb9828","permissions":{"permissions":{"user_management":{"user_list_main_page":{"is_parent":true,"permissions":["view"]},"application_form_user_fills":{"is_parent":false,"permissions":["view","edit"]},"user_profile":{"is_parent":false,"permissions":["view"]}},"branch_management":{"branch_list_main_page":{"is_parent":true,"permissions":[]},"branch_profile_view":{"is_parent":false,"permissions":[]}},"my_tenant":{"company_details":{"is_parent":true,"permissions":["view"]},"branding":{"is_parent":false,"permissions":["view"]},"documents":{"is_parent":false,"permissions":[]}},"ar_management":{"ar_list_main_page":{"is_parent":true,"permissions":["view"]},"ar_profile_view":{"is_parent":false,"permissions":["view"]}},"cpd":{"my_cpd":{"is_parent":true,"permissions":["view","create","edit","delete","export"]},"team_cpd_main_page":{"is_parent":false,"permissions":["view"]}},"client_management":{"my_clients":{"is_parent":true,"permissions":["view","create","edit","export"]},"team_clients":{"is_parent":false,"permissions":[]},"client_overview":{"is_parent":false,"permissions":["view","create","edit"]}},"case_management":{"my_cases":{"is_parent":true,"permissions":["view","create","edit"]},"team_cases":{"is_parent":false,"permissions":[]},"case_overview":{"is_parent":false,"permissions":["view","create","edit","delete"]},"case_review_final":{"is_parent":false,"permissions":["view","create","edit","delete"]},"case_notes":{"is_parent":false,"permissions":[]},"case_review_pre_check":{"is_parent":false,"permissions":["view","create","approve"]},"policy_templates":{"is_parent":false,"permissions":[]}},"roles":{"main":{"is_parent":true,"permissions":[]}},"departments":{"main":{"is_parent":true,"permissions":[]}},"designations":{"main":{"is_parent":true,"permissions":[]}},"subscription_management":{"my_subscription_page":{"is_parent":true,"permissions":[]}},"dashboard":{"stats":{"is_parent":true,"permissions":[]}},"countries":{"main":{"is_parent":true,"permissions":[]}},"reporting":{"reports_main_page":{"is_parent":true,"permissions":["view","export"]},"all_data_export":{"is_parent":false,"permissions":["export"]}},"document_templates":{"document_template_main_page":{"is_parent":true,"permissions":["view","create"]}},"exam_zone":{"exam_listing_page":{"is_parent":true,"permissions":["view"]},"my_results":{"is_parent":false,"permissions":["view","export"]},"team_results":{"is_parent":false,"permissions":["view","edit","export"]}},"support":{"my_queries":{"is_parent":true,"permissions":["view","create"]}},"notifications":{"notifications_main_page":{"is_parent":true,"permissions":[]}},"solicitors":{"main":{"is_parent":true,"permissions":[]}},"document_library":{"main":{"is_parent":true,"permissions":["view"]}},"commissions":{"statements":{"is_parent":false,"permissions":[]},"allocations":{"is_parent":false,"permissions":[]},"profiles":{"is_parent":false,"permissions":[]},"settings":{"is_parent":false,"permissions":[]},"retention_pot":{"is_parent":false,"permissions":[]}},"product_catalog":{"main":{"is_parent":true,"permissions":[]}},"my_commissions":{"main":{"is_parent":true,"permissions":["view"]}}}},"profileLogoThumbnailUrl":null},"message":"Profile retrieved successfully.","timestamp":"2026-10-27T14:31:25.1971847Z"}
2026-10-27 14:31:25.180 +00:00 [INF] [GEN] [U:-] [C:-] [T:e973681aa7602048d0b35e1c6242f3f5] HTTP GET /api/v1/business/cases/399/fact-find/start-date responded 200 in 19.8133 ms
2026-10-27 14:31:25.180 +00:00 [INF] [HTTP] [U:902] [C:8668725d36ca] [T:e973681aa7602048d0b35e1c6242f3f5] HTTP GET /api/v1/business/cases/399/fact-find/start-date 200
Req: [no body] Res: {"success":true,"data":{"startedAt":"2026-09-03T11:32:07.604Z"},"timestamp":"2026-10-27T14:31:25.1803317Z"}
2026-10-27 14:31:16.509 +00:00 [INF] [GEN] [U:-] [C:-] [T:cdb8d843a6bedcd0f273d2cee135d771] HTTP GET /api/v1/business/case-review/pre-check/by-case/399/status responded 200 in 5.4955 ms
2026-10-27 14:31:16.509 +00:00 [INF] [HTTP] [U:943] [C:1c10ad29ec61] [T:cdb8d843a6bedcd0f273d2cee135d771] HTTP GET /api/v1/business/case-review/pre-check/by-case/399/status 200
Req: [no body] Res: {"success":true,"data":{"caseReviewStatus":"Issues Found","outstandingCount":1,"canStart":true,"notStartableReason":null},"timestamp":"2026-10-27T14:31:16.5093255Z"}
2026-10-27 14:31:09.090 +00:00 [INF] [GEN] [U:-] [C:-] [T:f13620d749694dfa00614e539f678083] HTTP GET /api/v1/business/cases/399/notes/summary responded 200 in 15.2754 ms
2026-10-27 14:31:09.090 +00:00 [INF] [HTTP] [U:943] [C:88a440bacc94] [T:f13620d749694dfa00614e539f678083] HTTP GET /api/v1/business/cases/399/notes/summary 200
Req: [no body] Res: {"success":true,"data":{"notesAdded":0,"notesUnread":0},"timestamp":"2026-10-27T14:31:09.0903901Z"}
2026-10-27 14:31:08.387 +00:00 [INF] [GEN] [U:-] [C:-] [T:ae280fa5774b55e322658f5f074d5ba5] HTTP GET /api/v1/business/cases/399/panel responded 200 in 48.3629 ms
2026-10-27 14:31:08.387 +00:00 [INF] [HTTP] [U:943] [C:38a6d1829fb2] [T:ae280fa5774b55e322658f5f074d5ba5] HTTP GET /api/v1/business/cases/399/panel 200
Req: [no body] Res: {"success":true,"data":{"caseId":399,"userFacingCaseId":"CASE-0325","assignedUser":{"userId":943,"fullName":"Gagan Gagan ABC","email":"gagan.deep+10@wealthmax.co.uk","profilePhotoUrl":null},"tasksPending":0,"documentsPending":5,"documentsComplete":false,"notesAdded":0,"notesUnread":0},"timestamp":"2026-10-27T14:31:08.3872461Z"}
2026-10-27 14:31:08.358 +00:00 [INF] [GEN] [U:-] [C:-] [T:a62d9aac20700b060d734a59fc34ee97] HTTP GET /api/v1/business/cases/399/panel/tasks responded 200 in 23.8672 ms
2026-10-27 14:31:08.358 +00:00 [INF] [HTTP] [U:943] [C:f8f5805f7e36] [T:a62d9aac20700b060d734a59fc34ee97] HTTP GET /api/v1/business/cases/399/panel/tasks 200
Req: [no body] Res: {"success":true,"data":{"caseId":399,"factFindComplete":true,"factFindSections":[],"productType":null,"sourcingSections":[],"totalPending":0},"timestamp":"2026-10-27T14:31:08.3579306Z"}
2026-10-27 14:31:08.350 +00:00 [INF] [GEN] [U:-] [C:-] [T:12865fc6fa575ab662d97887f6b742ee] HTTP GET /api/v1/business/case-clients/459/notes responded 200 in 14.4709 ms
2026-10-27 14:31:08.350 +00:00 [INF] [HTTP] [U:943] [C:028e8f0b1a9e] [T:12865fc6fa575ab662d97887f6b742ee] HTTP GET /api/v1/business/case-clients/459/notes 200
Req: [no body] Res: {"success":true,"data":{"content":[],"pagination":{"page":0,"size":20,"totalElements":0,"totalPages":0,"hasNext":false,"hasPrevious":false,"isFirst":true,"isLast":true}},"timestamp":"2026-10-27T14:31:08.3502507Z"}
2026-10-27 14:31:08.347 +00:00 [INF] [GEN] [U:-] [C:-] [T:1a9b61826cd585000901130d21e3ccf7] HTTP GET /api/v1/business/cases/399/panel/documents responded 200 in 10.6170 ms
2026-10-27 14:31:08.347 +00:00 [INF] [HTTP] [U:943] [C:a2c298d773b9] [T:1a9b61826cd585000901130d21e3ccf7] HTTP GET /api/v1/business/cases/399/panel/documents 200
Req: [no body] Res: {"success":true,"data":{"caseId":399,"documentsComplete":false,"documents":[{"documentType":"PhotoId","label":"Photo ID","status":"Pending","completedAt":null,"missingForClients":[{"clientId":89,"fullName":"Steve Lewis"}]},{"documentType":"QuoteComparisonReport","label":"Quote Comparison Report","status":"Pending","completedAt":null,"missingForClients":[]},{"documentType":"ProvidersIllustration","label":"Provider's Illustration","status":"Pending","completedAt":null,"missingForClients":[]},{"documentType":"Application","label":"Application","status":"Pending","completedAt":null,"missingForClients":[]},{"documentType":"KeyFeatures","label":"Key Features","status":"Pending","completedAt":null,"missingForClients":[]}],"totalPending":5},"timestamp":"2026-10-27T14:31:08.3472181Z"}
2026-10-27 14:31:08.341 +00:00 [INF] [GEN] [U:-] [C:-] [T:abd3c79b91fe85c2dfd03ee6dadbd662] HTTP GET /api/v1/business/case-review/pre-check/by-case/399/issues responded 200 in 4.7533 ms
2026-10-27 14:31:08.340 +00:00 [INF] [HTTP] [U:943] [C:69619d639431] [T:abd3c79b91fe85c2dfd03ee6dadbd662] HTTP GET /api/v1/business/case-review/pre-check/by-case/399/issues 200
Req: [no body] Res: {"success":true,"data":{"content":[{"id":69,"issueReference":"ISS-1068","priority":"Major","title":"Personal Details requires attention","complianceComment":"update country.\nupdate middle name","locationBreadcrumb":"Fact Find › Personal Details","anchor":{"anchorType":"Page","area":"Fact Find","pageKey":"PersonalDetails","pageTitle":"Personal Details","sectionKey":null,"sectionTitle":null,"fieldKey":null,"fieldLabel":null,"fieldInstanceId":null,"caseDocumentId":null},"raisedByName":"Compliance Head User5","raisedByDesignationName":"Compliance Head","raisedAt":"2026-10-27T14:11:51.09136Z","status":"Open","previousValue":null,"currentValue":null},{"id":68,"issueReference":"ISS-1067","priority":"Critical","title":"Email requires attention","complianceComment":"wrong email","locationBreadcrumb":"Fact Find › Personal Details › Personal Details › Email","anchor":{"anchorType":"Field","area":"Fact Find","pageKey":"PersonalDetails","pageTitle":"Personal Details","sectionKey":"PersonalDetails","sectionTitle":"Personal Details","fieldKey":"Email","fieldLabel":"Email","fieldInstanceId":null,"caseDocumentId":null},"raisedByName":"Compliance Head User5","raisedByDesignationName":"Compliance Head","raisedAt":"2026-10-27T14:05:55.319976Z","status":"Verified","previousValue":"seteve@gmail.comm","currentValue":"seteve+10@gmail.comm"},{"id":67,"issueReference":"ISS-1066","priority":"Major","title":"Food requires attention","complianceComment":"chnage food amt","locationBreadcrumb":"Fact Find › Expenditure › Expenditure › Food","anchor":{"anchorType":"Field","area":"Fact Find","pageKey":"Expenditure","pageTitle":"Expenditure","sectionKey":"Expenditure","sectionTitle":"Expenditure","fieldKey":"Food","fieldLabel":"Food","fieldInstanceId":null,"caseDocumentId":null},"raisedByName":"Compliance Head User5","raisedByDesignationName":"Compliance Head","raisedAt":"2026-10-27T14:01:59.610885Z","status":"Verified","previousValue":"0","currentValue":"0"}],"pagination":{"page":0,"size":10,"totalElements":3,"totalPages":1,"hasNext":false,"hasPrevious":false,"isFirst":true,"isLast":true}},"timestamp":"2026-10-27T14:31:08.340675Z"}
2026-10-27 14:31:08.321 +00:00 [INF] [GEN] [U:-] [C:-] [T:861fc8b1777e26c589838703ea928e07] HTTP GET /api/v1/business/case-review/pre-check/by-case/399/status responded 200 in 4.6681 ms
2026-10-27 14:31:08.321 +00:00 [INF] [HTTP] [U:943] [C:91662995adba] [T:861fc8b1777e26c589838703ea928e07] HTTP GET /api/v1/business/case-review/pre-check/by-case/399/status 200
Req: [no body] Res: {"success":true,"data":{"caseReviewStatus":"Issues Found","outstandingCount":1,"canStart":true,"notStartableReason":null},"timestamp":"2026-10-27T14:31:08.3209445Z"}
2026-10-27 14:31:06.782 +00:00 [INF] [GEN] [U:-] [C:-] [T:ff4c1527814012580fcb8d1072139e7d] HTTP GET /api/v1/business/case-review/pre-check/by-case/399/issues responded 200 in 5.0195 ms
2026-10-27 14:31:06.782 +00:00 [INF] [GEN] [U:-] [C:-] [T:92372b527c7a4e253dff90be29bafd3d] HTTP GET /api/v1/business/case-review/pre-check/by-case/399/summary responded 200 in 4.9820 ms
2026-10-27 14:31:06.781 +00:00 [INF] [HTTP] [U:943] [C:e0bf2ccbb10a] [T:ff4c1527814012580fcb8d1072139e7d] HTTP GET /api/v1/business/case-review/pre-check/by-case/399/issues 200
Req: [no body] Res: {"success":true,"data":{"content":[{"id":69,"issueReference":"ISS-1068","priority":"Major","title":"Personal Details requires attention","complianceComment":"update country.\nupdate middle name","locationBreadcrumb":"Fact Find › Personal Details","anchor":{"anchorType":"Page","area":"Fact Find","pageKey":"PersonalDetails","pageTitle":"Personal Details","sectionKey":null,"sectionTitle":null,"fieldKey":null,"fieldLabel":null,"fieldInstanceId":null,"caseDocumentId":null},"raisedByName":"Compliance Head User5","raisedByDesignationName":"Compliance Head","raisedAt":"2026-10-27T14:11:51.09136Z","status":"Open","previousValue":null,"currentValue":null},{"id":68,"issueReference":"ISS-1067","priority":"Critical","title":"Email requires attention","complianceComment":"wrong email","locationBreadcrumb":"Fact Find › Personal Details › Personal Details › Email","anchor":{"anchorType":"Field","area":"Fact Find","pageKey":"PersonalDetails","pageTitle":"Personal Details","sectionKey":"PersonalDetails","sectionTitle":"Personal Details","fieldKey":"Email","fieldLabel":"Email","fieldInstanceId":null,"caseDocumentId":null},"raisedByName":"Compliance Head User5","raisedByDesignationName":"Compliance Head","raisedAt":"2026-10-27T14:05:55.319976Z","status":"Verified","previousValue":"seteve@gmail.comm","currentValue":"seteve+10@gmail.comm"},{"id":67,"issueReference":"ISS-1066","priority":"Major","title":"Food requires attention","complianceComment":"chnage food amt","locationBreadcrumb":"Fact Find › Expenditure › Expenditure › Food","anchor":{"anchorType":"Field","area":"Fact Find","pageKey":"Expenditure","pageTitle":"Expenditure","sectionKey":"Expenditure","sectionTitle":"Expenditure","fieldKey":"Food","fieldLabel":"Food","fieldInstanceId":null,"caseDocumentId":null},"raisedByName":"Compliance Head User5","raisedByDesignationName":"Compliance Head","raisedAt":"2026-10-27T14:01:59.610885Z","status":"Verified","previousValue":"0","currentValue":"0"}],"pagination":{"page":0,"size":10,"totalElements":3,"totalPages":1,"hasNext":false,"hasPrevious":false,"isFirst":true,"isLast":true}},"timestamp":"2026-10-27T14:31:06.7815538Z"}
2026-10-27 14:31:06.781 +00:00 [INF] [HTTP] [U:943] [C:476ba08ee91e] [T:92372b527c7a4e253dff90be29bafd3d] HTTP GET /api/v1/business/case-review/pre-check/by-case/399/summary 200
Req: [no body] Res: {"success":true,"data":{"reviewedCount":0,"issuesFoundCount":3,"addressedCount":2,"pendingComplianceReviewCount":1,"caseReviewStatus":"Issues Found","lastReviewedAt":null,"lastReviewedByName":null,"lastReviewerDesignationName":null},"timestamp":"2026-10-27T14:31:06.781707Z"}
2026-10-27 14:31:05.591 +00:00 [INF] [GEN] [U:-] [C:-] [T:1c31aa43e1a141494ec011a928eec21a] HTTP GET /api/v1/business/case-review/pre-check/by-case/399/status responded 200 in 5.5586 ms
2026-10-27 14:31:05.591 +00:00 [INF] [HTTP] [U:943] [C:013c5097ddd8] [T:1c31aa43e1a141494ec011a928eec21a] HTTP GET /api/v1/business/case-review/pre-check/by-case/399/status 200
Req: [no body] Res: {"success":true,"data":{"caseReviewStatus":"Issues Found","outstandingCount":1,"canStart":true,"notStartableReason":null},"timestamp":"2026-10-27T14:31:05.5910619Z"}
2026-10-27 14:31:05.431 +00:00 [INF] [GEN] [U:-] [C:-] [T:6976d2793c30db6939bab63520d90142] HTTP GET /api/v1/business/cases/399/panel/tasks responded 200 in 19.1886 ms
2026-10-27 14:31:05.431 +00:00 [INF] [HTTP] [U:943] [C:5d6f03ca74e9] [T:6976d2793c30db6939bab63520d90142] HTTP GET /api/v1/business/cases/399/panel/tasks 200
Req: [no body] Res: {"success":true,"data":{"caseId":399,"factFindComplete":true,"factFindSections":[],"productType":null,"sourcingSections":[],"totalPending":0},"timestamp":"2026-10-27T14:31:05.431041Z"}
2026-10-27 14:31:05.270 +00:00 [INF] [GEN] [U:-] [C:-] [T:40eec7bdee2d5407d2fe129308ecad75] HTTP GET /api/v1/business/sourcing/cases/399/recommended-products/177 responded 200 in 10.6536 ms
2026-10-27 14:31:05.270 +00:00 [INF] [HTTP] [U:943] [C:9deaaf756657] [T:40eec7bdee2d5407d2fe129308ecad75] HTTP GET /api/v1/business/sourcing/cases/399/recommended-products/177 200
Req: [no body] Res: {"success":true,"data":[{"id":65,"caseId":399,"quoteId":177,"iPipelineQuoteId":"d2d95744-7249-4366-9bbf-421e5b768b05","benefitId":"2d0036c4-c9af-4eca-9b2e-88249cbfeb47","benefitKey":"Term|First|Life","benefitName":"Life Insurance","quoteCover":"Life","displayName":"Steve","isManualProduct":false,"policyStatusId":608,"policyStatusName":"Pending","phase":"InProgress","liveAt":null,"needsStatusReview":true,"basicInformation":{"productName":"Zurich Business Life & CI Select","productId":220,"provider":"Zurich","providerId":135,"addToTrust":true,"trustType":"Discretionary Trust"},"policyInformation":{"clients":[{"caseClientId":459,"name":"Steve Lewis"}],"sumAssured":230000.00,"coverTypeIds":[1],"singleJointPolicy":"Single","policyNumber":"123456789","termType":"Upto Age","terms":null,"toAge":65,"businessType":"New Business","protectionBasis":"Level","premiumPeriod":"Reviewable","premiumAmount":10.00,"benefitType":"Term","indexation":null,"isInTrustDeed":null,"interestRate":null,"typeOfLoan":null,"otherDetail":null,"underwritingBasis":null},"dependantDetails":[],"commissionInformation":{"grossCommission":1255.00,"commissionMonths":"24 Months","commissionType":"Indemnity"},"recommendations":{"policyRecommendations":null,"providerRecommended":"test","reasonForCover":"hghbgfg","reasonForTermLength":"thfg"},"isComplete":true},{"id":66,"caseId":399,"quoteId":177,"iPipelineQuoteId":"d2d95744-7249-4366-9bbf-421e5b768b05","benefitId":"32dc306b-1745-4f17-b68a-c844ccb4caf5","benefitKey":"Term|First|LifeOrCriticalIllness","benefitName":"Life Insurance","quoteCover":"Life or Critical Illness","displayName":"Steve","isManualProduct":false,"policyStatusId":608,"policyStatusName":"Pending","phase":"InProgress","liveAt":null,"needsStatusReview":true,"basicInformation":{"productName":"Zurich Life & CI + Child","productId":null,"provider":"Zurich","providerId":135,"addToTrust":false,"trustType":null},"policyInformation":{"clients":[{"caseClientId":459,"name":"Steve Lewis"}],"sumAssured":23000.00,"coverTypeIds":[1,4],"singleJointPolicy":"Single","policyNumber":"4656","termType":"Upto Age","terms":null,"toAge":65,"businessType":"New Business","protectionBasis":"Level","premiumPeriod":"Reviewable","premiumAmount":54.00,"benefitType":"Term","indexation":null,"isInTrustDeed":null,"interestRate":null,"typeOfLoan":null,"otherDetail":null,"underwritingBasis":null},"dependantDetails":[],"commissionInformation":{"grossCommission":500.00,"commissionMonths":"24 Months","commissionType":"Indemnity"},"recommendations":{"policyRecommendations":"test","providerRecommended":"test","reasonForCover":null,"reasonForTermLength":null},"isComplete":false}],"timestamp":"2026-10-27T14:31:05.2669415Z","preCheck":{"area":"Sourcing","pageKey":"PersonalProtectionProducts","pageTitle":"Products","caseClientId":null,"outstandingCount":0,"totalCount":0,"highestOutstandingPriority":null,"pageLevelIssues":[],"sectionIssues":[],"fieldIssues":[],"rowIssues":[]}}
2026-10-27 14:31:04.733 +00:00 [INF] [GEN] [U:-] [C:-] [T:edcd56af6b4ebf2f023928330cbd7a02] HTTP GET /api/v1/business/cases/399 responded 200 in 43.7576 ms
2026-10-27 14:31:04.733 +00:00 [INF] [HTTP] [U:943] [C:afce2d6d0682] [T:edcd56af6b4ebf2f023928330cbd7a02] HTTP GET /api/v1/business/cases/399 200
Req: [no body] Res: {"success":true,"data":{"id":399,"userFacingCaseId":"CASE-0325","productType":"Personal Protection","productTypeDisplayName":"Personal Protection","coverTypeNames":["Life Insurance","Critical Illness"],"caseStatusId":null,"caseStatusName":null,"outcome":"Open","isClosedManually":false,"closedReason":null,"policies":[{"recordType":"RecommendedProduct","recordId":65,"productId":220,"productName":"Zurich Business Life & CI Select","coverTypeIds":[1],"coverTypeNames":["Life Insurance"],"policyStatusId":608,"policyStatusName":"Pending","phase":"InProgress"},{"recordType":"RecommendedProduct","recordId":66,"productId":null,"productName":"Zurich Life & CI + Child","coverTypeIds":[1,4],"coverTypeNames":["Life Insurance","Critical Illness"],"policyStatusId":608,"policyStatusName":"Pending","phase":"InProgress"}],"caseReviewGrade":null,"caseReviewGradeDisplayName":null,"preCheckStatus":"Issues Found","preCheckOutstandingCount":1,"complianceStatus":"Submitted for Pre-Check","stage":"Lead","internalState":"SuitabilityGenerated","clients":[{"caseClientId":459,"clientId":89,"clientName":"Steve Lewis","factFindId":459,"welcomeKitAcknowledged":false,"welcomeKitAcknowledgedAt":null}],"assignedUserId":943,"assignedUserName":"Gagan Gagan ABC","assignedUserArName":"Goldline","assignedUserBranchName":"Wealthmax Financial Advisers Ltd.","introducerUserId":null,"introducerName":null,"isLocked":false,"lockedAt":null,"canReassign":true,"tenantId":28,"createdBy":"656","createdAt":"2026-09-03T11:32:01.990823Z","updatedBy":"943","updatedAt":"2026-10-27T14:07:30.139246Z","caseInformation":{"factFind":[{"order":1,"sectionType":"Personal Details","status":"Complete","completedAt":"2026-10-27T14:07:30.028035Z","preCheckArea":"Fact Find","preCheckPageKey":"PersonalDetails","outstandingIssueCount":1,"totalIssueCount":2,"highestOutstandingPriority":"Major","clientCounts":[{"caseClientId":459,"clientName":"Steve Lewis","outstandingIssueCount":1,"totalIssueCount":2,"highestOutstandingPriority":"Major"}]},{"order":2,"sectionType":"Income","status":"Complete","completedAt":"2026-09-03T11:32:02.123914Z","preCheckArea":"Fact Find","preCheckPageKey":"Income","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null,"clientCounts":[]},{"order":3,"sectionType":"Expenditure","status":"Complete","completedAt":"2026-09-07T11:30:54.022023Z","preCheckArea":"Fact Find","preCheckPageKey":"Expenditure","outstandingIssueCount":0,"totalIssueCount":1,"highestOutstandingPriority":null,"clientCounts":[{"caseClientId":459,"clientName":"Steve Lewis","outstandingIssueCount":0,"totalIssueCount":1,"highestOutstandingPriority":null}]},{"order":4,"sectionType":"Assets","status":"Complete","completedAt":"2026-09-03T11:32:12.71597Z","preCheckArea":"Fact Find","preCheckPageKey":"Assets","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null,"clientCounts":[]},{"order":5,"sectionType":"Credit","status":"Complete","completedAt":"2026-09-03T11:32:13.293452Z","preCheckArea":"Fact Find","preCheckPageKey":"Credit","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null,"clientCounts":[]},{"order":6,"sectionType":"Life Style","status":"Complete","completedAt":"2026-09-03T11:32:13.964623Z","preCheckArea":"Fact Find","preCheckPageKey":"LifeStyle","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null,"clientCounts":[]},{"order":7,"sectionType":"Health","status":"Complete","completedAt":"2026-09-03T11:32:14.70025Z","preCheckArea":"Fact Find","preCheckPageKey":"Health","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null,"clientCounts":[]},{"order":9,"sectionType":"Existing Property","status":"Complete","completedAt":"2026-09-03T11:32:16.285297Z","preCheckArea":"Fact Find","preCheckPageKey":"ExistingProperty","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null,"clientCounts":[]},{"order":10,"sectionType":"Financial Overview","status":"Complete","completedAt":"2026-09-03T11:32:17.105161Z","preCheckArea":"Fact Find","preCheckPageKey":"FinancialOverview","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null,"clientCounts":[]}],"productType":{"name":"Personal Protection","coverTypeNames":[{"name":"Life Insurance","status":"Complete","completedAt":"2026-10-27T14:30:57.110859Z","preCheckArea":"Product Requirement","preCheckPageKey":null,"outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null,"clientCounts":[]},{"name":"Critical Illness","status":"Complete","completedAt":"2026-10-27T14:30:57.110859Z","preCheckArea":"Product Requirement","preCheckPageKey":null,"outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null,"clientCounts":[]}]},"sourcing":"Personal Protection","sourcingSection":[{"order":1,"sectionType":"Existing & Replacement Policies","status":"Complete","completedAt":"2026-09-03T11:32:21.102837Z","isEnabled":true,"preCheckArea":"Sourcing","preCheckPageKey":"ExistingReplacementPolicies","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null},{"order":2,"sectionType":"Needs & Preferences","status":"Complete","completedAt":null,"isEnabled":true,"preCheckArea":"Sourcing","preCheckPageKey":"NeedsAndPreferences","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null},{"order":3,"sectionType":"Products","status":"Complete","completedAt":"2026-10-27T14:30:57.110859Z","isEnabled":true,"preCheckArea":"Sourcing","preCheckPageKey":"PersonalProtectionProducts","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null},{"order":4,"sectionType":"Recommendation","status":"Complete","completedAt":"2026-09-07T10:18:06.172492Z","isEnabled":true,"preCheckArea":"Sourcing","preCheckPageKey":"PersonalProtectionRecommendation","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null}],"suitability":{"documentsComplete":false,"pendingDocuments":[{"documentType":"PhotoId","label":"Photo ID","status":"Pending","completedAt":null,"missingForClients":[{"clientId":89,"fullName":"Steve Lewis"}]},{"documentType":"QuoteComparisonReport","label":"Quote Comparison Report","status":"Pending","completedAt":null,"missingForClients":[]},{"documentType":"ProvidersIllustration","label":"Provider's Illustration","status":"Pending","completedAt":null,"missingForClients":[]},{"documentType":"Application","label":"Application","status":"Pending","completedAt":null,"missingForClients":[]},{"documentType":"KeyFeatures","label":"Key Features","status":"Pending","completedAt":null,"missingForClients":[]}],"preCheckArea":"Suitability","preCheckPageKey":"SuitabilityReport","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null}}},"timestamp":"2026-10-27T14:31:04.7321566Z"}
2026-10-27 14:31:04.653 +00:00 [INF] [GEN] [U:-] [C:-] [T:63de02a35a97f5d0d17d184c017be96a] HTTP GET /api/v1/business/cases/399/notes/summary responded 200 in 10.5310 ms
2026-10-27 14:31:04.652 +00:00 [INF] [HTTP] [U:943] [C:c9ffb7f696f2] [T:63de02a35a97f5d0d17d184c017be96a] HTTP GET /api/v1/business/cases/399/notes/summary 200
Req: [no body] Res: {"success":true,"data":{"notesAdded":0,"notesUnread":0},"timestamp":"2026-10-27T14:31:04.6526482Z"}
2026-10-27 14:31:04.647 +00:00 [INF] [GEN] [U:-] [C:-] [T:790f775160546a6577b90f6b75a01eae] HTTP GET /api/v1/business/my-tenant/branding responded 200 in 4.3963 ms
2026-10-27 14:31:04.647 +00:00 [INF] [HTTP] [U:943] [C:96fdf6954f0f] [T:790f775160546a6577b90f6b75a01eae] HTTP GET /api/v1/business/my-tenant/branding 200
Req: [no body] Res: {"success":true,"data":{"primaryColor":"#1f2d75","secondaryColor":"#fb9828","logoUrl":"https://protectionmortgagecrm.blob.core.windows.net/superadmin/dev/tenant-documents/28/28/28_Wealthmax-Financial-Advisers-Ltd._2026-06-22/c0ad32e9-e1ee-413b-8c66-dc01cd0eeade..png?sv=2026-02-06&se=2026-10-27T15%3A31%3A04Z&sr=b&sp=r&rscd=attachment%3B+filename%3Dc0ad32e9-e1ee-413b-8c66-dc01cd0eeade..png%3B+filename*%3DUTF-8%27%27c0ad32e9-e1ee-413b-8c66-dc01cd0eeade..png&sig=iXjBgnL1spb0UTfJnRupwQBg18GI688jw5R%2BFam5XAI%3D","companyLogoThumbnailUrl":"https://protectionmortgagecrm.blob.core.windows.net/superadmin/staging/tenant-documents/28/f6694f6c-ddfc-4d16-80bc-664a01b3d416_logo.jpg?sv=2026-02-06&se=2036-07-18T13%3A31%3A06Z&sr=b&sp=r&sig=hNhUd61tHsDcA56Q%2F%2FmoaWos%2ByUFldaq%2Be979eNYxAE%3D","socialUrls":{"facebookUrl":null,"instagramUrl":null,"xUrl":null,"linkedInUrl":null}},"timestamp":"2026-10-27T14:31:04.6471474Z"}
2026-10-27 14:31:04.641 +00:00 [INF] [GEN] [U:-] [C:-] [T:a4969ebbe96654e9f2f10488e8d10ae2] HTTP GET /api/v1/business/solution-builder/cases/399/quotes responded 200 in 13.3269 ms
2026-10-27 14:31:04.641 +00:00 [INF] [HTTP] [U:943] [C:8c19c01ce1f1] [T:a4969ebbe96654e9f2f10488e8d10ae2] HTTP GET /api/v1/business/solution-builder/cases/399/quotes 200
Req: [no body] Res: {"success":true,"data":{"caseId":399,"sbClientId":483039,"events":[{"quoteId":177,"eventType":"Like","eventTimeUtc":"2026-09-07T12:13:56.937Z","solutionType":"SingleProvider","isRecommended":true,"quotes":[{"iPipelineQuoteId":"d2d95744-7249-4366-9bbf-421e5b768b05","productId":6262,"productName":"Zurich Life & CI + Child","providerName":"Zurich","providerId":null,"premium":64.00,"commissionAmount":1755.00,"expiryDate":"2026-10-03T01:00:00","quoteDate":"2026-09-07T11:57:19.6","overallUnderwritingDecision":"NotUnderwritten","isRecommended":true,"benefits":[{"benefitKey":"Term|First|Life","benefitType":"Term","benefitName":"Life Insurance","coverType":"Life","coverAmount":230000,"livesAssured":"First","benefitBasis":null,"term":null,"toAge":65,"benefitId":"2d0036c4-c9af-4eca-9b2e-88249cbfeb47","premium":10.00,"commissionAmount":1255.00,"indexation":"Level","totalPermanentDisability":false,"displayName":"Steve","waiverOfPremium":"FirstLife"},{"benefitKey":"Term|First|LifeOrCriticalIllness","benefitType":"Term","benefitName":"Life Insurance","coverType":"Life or Critical Illness","coverAmount":23000,"livesAssured":"First","benefitBasis":null,"term":null,"toAge":65,"benefitId":"32dc306b-1745-4f17-b68a-c844ccb4caf5","premium":54.00,"commissionAmount":500.00,"indexation":"Level","totalPermanentDisability":false,"displayName":"Steve","waiverOfPremium":"FirstLife"}]}]},{"quoteId":171,"eventType":"Like","eventTimeUtc":"2026-09-03T12:34:12.48Z","solutionType":"SingleProvider","isRecommended":false,"quotes":[{"iPipelineQuoteId":"1e2966bc-2f87-455d-ad03-76fd195afb00","productId":6042,"productName":"VitalityLife Optimised MB Life & SIC 1X","providerName":"VitalityLife","providerId":null,"premium":16.44,"commissionAmount":344.78,"expiryDate":"2026-10-02T01:00:00","quoteDate":"2026-09-03T12:33:41.927","overallUnderwritingDecision":"NotUnderwritten","isRecommended":false,"benefits":[{"benefitKey":"Term|First|Life","benefitType":"Term","benefitName":"Life Insurance","coverType":"Life","coverAmount":230000,"livesAssured":"First","benefitBasis":null,"term":null,"toAge":65,"benefitId":"b337883e-d390-4257-9755-c1201e73b5e0","premium":null,"commissionAmount":null,"indexation":"Level","totalPermanentDisability":false,"displayName":"Steve","waiverOfPremium":"None"},{"benefitKey":"Term|First|LifeOrCriticalIllness","benefitType":"Term","benefitName":"Life Insurance","coverType":"Life or Critical Illness","coverAmount":23000,"livesAssured":"First","benefitBasis":null,"term":null,"toAge":65,"benefitId":"3189fd4d-7961-4a2a-baff-c9cfce01c024","premium":null,"commissionAmount":null,"indexation":"Level","totalPermanentDisability":false,"displayName":"Steve","waiverOfPremium":"None"}]}]},{"quoteId":170,"eventType":"Like","eventTimeUtc":"2026-09-03T12:34:12.48Z","solutionType":"MultiProvider","isRecommended":false,"quotes":[{"iPipelineQuoteId":"3a743d41-b2e5-43b3-92e9-6532710fa963","productId":6261,"productName":"Zurich Life","providerName":"Zurich","providerId":null,"premium":9.70,"commissionAmount":206.18,"expiryDate":"2026-10-02T01:00:00","quoteDate":"2026-09-03T12:33:43.817","overallUnderwritingDecision":"NotUnderwritten","isRecommended":false,"benefits":[{"benefitKey":"Term|First|Life","benefitType":"Term","benefitName":"Life Insurance","coverType":"Life","coverAmount":230000,"livesAssured":"First","benefitBasis":null,"term":null,"toAge":65,"benefitId":"a37095d3-0212-4590-afa1-c62a48aa2d32","premium":9.70,"commissionAmount":206.18,"indexation":"Level","totalPermanentDisability":false,"displayName":"Steve","waiverOfPremium":"None"}]},{"iPipelineQuoteId":"9657f7d0-0cfd-46bc-aa1c-593949b022a8","productId":6042,"productName":"VitalityLife Optimised Life & SIC 1X","providerName":"VitalityLife","providerId":null,"premium":9.19,"commissionAmount":192.73,"expiryDate":"2026-10-02T01:00:00","quoteDate":"2026-09-03T12:33:41.7","overallUnderwritingDecision":"NotUnderwritten","isRecommended":false,"benefits":[{"benefitKey":"Term|First|LifeOrCriticalIllness","benefitType":"Term","benefitName":"Life Insurance","coverType":"Life or Critical Illness","coverAmount":23000,"livesAssured":"First","benefitBasis":null,"term":null,"toAge":65,"benefitId":"dfd14371-87a7-4fd9-8345-df8cfb9f9e2f","premium":9.19,"commissionAmount":192.73,"indexation":"Level","totalPermanentDisability":false,"displayName":"Steve","waiverOfPremium":"None"}]}]}]},"timestamp":"2026-10-27T14:31:04.6409245Z"}
2026-10-27 14:31:02.179 +00:00 [INF] [GEN] [U:-] [C:-] [T:98224f5d2591af8b1c21d12bbe5b3a6f] HTTP GET /api/v1/business/cases/399/panel/tasks responded 200 in 20.6537 ms
2026-10-27 14:31:02.179 +00:00 [INF] [HTTP] [U:943] [C:01c4f6c1eeb2] [T:98224f5d2591af8b1c21d12bbe5b3a6f] HTTP GET /api/v1/business/cases/399/panel/tasks 200
Req: [no body] Res: {"success":true,"data":{"caseId":399,"factFindComplete":true,"factFindSections":[],"productType":null,"sourcingSections":[],"totalPending":0},"timestamp":"2026-10-27T14:31:02.1790489Z"}
2026-10-27 14:31:02.109 +00:00 [INF] [GEN] [U:-] [C:-] [T:e7683ecb2967a1ce1aa6a33471ceab42] HTTP GET /api/v1/business/case-review/pre-check/by-case/399/status responded 200 in 4.7829 ms
2026-10-27 14:31:02.109 +00:00 [INF] [HTTP] [U:943] [C:dfa0ef464b63] [T:e7683ecb2967a1ce1aa6a33471ceab42] HTTP GET /api/v1/business/case-review/pre-check/by-case/399/status 200
Req: [no body] Res: {"success":true,"data":{"caseReviewStatus":"Issues Found","outstandingCount":1,"canStart":true,"notStartableReason":null},"timestamp":"2026-10-27T14:31:02.1095133Z"}
2026-10-27 14:31:01.485 +00:00 [INF] [GEN] [U:-] [C:-] [T:e671782410178f65195a05a6e1a99be9] HTTP GET /api/v1/business/sourcing/cases/399/personal-protection-recommendation responded 200 in 45.0085 ms
2026-10-27 14:31:01.485 +00:00 [INF] [HTTP] [U:943] [C:e36efd42d7f1] [T:e671782410178f65195a05a6e1a99be9] HTTP GET /api/v1/business/sourcing/cases/399/personal-protection-recommendation 200
Req: [no body] Res: {"success":true,"data":{"id":64,"caseId":399,"wasClientAdvisedOnInheritanceTax":false,"policyTermsPastRetirementAffordabilityConfirmed":false,"additionalRecommendationsDetails":";op.;./p;"},"timestamp":"2026-10-27T14:31:01.4812182Z","preCheck":{"area":"Sourcing","pageKey":"PersonalProtectionRecommendation","pageTitle":"Recommendation","caseClientId":null,"outstandingCount":0,"totalCount":0,"highestOutstandingPriority":null,"pageLevelIssues":[],"sectionIssues":[],"fieldIssues":[],"rowIssues":[]}}
2026-10-27 14:31:01.463 +00:00 [INF] [GEN] [U:-] [C:-] [T:49a809ba7527f92706d898b6b7304a6e] HTTP GET /api/v1/business/cases/399 responded 200 in 40.7600 ms
2026-10-27 14:31:01.463 +00:00 [INF] [HTTP] [U:943] [C:decaf5462c44] [T:49a809ba7527f92706d898b6b7304a6e] HTTP GET /api/v1/business/cases/399 200
Req: [no body] Res: {"success":true,"data":{"id":399,"userFacingCaseId":"CASE-0325","productType":"Personal Protection","productTypeDisplayName":"Personal Protection","coverTypeNames":["Life Insurance","Critical Illness"],"caseStatusId":null,"caseStatusName":null,"outcome":"Open","isClosedManually":false,"closedReason":null,"policies":[{"recordType":"RecommendedProduct","recordId":65,"productId":220,"productName":"Zurich Business Life & CI Select","coverTypeIds":[1],"coverTypeNames":["Life Insurance"],"policyStatusId":608,"policyStatusName":"Pending","phase":"InProgress"},{"recordType":"RecommendedProduct","recordId":66,"productId":null,"productName":"Zurich Life & CI + Child","coverTypeIds":[1,4],"coverTypeNames":["Life Insurance","Critical Illness"],"policyStatusId":608,"policyStatusName":"Pending","phase":"InProgress"}],"caseReviewGrade":null,"caseReviewGradeDisplayName":null,"preCheckStatus":"Issues Found","preCheckOutstandingCount":1,"complianceStatus":"Submitted for Pre-Check","stage":"Lead","internalState":"SuitabilityGenerated","clients":[{"caseClientId":459,"clientId":89,"clientName":"Steve Lewis","factFindId":459,"welcomeKitAcknowledged":false,"welcomeKitAcknowledgedAt":null}],"assignedUserId":943,"assignedUserName":"Gagan Gagan ABC","assignedUserArName":"Goldline","assignedUserBranchName":"Wealthmax Financial Advisers Ltd.","introducerUserId":null,"introducerName":null,"isLocked":false,"lockedAt":null,"canReassign":true,"tenantId":28,"createdBy":"656","createdAt":"2026-09-03T11:32:01.990823Z","updatedBy":"943","updatedAt":"2026-10-27T14:07:30.139246Z","caseInformation":{"factFind":[{"order":1,"sectionType":"Personal Details","status":"Complete","completedAt":"2026-10-27T14:07:30.028035Z","preCheckArea":"Fact Find","preCheckPageKey":"PersonalDetails","outstandingIssueCount":1,"totalIssueCount":2,"highestOutstandingPriority":"Major","clientCounts":[{"caseClientId":459,"clientName":"Steve Lewis","outstandingIssueCount":1,"totalIssueCount":2,"highestOutstandingPriority":"Major"}]},{"order":2,"sectionType":"Income","status":"Complete","completedAt":"2026-09-03T11:32:02.123914Z","preCheckArea":"Fact Find","preCheckPageKey":"Income","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null,"clientCounts":[]},{"order":3,"sectionType":"Expenditure","status":"Complete","completedAt":"2026-09-07T11:30:54.022023Z","preCheckArea":"Fact Find","preCheckPageKey":"Expenditure","outstandingIssueCount":0,"totalIssueCount":1,"highestOutstandingPriority":null,"clientCounts":[{"caseClientId":459,"clientName":"Steve Lewis","outstandingIssueCount":0,"totalIssueCount":1,"highestOutstandingPriority":null}]},{"order":4,"sectionType":"Assets","status":"Complete","completedAt":"2026-09-03T11:32:12.71597Z","preCheckArea":"Fact Find","preCheckPageKey":"Assets","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null,"clientCounts":[]},{"order":5,"sectionType":"Credit","status":"Complete","completedAt":"2026-09-03T11:32:13.293452Z","preCheckArea":"Fact Find","preCheckPageKey":"Credit","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null,"clientCounts":[]},{"order":6,"sectionType":"Life Style","status":"Complete","completedAt":"2026-09-03T11:32:13.964623Z","preCheckArea":"Fact Find","preCheckPageKey":"LifeStyle","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null,"clientCounts":[]},{"order":7,"sectionType":"Health","status":"Complete","completedAt":"2026-09-03T11:32:14.70025Z","preCheckArea":"Fact Find","preCheckPageKey":"Health","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null,"clientCounts":[]},{"order":9,"sectionType":"Existing Property","status":"Complete","completedAt":"2026-09-03T11:32:16.285297Z","preCheckArea":"Fact Find","preCheckPageKey":"ExistingProperty","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null,"clientCounts":[]},{"order":10,"sectionType":"Financial Overview","status":"Complete","completedAt":"2026-09-03T11:32:17.105161Z","preCheckArea":"Fact Find","preCheckPageKey":"FinancialOverview","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null,"clientCounts":[]}],"productType":{"name":"Personal Protection","coverTypeNames":[{"name":"Life Insurance","status":"Complete","completedAt":"2026-10-27T14:30:57.110859Z","preCheckArea":"Product Requirement","preCheckPageKey":null,"outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null,"clientCounts":[]},{"name":"Critical Illness","status":"Complete","completedAt":"2026-10-27T14:30:57.110859Z","preCheckArea":"Product Requirement","preCheckPageKey":null,"outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null,"clientCounts":[]}]},"sourcing":"Personal Protection","sourcingSection":[{"order":1,"sectionType":"Existing & Replacement Policies","status":"Complete","completedAt":"2026-09-03T11:32:21.102837Z","isEnabled":true,"preCheckArea":"Sourcing","preCheckPageKey":"ExistingReplacementPolicies","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null},{"order":2,"sectionType":"Needs & Preferences","status":"Complete","completedAt":null,"isEnabled":true,"preCheckArea":"Sourcing","preCheckPageKey":"NeedsAndPreferences","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null},{"order":3,"sectionType":"Products","status":"Complete","completedAt":"2026-10-27T14:30:57.110859Z","isEnabled":true,"preCheckArea":"Sourcing","preCheckPageKey":"PersonalProtectionProducts","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null},{"order":4,"sectionType":"Recommendation","status":"Complete","completedAt":"2026-09-07T10:18:06.172492Z","isEnabled":true,"preCheckArea":"Sourcing","preCheckPageKey":"PersonalProtectionRecommendation","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null}],"suitability":{"documentsComplete":false,"pendingDocuments":[{"documentType":"PhotoId","label":"Photo ID","status":"Pending","completedAt":null,"missingForClients":[{"clientId":89,"fullName":"Steve Lewis"}]},{"documentType":"QuoteComparisonReport","label":"Quote Comparison Report","status":"Pending","completedAt":null,"missingForClients":[]},{"documentType":"ProvidersIllustration","label":"Provider's Illustration","status":"Pending","completedAt":null,"missingForClients":[]},{"documentType":"Application","label":"Application","status":"Pending","completedAt":null,"missingForClients":[]},{"documentType":"KeyFeatures","label":"Key Features","status":"Pending","completedAt":null,"missingForClients":[]}],"preCheckArea":"Suitability","preCheckPageKey":"SuitabilityReport","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null}}},"timestamp":"2026-10-27T14:31:01.4631757Z"}
2026-10-27 14:31:01.427 +00:00 [INF] [GEN] [U:-] [C:-] [T:42bfd34ee1f309ae0f827969d791fe7a] HTTP GET /api/v1/business/case-review/pre-check/by-case/399/anchors/Sourcing/PersonalProtectionRecommendation/structure responded 200 in 4.5493 ms
2026-10-27 14:31:01.427 +00:00 [INF] [HTTP] [U:943] [C:734cf516a3ad] [T:42bfd34ee1f309ae0f827969d791fe7a] HTTP GET /api/v1/business/case-review/pre-check/by-case/399/anchors/Sourcing/PersonalProtectionRecommendation/structure 200
Req: [no body] Res: {"success":true,"data":{"area":"Sourcing","pageKey":"PersonalProtectionRecommendation","displayName":"Recommendation","isClientScoped":false,"allowsFieldAnchors":true,"sections":[{"sectionKey":"Recommendation","title":"Recommendation","kind":"Fields","requiresInstance":false,"isRowAnchored":false,"fields":[{"fieldKey":"WasClientAdvisedOnInheritanceTax","label":"Client Advised on Inheritance Tax"},{"fieldKey":"PolicyTermsPastRetirementAffordabilityConfirmed","label":"Affordability Past Retirement Confirmed"},{"fieldKey":"AdditionalRecommendationsDetails","label":"Additional Recommendations"}]}]},"timestamp":"2026-10-27T14:31:01.4268942Z"}
2026-10-27 14:30:58.956 +00:00 [INF] [GEN] [U:-] [C:-] [T:e37a0fbeb598bb774facc0ad1137c969] HTTP GET /api/v1/business/product-catalog/products responded 200 in 7.5988 ms
2026-10-27 14:30:58.956 +00:00 [INF] [HTTP] [U:943] [C:e29d331b9406] [T:e37a0fbeb598bb774facc0ad1137c969] HTTP GET /api/v1/business/product-catalog/products 200
Req: [no body] Res: {"success":true,"data":{"content":[{"id":243,"name":"Zurich Life & CI + Child + Pregnancy and Early Childhood Cover + IP 2 yr"},{"id":242,"name":"Zurich Life & CI + Child + Pregnancy and Early Childhood Cover"},{"id":241,"name":"Zurich Life & CI Enhanced Plus + Child Enhanced + Pregnancy and Early Child Cover + IP Enhanced 2 yr"},{"id":240,"name":"Zurich Life & CI Enhanced Plus + IP Enhanced 2 yr"},{"id":239,"name":"Zurich Life & CI Enhanced + Child Enhanced + IP 2 yr"},{"id":238,"name":"Zurich Life & CI Enhanced + IP 2 yr"},{"id":237,"name":"Zurich Life + Child + IP 2 yr"},{"id":236,"name":"Zurich Life + IP 2 yr"},{"id":235,"name":"Zurich Life & CI Enhanced Plus + Child Enhanced + Pregnancy and Early Childhood Cover"},{"id":234,"name":"Zurich Life & CI Enhanced Plus"},{"id":233,"name":"Zurich Life & CI Enhanced + Child Enhanced"},{"id":232,"name":"Zurich Life & CI Enhanced"},{"id":231,"name":"Zurich Life + Child"},{"id":230,"name":"Zurich Life"},{"id":222,"name":"Zurich Business Life & CI Select with Child"},{"id":221,"name":"Zurich Business Life & CI with Child"},{"id":220,"name":"Zurich Business Life & CI Select"},{"id":219,"name":"Zurich Business Life & CI"}],"pagination":{"page":0,"size":100,"totalElements":18,"totalPages":1,"hasNext":false,"hasPrevious":false,"isFirst":true,"isLast":true}},"timestamp":"2026-10-27T14:30:58.9558634Z"}
2026-10-27 14:30:58.102 +00:00 [INF] [GEN] [U:-] [C:-] [T:d2b6342759aa5f3457f2b8de3f53abc1] HTTP GET /api/v1/business/sourcing/cases/399/recommended-products/177 responded 200 in 9.5756 ms
2026-10-27 14:30:58.102 +00:00 [INF] [HTTP] [U:943] [C:ae461aa3ddb9] [T:d2b6342759aa5f3457f2b8de3f53abc1] HTTP GET /api/v1/business/sourcing/cases/399/recommended-products/177 200
Req: [no body] Res: {"success":true,"data":[{"id":65,"caseId":399,"quoteId":177,"iPipelineQuoteId":"d2d95744-7249-4366-9bbf-421e5b768b05","benefitId":"2d0036c4-c9af-4eca-9b2e-88249cbfeb47","benefitKey":"Term|First|Life","benefitName":"Life Insurance","quoteCover":"Life","displayName":"Steve","isManualProduct":false,"policyStatusId":608,"policyStatusName":"Pending","phase":"InProgress","liveAt":null,"needsStatusReview":true,"basicInformation":{"productName":"Zurich Business Life & CI Select","productId":220,"provider":"Zurich","providerId":135,"addToTrust":true,"trustType":"Discretionary Trust"},"policyInformation":{"clients":[{"caseClientId":459,"name":"Steve Lewis"}],"sumAssured":230000.00,"coverTypeIds":[1],"singleJointPolicy":"Single","policyNumber":"123456789","termType":"Upto Age","terms":null,"toAge":65,"businessType":"New Business","protectionBasis":"Level","premiumPeriod":"Reviewable","premiumAmount":10.00,"benefitType":"Term","indexation":null,"isInTrustDeed":null,"interestRate":null,"typeOfLoan":null,"otherDetail":null,"underwritingBasis":null},"dependantDetails":[],"commissionInformation":{"grossCommission":1255.00,"commissionMonths":"24 Months","commissionType":"Indemnity"},"recommendations":{"policyRecommendations":null,"providerRecommended":"test","reasonForCover":"hghbgfg","reasonForTermLength":"thfg"},"isComplete":true},{"id":66,"caseId":399,"quoteId":177,"iPipelineQuoteId":"d2d95744-7249-4366-9bbf-421e5b768b05","benefitId":"32dc306b-1745-4f17-b68a-c844ccb4caf5","benefitKey":"Term|First|LifeOrCriticalIllness","benefitName":"Life Insurance","quoteCover":"Life or Critical Illness","displayName":"Steve","isManualProduct":false,"policyStatusId":608,"policyStatusName":"Pending","phase":"InProgress","liveAt":null,"needsStatusReview":true,"basicInformation":{"productName":"Zurich Life & CI + Child","productId":null,"provider":"Zurich","providerId":135,"addToTrust":false,"trustType":null},"policyInformation":{"clients":[{"caseClientId":459,"name":"Steve Lewis"}],"sumAssured":23000.00,"coverTypeIds":[1,4],"singleJointPolicy":"Single","policyNumber":"4656","termType":"Upto Age","terms":null,"toAge":65,"businessType":"New Business","protectionBasis":"Level","premiumPeriod":"Reviewable","premiumAmount":54.00,"benefitType":"Term","indexation":null,"isInTrustDeed":null,"interestRate":null,"typeOfLoan":null,"otherDetail":null,"underwritingBasis":null},"dependantDetails":[],"commissionInformation":{"grossCommission":500.00,"commissionMonths":"24 Months","commissionType":"Indemnity"},"recommendations":{"policyRecommendations":"test","providerRecommended":"test","reasonForCover":null,"reasonForTermLength":null},"isComplete":false}],"timestamp":"2026-10-27T14:30:58.0994628Z","preCheck":{"area":"Sourcing","pageKey":"PersonalProtectionProducts","pageTitle":"Products","caseClientId":null,"outstandingCount":0,"totalCount":0,"highestOutstandingPriority":null,"pageLevelIssues":[],"sectionIssues":[],"fieldIssues":[],"rowIssues":[]}}
2026-10-27 14:30:58.058 +00:00 [INF] [GEN] [U:-] [C:-] [T:cb876c4ec9a163228b91351787f9db3f] HTTP GET /api/v1/business/solution-builder/cases/399/quotes responded 200 in 11.8340 ms
2026-10-27 14:30:58.058 +00:00 [INF] [HTTP] [U:943] [C:4bba7cb457a5] [T:cb876c4ec9a163228b91351787f9db3f] HTTP GET /api/v1/business/solution-builder/cases/399/quotes 200
Req: [no body] Res: {"success":true,"data":{"caseId":399,"sbClientId":483039,"events":[{"quoteId":177,"eventType":"Like","eventTimeUtc":"2026-09-07T12:13:56.937Z","solutionType":"SingleProvider","isRecommended":true,"quotes":[{"iPipelineQuoteId":"d2d95744-7249-4366-9bbf-421e5b768b05","productId":6262,"productName":"Zurich Life & CI + Child","providerName":"Zurich","providerId":null,"premium":64.00,"commissionAmount":1755.00,"expiryDate":"2026-10-03T01:00:00","quoteDate":"2026-09-07T11:57:19.6","overallUnderwritingDecision":"NotUnderwritten","isRecommended":true,"benefits":[{"benefitKey":"Term|First|Life","benefitType":"Term","benefitName":"Life Insurance","coverType":"Life","coverAmount":230000,"livesAssured":"First","benefitBasis":null,"term":null,"toAge":65,"benefitId":"2d0036c4-c9af-4eca-9b2e-88249cbfeb47","premium":10.00,"commissionAmount":1255.00,"indexation":"Level","totalPermanentDisability":false,"displayName":"Steve","waiverOfPremium":"FirstLife"},{"benefitKey":"Term|First|LifeOrCriticalIllness","benefitType":"Term","benefitName":"Life Insurance","coverType":"Life or Critical Illness","coverAmount":23000,"livesAssured":"First","benefitBasis":null,"term":null,"toAge":65,"benefitId":"32dc306b-1745-4f17-b68a-c844ccb4caf5","premium":54.00,"commissionAmount":500.00,"indexation":"Level","totalPermanentDisability":false,"displayName":"Steve","waiverOfPremium":"FirstLife"}]}]},{"quoteId":171,"eventType":"Like","eventTimeUtc":"2026-09-03T12:34:12.48Z","solutionType":"SingleProvider","isRecommended":false,"quotes":[{"iPipelineQuoteId":"1e2966bc-2f87-455d-ad03-76fd195afb00","productId":6042,"productName":"VitalityLife Optimised MB Life & SIC 1X","providerName":"VitalityLife","providerId":null,"premium":16.44,"commissionAmount":344.78,"expiryDate":"2026-10-02T01:00:00","quoteDate":"2026-09-03T12:33:41.927","overallUnderwritingDecision":"NotUnderwritten","isRecommended":false,"benefits":[{"benefitKey":"Term|First|Life","benefitType":"Term","benefitName":"Life Insurance","coverType":"Life","coverAmount":230000,"livesAssured":"First","benefitBasis":null,"term":null,"toAge":65,"benefitId":"b337883e-d390-4257-9755-c1201e73b5e0","premium":null,"commissionAmount":null,"indexation":"Level","totalPermanentDisability":false,"displayName":"Steve","waiverOfPremium":"None"},{"benefitKey":"Term|First|LifeOrCriticalIllness","benefitType":"Term","benefitName":"Life Insurance","coverType":"Life or Critical Illness","coverAmount":23000,"livesAssured":"First","benefitBasis":null,"term":null,"toAge":65,"benefitId":"3189fd4d-7961-4a2a-baff-c9cfce01c024","premium":null,"commissionAmount":null,"indexation":"Level","totalPermanentDisability":false,"displayName":"Steve","waiverOfPremium":"None"}]}]},{"quoteId":170,"eventType":"Like","eventTimeUtc":"2026-09-03T12:34:12.48Z","solutionType":"MultiProvider","isRecommended":false,"quotes":[{"iPipelineQuoteId":"3a743d41-b2e5-43b3-92e9-6532710fa963","productId":6261,"productName":"Zurich Life","providerName":"Zurich","providerId":null,"premium":9.70,"commissionAmount":206.18,"expiryDate":"2026-10-02T01:00:00","quoteDate":"2026-09-03T12:33:43.817","overallUnderwritingDecision":"NotUnderwritten","isRecommended":false,"benefits":[{"benefitKey":"Term|First|Life","benefitType":"Term","benefitName":"Life Insurance","coverType":"Life","coverAmount":230000,"livesAssured":"First","benefitBasis":null,"term":null,"toAge":65,"benefitId":"a37095d3-0212-4590-afa1-c62a48aa2d32","premium":9.70,"commissionAmount":206.18,"indexation":"Level","totalPermanentDisability":false,"displayName":"Steve","waiverOfPremium":"None"}]},{"iPipelineQuoteId":"9657f7d0-0cfd-46bc-aa1c-593949b022a8","productId":6042,"productName":"VitalityLife Optimised Life & SIC 1X","providerName":"VitalityLife","providerId":null,"premium":9.19,"commissionAmount":192.73,"expiryDate":"2026-10-02T01:00:00","quoteDate":"2026-09-03T12:33:41.7","overallUnderwritingDecision":"NotUnderwritten","isRecommended":false,"benefits":[{"benefitKey":"Term|First|LifeOrCriticalIllness","benefitType":"Term","benefitName":"Life Insurance","coverType":"Life or Critical Illness","coverAmount":23000,"livesAssured":"First","benefitBasis":null,"term":null,"toAge":65,"benefitId":"dfd14371-87a7-4fd9-8345-df8cfb9f9e2f","premium":9.19,"commissionAmount":192.73,"indexation":"Level","totalPermanentDisability":false,"displayName":"Steve","waiverOfPremium":"None"}]}]}]},"timestamp":"2026-10-27T14:30:58.0577885Z"}
2026-10-27 14:30:58.014 +00:00 [INF] [GEN] [U:-] [C:-] [T:42c4c9e1568c3e8c063d26251e2efd9a] HTTP GET /api/v1/business/product-catalog/products responded 200 in 19.0126 ms
2026-10-27 14:30:58.014 +00:00 [INF] [HTTP] [U:943] [C:c9b713af6980] [T:42c4c9e1568c3e8c063d26251e2efd9a] HTTP GET /api/v1/business/product-catalog/products 200
Req: [no body] Res: {"success":true,"data":{"content":[{"id":243,"name":"Zurich Life & CI + Child + Pregnancy and Early Childhood Cover + IP 2 yr"},{"id":242,"name":"Zurich Life & CI + Child + Pregnancy and Early Childhood Cover"},{"id":241,"name":"Zurich Life & CI Enhanced Plus + Child Enhanced + Pregnancy and Early Child Cover + IP Enhanced 2 yr"},{"id":240,"name":"Zurich Life & CI Enhanced Plus + IP Enhanced 2 yr"},{"id":239,"name":"Zurich Life & CI Enhanced + Child Enhanced + IP 2 yr"},{"id":238,"name":"Zurich Life & CI Enhanced + IP 2 yr"},{"id":237,"name":"Zurich Life + Child + IP 2 yr"},{"id":236,"name":"Zurich Life + IP 2 yr"},{"id":235,"name":"Zurich Life & CI Enhanced Plus + Child Enhanced + Pregnancy and Early Childhood Cover"},{"id":234,"name":"Zurich Life & CI Enhanced Plus"},{"id":233,"name":"Zurich Life & CI Enhanced + Child Enhanced"},{"id":232,"name":"Zurich Life & CI Enhanced"},{"id":231,"name":"Zurich Life + Child"},{"id":230,"name":"Zurich Life"},{"id":222,"name":"Zurich Business Life & CI Select with Child"},{"id":221,"name":"Zurich Business Life & CI with Child"},{"id":220,"name":"Zurich Business Life & CI Select"},{"id":219,"name":"Zurich Business Life & CI"}],"pagination":{"page":0,"size":100,"totalElements":18,"totalPages":1,"hasNext":false,"hasPrevious":false,"isFirst":true,"isLast":true}},"timestamp":"2026-10-27T14:30:58.0138371Z"}
2026-10-27 14:30:57.970 +00:00 [INF] [GEN] [U:-] [C:-] [T:86385a97490c22424be53b295ac3dcc8] HTTP GET /api/v1/business/my-tenant/branding responded 200 in 6.2481 ms
2026-10-27 14:30:57.970 +00:00 [INF] [HTTP] [U:943] [C:98e19e89abb6] [T:86385a97490c22424be53b295ac3dcc8] HTTP GET /api/v1/business/my-tenant/branding 200
Req: [no body] Res: {"success":true,"data":{"primaryColor":"#1f2d75","secondaryColor":"#fb9828","logoUrl":"https://protectionmortgagecrm.blob.core.windows.net/superadmin/dev/tenant-documents/28/28/28_Wealthmax-Financial-Advisers-Ltd._2026-06-22/c0ad32e9-e1ee-413b-8c66-dc01cd0eeade..png?sv=2026-02-06&se=2026-10-27T15%3A30%3A57Z&sr=b&sp=r&rscd=attachment%3B+filename%3Dc0ad32e9-e1ee-413b-8c66-dc01cd0eeade..png%3B+filename*%3DUTF-8%27%27c0ad32e9-e1ee-413b-8c66-dc01cd0eeade..png&sig=M058KdY%2B0xVeLha7CIi6Q%2FwRvhw66hCwCSOZf48cV3Q%3D","companyLogoThumbnailUrl":"https://protectionmortgagecrm.blob.core.windows.net/superadmin/staging/tenant-documents/28/f6694f6c-ddfc-4d16-80bc-664a01b3d416_logo.jpg?sv=2026-02-06&se=2036-07-18T13%3A31%3A06Z&sr=b&sp=r&sig=hNhUd61tHsDcA56Q%2F%2FmoaWos%2ByUFldaq%2Be979eNYxAE%3D","socialUrls":{"facebookUrl":null,"instagramUrl":null,"xUrl":null,"linkedInUrl":null}},"timestamp":"2026-10-27T14:30:57.9702818Z"}
2026-10-27 14:30:57.212 +00:00 [INF] [GEN] [U:-] [C:-] [T:a3e8946fbe533b5f4673c16b9d04d856] HTTP PUT /api/v1/business/sourcing/cases/399/recommended-products/benefits/2d0036c4-c9af-4eca-9b2e-88249cbfeb47 responded 200 in 423.6713 ms
2026-10-27 14:30:57.212 +00:00 [INF] [HTTP] [U:943] [C:df1b9ef4324d] [T:a3e8946fbe533b5f4673c16b9d04d856] HTTP PUT /api/v1/business/sourcing/cases/399/recommended-products/benefits/2d0036c4-c9af-4eca-9b2e-88249cbfeb47 200
Req: {"iPipelineQuoteId":"d2d95744-7249-4366-9bbf-421e5b768b05","basicInformation":{"productId":220,"provider":"135","addToTrust":true,"trustType":"Discretionary"},"policyInformation":{"clientIds":[459],"sumAssured":230000,"coverTypeIds":[1],"singleJointPolicy":"Single","policyNumber":"123456789","termType":"UpToAge","terms":null,"toAge":65,"businessType":"NewBusiness","protectionBasis":"Level","premiumPeriod":"Reviewable","premiumAmount":10,"benefitType":"Term"},"commissionInformation":{"grossCommission":1255,"commissionMonths":"TwentyFour","commissionType":"Indemnity"},"recommendations":{"providerRecommended":"test","reasonForCover":"hghbgfg","reasonForTermLength":"thfg"}} Res: {"success":true,"data":{"id":65,"caseId":399,"quoteId":177,"iPipelineQuoteId":"d2d95744-7249-4366-9bbf-421e5b768b05","benefitId":"2d0036c4-c9af-4eca-9b2e-88249cbfeb47","benefitKey":"Term|First|Life","benefitName":"Life Insurance","quoteCover":"Life","displayName":"Steve","isManualProduct":false,"policyStatusId":608,"policyStatusName":"Pending","phase":"InProgress","liveAt":null,"needsStatusReview":true,"basicInformation":{"productName":"Zurich Business Life & CI Select","productId":220,"provider":"Zurich","providerId":135,"addToTrust":true,"trustType":"Discretionary Trust"},"policyInformation":{"clients":[{"caseClientId":459,"name":"Steve Lewis"}],"sumAssured":230000,"coverTypeIds":[1],"singleJointPolicy":"Single","policyNumber":"123456789","termType":"Upto Age","terms":null,"toAge":65,"businessType":"New Business","protectionBasis":"Level","premiumPeriod":"Reviewable","premiumAmount":10,"benefitType":"Term","indexation":null,"isInTrustDeed":null,"interestRate":null,"typeOfLoan":null,"otherDetail":null,"underwritingBasis":null},"dependantDetails":[],"commissionInformation":{"grossCommission":1255,"commissionMonths":"24 Months","commissionType":"Indemnity"},"recommendations":{"policyRecommendations":null,"providerRecommended":"test","reasonForCover":"hghbgfg","reasonForTermLength":"thfg"},"isComplete":true},"message":"Recommended product saved successfully.","timestamp":"2026-10-27T14:30:57.2095766Z"}
2026-10-27 14:30:44.824 +00:00 [INF] [GEN] [U:-] [C:-] [T:a8bcc1125fe1b4694ee7e5ed57040d3b] HTTP GET /api/v1/business/product-catalog/products responded 200 in 79.2828 ms
2026-10-27 14:30:44.824 +00:00 [INF] [HTTP] [U:943] [C:108743017585] [T:a8bcc1125fe1b4694ee7e5ed57040d3b] HTTP GET /api/v1/business/product-catalog/products 200
Req: [no body] Res: {"success":true,"data":{"content":[{"id":243,"name":"Zurich Life & CI + Child + Pregnancy and Early Childhood Cover + IP 2 yr"},{"id":242,"name":"Zurich Life & CI + Child + Pregnancy and Early Childhood Cover"},{"id":241,"name":"Zurich Life & CI Enhanced Plus + Child Enhanced + Pregnancy and Early Child Cover + IP Enhanced 2 yr"},{"id":240,"name":"Zurich Life & CI Enhanced Plus + IP Enhanced 2 yr"},{"id":239,"name":"Zurich Life & CI Enhanced + Child Enhanced + IP 2 yr"},{"id":238,"name":"Zurich Life & CI Enhanced + IP 2 yr"},{"id":237,"name":"Zurich Life + Child + IP 2 yr"},{"id":236,"name":"Zurich Life + IP 2 yr"},{"id":235,"name":"Zurich Life & CI Enhanced Plus + Child Enhanced + Pregnancy and Early Childhood Cover"},{"id":234,"name":"Zurich Life & CI Enhanced Plus"},{"id":233,"name":"Zurich Life & CI Enhanced + Child Enhanced"},{"id":232,"name":"Zurich Life & CI Enhanced"},{"id":231,"name":"Zurich Life + Child"},{"id":230,"name":"Zurich Life"},{"id":222,"name":"Zurich Business Life & CI Select with Child"},{"id":221,"name":"Zurich Business Life & CI with Child"},{"id":220,"name":"Zurich Business Life & CI Select"},{"id":219,"name":"Zurich Business Life & CI"}],"pagination":{"page":0,"size":100,"totalElements":18,"totalPages":1,"hasNext":false,"hasPrevious":false,"isFirst":true,"isLast":true}},"timestamp":"2026-10-27T14:30:44.8085397Z"}
2026-10-27 14:30:44.024 +00:00 [INF] [GEN] [U:-] [C:-] [T:99e4a3fe2d083a87035791fb32f8ddad] HTTP GET /api/v1/business/product-catalog/providers responded 200 in 16.9739 ms
2026-10-27 14:30:44.024 +00:00 [INF] [HTTP] [U:943] [C:e35ee3c375d2] [T:99e4a3fe2d083a87035791fb32f8ddad] HTTP GET /api/v1/business/product-catalog/providers 200
Req: [no body] Res: {"success":true,"data":{"content":[{"id":129,"name":"Aviva","logo":null,"source":"IPipeline","externalId":"nuc","isActive":true,"coverTypeIds":[1,4,5,7,8],"productSubTypes":["Personal Protection","Business Protection"],"productCount":15,"createdAt":"2026-06-20T09:00:37.305301Z"},{"id":139,"name":"Beagle Street","logo":null,"source":"IPipeline","externalId":"beaglest","isActive":true,"coverTypeIds":[1,4],"productSubTypes":["Personal Protection"],"productCount":2,"createdAt":"2026-07-10T09:26:58.253233Z"},{"id":121,"name":"British Friendly","logo":null,"source":"IPipeline","externalId":"britfriend","isActive":true,"coverTypeIds":[],"productSubTypes":["Personal Protection"],"productCount":3,"createdAt":"2026-06-20T09:00:37.305301Z"},{"id":122,"name":"Cirencester Friendly","logo":null,"source":"IPipeline","externalId":"cirenfr","isActive":true,"coverTypeIds":[],"productSubTypes":["Personal Protection"],"productCount":2,"createdAt":"2026-06-20T09:00:37.305301Z"},{"id":124,"name":"Guardian","logo":null,"source":"IPipeline","externalId":"gryphon","isActive":true,"coverTypeIds":[4,5],"productSubTypes":["Personal Protection"],"productCount":10,"createdAt":"2026-06-20T09:00:37.305301Z"},{"id":125,"name":"Holloway Friendly","logo":null,"source":"IPipeline","externalId":"holloway","isActive":true,"coverTypeIds":[],"productSubTypes":["Personal Protection"],"productCount":6,"createdAt":"2026-06-20T09:00:37.305301Z"},{"id":126,"name":"Legal & General","logo":null,"source":"IPipeline","externalId":"legal","isActive":true,"coverTypeIds":[1,4,5,6,7,8,10,14,16],"productSubTypes":["Personal Protection","Business Protection","General Insurance"],"productCount":53,"createdAt":"2026-06-20T09:00:37.305301Z"},{"id":127,"name":"MetLife","logo":null,"source":"IPipeline","externalId":"metlife","isActive":true,"coverTypeIds":[21],"productSubTypes":["Personal Protection"],"productCount":15,"createdAt":"2026-06-20T09:00:37.305301Z"},{"id":128,"name":"National Friendly","logo":null,"source":"IPipeline","externalId":"natfriend","isActive":true,"coverTypeIds":[5],"productSubTypes":["Personal Protection"],"productCount":12,"createdAt":"2026-06-20T09:00:37.305301Z"},{"id":132,"name":"Royal London","logo":null,"source":"IPipeline","externalId":"roylondon","isActive":true,"coverTypeIds":[4,5,7,8],"productSubTypes":["Personal Protection","Business Protection"],"productCount":18,"createdAt":"2026-06-20T09:00:37.305301Z"},{"id":133,"name":"Scottish Widows","logo":null,"source":"IPipeline","externalId":"scotwid","isActive":true,"coverTypeIds":[5,8],"productSubTypes":["Personal Protection","Business Protection"],"productCount":6,"createdAt":"2026-06-20T09:00:37.305301Z"},{"id":134,"name":"Shepherds Friendly","logo":null,"source":"IPipeline","externalId":"shepfr","isActive":true,"coverTypeIds":[5],"productSubTypes":["Personal Protection"],"productCount":3,"createdAt":"2026-06-20T09:00:37.305301Z"},{"id":123,"name":"The Exeter","logo":null,"source":"IPipeline","externalId":"exfamfri","isActive":true,"coverTypeIds":[1],"productSubTypes":["Personal Protection"],"productCount":8,"createdAt":"2026-06-20T09:00:37.305301Z"},{"id":131,"name":"VitalityLife","logo":null,"source":"IPipeline","externalId":"pruprotect","isActive":true,"coverTypeIds":[1,4,5,7,8],"productSubTypes":["Personal Protection","Business Protection"],"productCount":58,"createdAt":"2026-06-20T09:00:37.305301Z"},{"id":135,"name":"Zurich","logo":null,"source":"IPipeline","externalId":"zifa","isActive":true,"coverTypeIds":[1,4,5,7,8],"productSubTypes":["Personal Protection","Business Protection"],"productCount":25,"createdAt":"2026-06-20T09:00:37.305301Z"}],"pagination":{"page":0,"size":100,"totalElements":15,"totalPages":1,"hasNext":false,"hasPrevious":false,"isFirst":true,"isLast":true}},"timestamp":"2026-10-27T14:30:44.0241901Z"}
2026-10-27 14:30:43.894 +00:00 [INF] [GEN] [U:-] [C:-] [T:b798e4c2fe2847dddf081dd7f9e522e0] HTTP GET /api/v1/business/sourcing/cases/399/recommended-products/177 responded 200 in 11.3292 ms
2026-10-27 14:30:43.894 +00:00 [INF] [HTTP] [U:943] [C:c066748818ba] [T:b798e4c2fe2847dddf081dd7f9e522e0] HTTP GET /api/v1/business/sourcing/cases/399/recommended-products/177 200
Req: [no body] Res: {"success":true,"data":[{"id":65,"caseId":399,"quoteId":177,"iPipelineQuoteId":"d2d95744-7249-4366-9bbf-421e5b768b05","benefitId":"2d0036c4-c9af-4eca-9b2e-88249cbfeb47","benefitKey":"Term|First|Life","benefitName":"Life Insurance","quoteCover":"Life","displayName":"Steve","isManualProduct":false,"policyStatusId":608,"policyStatusName":"Pending","phase":"InProgress","liveAt":null,"needsStatusReview":true,"basicInformation":{"productName":"Zurich Life & CI + Child","productId":null,"provider":"Zurich","providerId":135,"addToTrust":true,"trustType":"Discretionary Trust"},"policyInformation":{"clients":[{"caseClientId":459,"name":"Steve Lewis"}],"sumAssured":230000.00,"coverTypeIds":[1],"singleJointPolicy":"Single","policyNumber":"123456789","termType":"Upto Age","terms":null,"toAge":65,"businessType":"New Business","protectionBasis":"Level","premiumPeriod":"Reviewable","premiumAmount":10.00,"benefitType":"Term","indexation":null,"isInTrustDeed":null,"interestRate":null,"typeOfLoan":null,"otherDetail":null,"underwritingBasis":null},"dependantDetails":[],"commissionInformation":{"grossCommission":1255.00,"commissionMonths":"24 Months","commissionType":"Indemnity"},"recommendations":{"policyRecommendations":"test","providerRecommended":"test","reasonForCover":null,"reasonForTermLength":null},"isComplete":false},{"id":66,"caseId":399,"quoteId":177,"iPipelineQuoteId":"d2d95744-7249-4366-9bbf-421e5b768b05","benefitId":"32dc306b-1745-4f17-b68a-c844ccb4caf5","benefitKey":"Term|First|LifeOrCriticalIllness","benefitName":"Life Insurance","quoteCover":"Life or Critical Illness","displayName":"Steve","isManualProduct":false,"policyStatusId":608,"policyStatusName":"Pending","phase":"InProgress","liveAt":null,"needsStatusReview":true,"basicInformation":{"productName":"Zurich Life & CI + Child","productId":null,"provider":"Zurich","providerId":135,"addToTrust":false,"trustType":null},"policyInformation":{"clients":[{"caseClientId":459,"name":"Steve Lewis"}],"sumAssured":23000.00,"coverTypeIds":[1,4],"singleJointPolicy":"Single","policyNumber":"4656","termType":"Upto Age","terms":null,"toAge":65,"businessType":"New Business","protectionBasis":"Level","premiumPeriod":"Reviewable","premiumAmount":54.00,"benefitType":"Term","indexation":null,"isInTrustDeed":null,"interestRate":null,"typeOfLoan":null,"otherDetail":null,"underwritingBasis":null},"dependantDetails":[],"commissionInformation":{"grossCommission":500.00,"commissionMonths":"24 Months","commissionType":"Indemnity"},"recommendations":{"policyRecommendations":"test","providerRecommended":"test","reasonForCover":null,"reasonForTermLength":null},"isComplete":false}],"timestamp":"2026-10-27T14:30:43.8912805Z","preCheck":{"area":"Sourcing","pageKey":"PersonalProtectionProducts","pageTitle":"Products","caseClientId":null,"outstandingCount":0,"totalCount":0,"highestOutstandingPriority":null,"pageLevelIssues":[],"sectionIssues":[],"fieldIssues":[],"rowIssues":[]}}
2026-10-27 14:30:41.318 +00:00 [INF] [GEN] [U:-] [C:-] [T:28019402e4af95398e2ac83b18e4ade0] HTTP GET /api/v1/business/sourcing/cases/399/recommended-products/177 responded 200 in 9.2260 ms
2026-10-27 14:30:41.318 +00:00 [INF] [HTTP] [U:943] [C:71648a244aa3] [T:28019402e4af95398e2ac83b18e4ade0] HTTP GET /api/v1/business/sourcing/cases/399/recommended-products/177 200
Req: [no body] Res: {"success":true,"data":[{"id":65,"caseId":399,"quoteId":177,"iPipelineQuoteId":"d2d95744-7249-4366-9bbf-421e5b768b05","benefitId":"2d0036c4-c9af-4eca-9b2e-88249cbfeb47","benefitKey":"Term|First|Life","benefitName":"Life Insurance","quoteCover":"Life","displayName":"Steve","isManualProduct":false,"policyStatusId":608,"policyStatusName":"Pending","phase":"InProgress","liveAt":null,"needsStatusReview":true,"basicInformation":{"productName":"Zurich Life & CI + Child","productId":null,"provider":"Zurich","providerId":135,"addToTrust":true,"trustType":"Discretionary Trust"},"policyInformation":{"clients":[{"caseClientId":459,"name":"Steve Lewis"}],"sumAssured":230000.00,"coverTypeIds":[1],"singleJointPolicy":"Single","policyNumber":"123456789","termType":"Upto Age","terms":null,"toAge":65,"businessType":"New Business","protectionBasis":"Level","premiumPeriod":"Reviewable","premiumAmount":10.00,"benefitType":"Term","indexation":null,"isInTrustDeed":null,"interestRate":null,"typeOfLoan":null,"otherDetail":null,"underwritingBasis":null},"dependantDetails":[],"commissionInformation":{"grossCommission":1255.00,"commissionMonths":"24 Months","commissionType":"Indemnity"},"recommendations":{"policyRecommendations":"test","providerRecommended":"test","reasonForCover":null,"reasonForTermLength":null},"isComplete":false},{"id":66,"caseId":399,"quoteId":177,"iPipelineQuoteId":"d2d95744-7249-4366-9bbf-421e5b768b05","benefitId":"32dc306b-1745-4f17-b68a-c844ccb4caf5","benefitKey":"Term|First|LifeOrCriticalIllness","benefitName":"Life Insurance","quoteCover":"Life or Critical Illness","displayName":"Steve","isManualProduct":false,"policyStatusId":608,"policyStatusName":"Pending","phase":"InProgress","liveAt":null,"needsStatusReview":true,"basicInformation":{"productName":"Zurich Life & CI + Child","productId":null,"provider":"Zurich","providerId":135,"addToTrust":false,"trustType":null},"policyInformation":{"clients":[{"caseClientId":459,"name":"Steve Lewis"}],"sumAssured":23000.00,"coverTypeIds":[1,4],"singleJointPolicy":"Single","policyNumber":"4656","termType":"Upto Age","terms":null,"toAge":65,"businessType":"New Business","protectionBasis":"Level","premiumPeriod":"Reviewable","premiumAmount":54.00,"benefitType":"Term","indexation":null,"isInTrustDeed":null,"interestRate":null,"typeOfLoan":null,"otherDetail":null,"underwritingBasis":null},"dependantDetails":[],"commissionInformation":{"grossCommission":500.00,"commissionMonths":"24 Months","commissionType":"Indemnity"},"recommendations":{"policyRecommendations":"test","providerRecommended":"test","reasonForCover":null,"reasonForTermLength":null},"isComplete":false}],"timestamp":"2026-10-27T14:30:41.315457Z","preCheck":{"area":"Sourcing","pageKey":"PersonalProtectionProducts","pageTitle":"Products","caseClientId":null,"outstandingCount":0,"totalCount":0,"highestOutstandingPriority":null,"pageLevelIssues":[],"sectionIssues":[],"fieldIssues":[],"rowIssues":[]}}
2026-10-27 14:30:41.260 +00:00 [INF] [GEN] [U:-] [C:-] [T:087ca5a701bcd07f41d287966fe666ec] HTTP GET /api/v1/business/product-catalog/providers/lookup responded 200 in 5.5196 ms
2026-10-27 14:30:41.259 +00:00 [INF] [HTTP] [U:943] [C:36a015c7eb6a] [T:087ca5a701bcd07f41d287966fe666ec] HTTP GET /api/v1/business/product-catalog/providers/lookup 200
Req: [no body] Res: {"success":true,"data":[{"id":129,"name":"Aviva"},{"id":139,"name":"Beagle Street"},{"id":126,"name":"Legal & General"},{"id":123,"name":"The Exeter"},{"id":131,"name":"VitalityLife"},{"id":135,"name":"Zurich"}],"timestamp":"2026-10-27T14:30:41.2595656Z"}
2026-10-27 14:30:40.999 +00:00 [INF] [GEN] [U:-] [C:-] [T:392a15f6b743a19b64830e050baaeeea] HTTP GET /api/v1/business/cases/399/panel/tasks responded 200 in 16.0717 ms
2026-10-27 14:30:40.999 +00:00 [INF] [HTTP] [U:943] [C:1efb5ee1fee5] [T:392a15f6b743a19b64830e050baaeeea] HTTP GET /api/v1/business/cases/399/panel/tasks 200
Req: [no body] Res: {"success":true,"data":{"caseId":399,"factFindComplete":true,"factFindSections":[],"productType":null,"sourcingSections":[{"order":3,"sectionType":"Products","status":"In Progress","completedAt":null,"module":"Sourcing"}],"totalPending":1},"timestamp":"2026-10-27T14:30:40.9997262Z"}
2026-10-27 14:30:40.997 +00:00 [INF] [GEN] [U:-] [C:-] [T:8f987141b80168c8aabec9a697d1aeb7] HTTP GET /api/v1/business/case-review/pre-check/by-case/399/status responded 200 in 4.0327 ms
2026-10-27 14:30:40.997 +00:00 [INF] [HTTP] [U:943] [C:59ee7aa2f368] [T:8f987141b80168c8aabec9a697d1aeb7] HTTP GET /api/v1/business/case-review/pre-check/by-case/399/status 200
Req: [no body] Res: {"success":true,"data":{"caseReviewStatus":"Issues Found","outstandingCount":1,"canStart":true,"notStartableReason":null},"timestamp":"2026-10-27T14:30:40.9972272Z"}
2026-10-27 14:30:40.535 +00:00 [INF] [GEN] [U:-] [C:-] [T:99bfea2c08cadcdc9a942653ae438771] HTTP GET /api/v1/business/solution-builder/cases/399/quotes responded 200 in 10.7798 ms
2026-10-27 14:30:40.534 +00:00 [INF] [HTTP] [U:943] [C:a2df6e5b18c6] [T:99bfea2c08cadcdc9a942653ae438771] HTTP GET /api/v1/business/solution-builder/cases/399/quotes 200
Req: [no body] Res: {"success":true,"data":{"caseId":399,"sbClientId":483039,"events":[{"quoteId":177,"eventType":"Like","eventTimeUtc":"2026-09-07T12:13:56.937Z","solutionType":"SingleProvider","isRecommended":true,"quotes":[{"iPipelineQuoteId":"d2d95744-7249-4366-9bbf-421e5b768b05","productId":6262,"productName":"Zurich Life & CI + Child","providerName":"Zurich","providerId":null,"premium":64.00,"commissionAmount":1755.00,"expiryDate":"2026-10-03T01:00:00","quoteDate":"2026-09-07T11:57:19.6","overallUnderwritingDecision":"NotUnderwritten","isRecommended":true,"benefits":[{"benefitKey":"Term|First|Life","benefitType":"Term","benefitName":"Life Insurance","coverType":"Life","coverAmount":230000,"livesAssured":"First","benefitBasis":null,"term":null,"toAge":65,"benefitId":"2d0036c4-c9af-4eca-9b2e-88249cbfeb47","premium":10.00,"commissionAmount":1255.00,"indexation":"Level","totalPermanentDisability":false,"displayName":"Steve","waiverOfPremium":"FirstLife"},{"benefitKey":"Term|First|LifeOrCriticalIllness","benefitType":"Term","benefitName":"Life Insurance","coverType":"Life or Critical Illness","coverAmount":23000,"livesAssured":"First","benefitBasis":null,"term":null,"toAge":65,"benefitId":"32dc306b-1745-4f17-b68a-c844ccb4caf5","premium":54.00,"commissionAmount":500.00,"indexation":"Level","totalPermanentDisability":false,"displayName":"Steve","waiverOfPremium":"FirstLife"}]}]},{"quoteId":171,"eventType":"Like","eventTimeUtc":"2026-09-03T12:34:12.48Z","solutionType":"SingleProvider","isRecommended":false,"quotes":[{"iPipelineQuoteId":"1e2966bc-2f87-455d-ad03-76fd195afb00","productId":6042,"productName":"VitalityLife Optimised MB Life & SIC 1X","providerName":"VitalityLife","providerId":null,"premium":16.44,"commissionAmount":344.78,"expiryDate":"2026-10-02T01:00:00","quoteDate":"2026-09-03T12:33:41.927","overallUnderwritingDecision":"NotUnderwritten","isRecommended":false,"benefits":[{"benefitKey":"Term|First|Life","benefitType":"Term","benefitName":"Life Insurance","coverType":"Life","coverAmount":230000,"livesAssured":"First","benefitBasis":null,"term":null,"toAge":65,"benefitId":"b337883e-d390-4257-9755-c1201e73b5e0","premium":null,"commissionAmount":null,"indexation":"Level","totalPermanentDisability":false,"displayName":"Steve","waiverOfPremium":"None"},{"benefitKey":"Term|First|LifeOrCriticalIllness","benefitType":"Term","benefitName":"Life Insurance","coverType":"Life or Critical Illness","coverAmount":23000,"livesAssured":"First","benefitBasis":null,"term":null,"toAge":65,"benefitId":"3189fd4d-7961-4a2a-baff-c9cfce01c024","premium":null,"commissionAmount":null,"indexation":"Level","totalPermanentDisability":false,"displayName":"Steve","waiverOfPremium":"None"}]}]},{"quoteId":170,"eventType":"Like","eventTimeUtc":"2026-09-03T12:34:12.48Z","solutionType":"MultiProvider","isRecommended":false,"quotes":[{"iPipelineQuoteId":"3a743d41-b2e5-43b3-92e9-6532710fa963","productId":6261,"productName":"Zurich Life","providerName":"Zurich","providerId":null,"premium":9.70,"commissionAmount":206.18,"expiryDate":"2026-10-02T01:00:00","quoteDate":"2026-09-03T12:33:43.817","overallUnderwritingDecision":"NotUnderwritten","isRecommended":false,"benefits":[{"benefitKey":"Term|First|Life","benefitType":"Term","benefitName":"Life Insurance","coverType":"Life","coverAmount":230000,"livesAssured":"First","benefitBasis":null,"term":null,"toAge":65,"benefitId":"a37095d3-0212-4590-afa1-c62a48aa2d32","premium":9.70,"commissionAmount":206.18,"indexation":"Level","totalPermanentDisability":false,"displayName":"Steve","waiverOfPremium":"None"}]},{"iPipelineQuoteId":"9657f7d0-0cfd-46bc-aa1c-593949b022a8","productId":6042,"productName":"VitalityLife Optimised Life & SIC 1X","providerName":"VitalityLife","providerId":null,"premium":9.19,"commissionAmount":192.73,"expiryDate":"2026-10-02T01:00:00","quoteDate":"2026-09-03T12:33:41.7","overallUnderwritingDecision":"NotUnderwritten","isRecommended":false,"benefits":[{"benefitKey":"Term|First|LifeOrCriticalIllness","benefitType":"Term","benefitName":"Life Insurance","coverType":"Life or Critical Illness","coverAmount":23000,"livesAssured":"First","benefitBasis":null,"term":null,"toAge":65,"benefitId":"dfd14371-87a7-4fd9-8345-df8cfb9f9e2f","premium":9.19,"commissionAmount":192.73,"indexation":"Level","totalPermanentDisability":false,"displayName":"Steve","waiverOfPremium":"None"}]}]}]},"timestamp":"2026-10-27T14:30:40.5347008Z"}
2026-10-27 14:30:40.393 +00:00 [INF] [GEN] [U:-] [C:-] [T:9b2337c16291fa490ba0205a8bba8f5a] HTTP GET /api/v1/business/cases/399 responded 200 in 38.7816 ms
2026-10-27 14:30:40.392 +00:00 [INF] [HTTP] [U:943] [C:1fbf35e8f32a] [T:9b2337c16291fa490ba0205a8bba8f5a] HTTP GET /api/v1/business/cases/399 200
Req: [no body] Res: {"success":true,"data":{"id":399,"userFacingCaseId":"CASE-0325","productType":"Personal Protection","productTypeDisplayName":"Personal Protection","coverTypeNames":["Life Insurance","Critical Illness"],"caseStatusId":null,"caseStatusName":null,"outcome":"Open","isClosedManually":false,"closedReason":null,"policies":[{"recordType":"RecommendedProduct","recordId":65,"productId":null,"productName":"Zurich Life & CI + Child","coverTypeIds":[1],"coverTypeNames":["Life Insurance"],"policyStatusId":608,"policyStatusName":"Pending","phase":"InProgress"},{"recordType":"RecommendedProduct","recordId":66,"productId":null,"productName":"Zurich Life & CI + Child","coverTypeIds":[1,4],"coverTypeNames":["Life Insurance","Critical Illness"],"policyStatusId":608,"policyStatusName":"Pending","phase":"InProgress"}],"caseReviewGrade":null,"caseReviewGradeDisplayName":null,"preCheckStatus":"Issues Found","preCheckOutstandingCount":1,"complianceStatus":"Submitted for Pre-Check","stage":"Lead","internalState":"SuitabilityGenerated","clients":[{"caseClientId":459,"clientId":89,"clientName":"Steve Lewis","factFindId":459,"welcomeKitAcknowledged":false,"welcomeKitAcknowledgedAt":null}],"assignedUserId":943,"assignedUserName":"Gagan Gagan ABC","assignedUserArName":"Goldline","assignedUserBranchName":"Wealthmax Financial Advisers Ltd.","introducerUserId":null,"introducerName":null,"isLocked":false,"lockedAt":null,"canReassign":true,"tenantId":28,"createdBy":"656","createdAt":"2026-09-03T11:32:01.990823Z","updatedBy":"943","updatedAt":"2026-10-27T14:07:30.139246Z","caseInformation":{"factFind":[{"order":1,"sectionType":"Personal Details","status":"Complete","completedAt":"2026-10-27T14:07:30.028035Z","preCheckArea":"Fact Find","preCheckPageKey":"PersonalDetails","outstandingIssueCount":1,"totalIssueCount":2,"highestOutstandingPriority":"Major","clientCounts":[{"caseClientId":459,"clientName":"Steve Lewis","outstandingIssueCount":1,"totalIssueCount":2,"highestOutstandingPriority":"Major"}]},{"order":2,"sectionType":"Income","status":"Complete","completedAt":"2026-09-03T11:32:02.123914Z","preCheckArea":"Fact Find","preCheckPageKey":"Income","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null,"clientCounts":[]},{"order":3,"sectionType":"Expenditure","status":"Complete","completedAt":"2026-09-07T11:30:54.022023Z","preCheckArea":"Fact Find","preCheckPageKey":"Expenditure","outstandingIssueCount":0,"totalIssueCount":1,"highestOutstandingPriority":null,"clientCounts":[{"caseClientId":459,"clientName":"Steve Lewis","outstandingIssueCount":0,"totalIssueCount":1,"highestOutstandingPriority":null}]},{"order":4,"sectionType":"Assets","status":"Complete","completedAt":"2026-09-03T11:32:12.71597Z","preCheckArea":"Fact Find","preCheckPageKey":"Assets","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null,"clientCounts":[]},{"order":5,"sectionType":"Credit","status":"Complete","completedAt":"2026-09-03T11:32:13.293452Z","preCheckArea":"Fact Find","preCheckPageKey":"Credit","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null,"clientCounts":[]},{"order":6,"sectionType":"Life Style","status":"Complete","completedAt":"2026-09-03T11:32:13.964623Z","preCheckArea":"Fact Find","preCheckPageKey":"LifeStyle","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null,"clientCounts":[]},{"order":7,"sectionType":"Health","status":"Complete","completedAt":"2026-09-03T11:32:14.70025Z","preCheckArea":"Fact Find","preCheckPageKey":"Health","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null,"clientCounts":[]},{"order":9,"sectionType":"Existing Property","status":"Complete","completedAt":"2026-09-03T11:32:16.285297Z","preCheckArea":"Fact Find","preCheckPageKey":"ExistingProperty","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null,"clientCounts":[]},{"order":10,"sectionType":"Financial Overview","status":"Complete","completedAt":"2026-09-03T11:32:17.105161Z","preCheckArea":"Fact Find","preCheckPageKey":"FinancialOverview","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null,"clientCounts":[]}],"productType":{"name":"Personal Protection","coverTypeNames":[{"name":"Life Insurance","status":"In Progress","completedAt":null,"preCheckArea":"Product Requirement","preCheckPageKey":null,"outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null,"clientCounts":[]},{"name":"Critical Illness","status":"In Progress","completedAt":null,"preCheckArea":"Product Requirement","preCheckPageKey":null,"outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null,"clientCounts":[]}]},"sourcing":"Personal Protection","sourcingSection":[{"order":1,"sectionType":"Existing & Replacement Policies","status":"Complete","completedAt":"2026-09-03T11:32:21.102837Z","isEnabled":true,"preCheckArea":"Sourcing","preCheckPageKey":"ExistingReplacementPolicies","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null},{"order":2,"sectionType":"Needs & Preferences","status":"Complete","completedAt":null,"isEnabled":true,"preCheckArea":"Sourcing","preCheckPageKey":"NeedsAndPreferences","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null},{"order":3,"sectionType":"Products","status":"In Progress","completedAt":null,"isEnabled":true,"preCheckArea":"Sourcing","preCheckPageKey":"PersonalProtectionProducts","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null},{"order":4,"sectionType":"Recommendation","status":"Complete","completedAt":"2026-09-07T10:18:06.172492Z","isEnabled":true,"preCheckArea":"Sourcing","preCheckPageKey":"PersonalProtectionRecommendation","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null}],"suitability":{"documentsComplete":false,"pendingDocuments":[{"documentType":"PhotoId","label":"Photo ID","status":"Pending","completedAt":null,"missingForClients":[{"clientId":89,"fullName":"Steve Lewis"}]},{"documentType":"QuoteComparisonReport","label":"Quote Comparison Report","status":"Pending","completedAt":null,"missingForClients":[]},{"documentType":"ProvidersIllustration","label":"Provider's Illustration","status":"Pending","completedAt":null,"missingForClients":[]},{"documentType":"Application","label":"Application","status":"Pending","completedAt":null,"missingForClients":[]},{"documentType":"KeyFeatures","label":"Key Features","status":"Pending","completedAt":null,"missingForClients":[]}],"preCheckArea":"Suitability","preCheckPageKey":"SuitabilityReport","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null}}},"timestamp":"2026-10-27T14:30:40.3925289Z"}
2026-10-27 14:30:40.377 +00:00 [INF] [GEN] [U:-] [C:-] [T:f611f276e68846fc45fc145aa73f79f1] HTTP GET /api/v1/business/case-review/pre-check/by-case/399/anchors/Sourcing/PersonalProtectionProducts/structure responded 200 in 3.2527 ms
2026-10-27 14:30:40.377 +00:00 [INF] [HTTP] [U:943] [C:ddbd4ea9fbbb] [T:f611f276e68846fc45fc145aa73f79f1] HTTP GET /api/v1/business/case-review/pre-check/by-case/399/anchors/Sourcing/PersonalProtectionProducts/structure 200
Req: [no body] Res: {"success":true,"data":{"area":"Sourcing","pageKey":"PersonalProtectionProducts","displayName":"Products","isClientScoped":false,"allowsFieldAnchors":true,"sections":[{"sectionKey":"RecommendedProducts","title":"Recommended Products","kind":"RepeatingRows","requiresInstance":false,"isRowAnchored":true,"fields":[]}]},"timestamp":"2026-10-27T14:30:40.3774314Z"}
2026-10-27 14:30:39.269 +00:00 [INF] [GEN] [U:-] [C:-] [T:108e6be3b092c6b725bccd72a10cd80a] HTTP GET /api/v1/business/cases/399/panel/tasks responded 200 in 14.4559 ms
2026-10-27 14:30:39.269 +00:00 [INF] [HTTP] [U:943] [C:bb9dcfb8ac64] [T:108e6be3b092c6b725bccd72a10cd80a] HTTP GET /api/v1/business/cases/399/panel/tasks 200
Req: [no body] Res: {"success":true,"data":{"caseId":399,"factFindComplete":true,"factFindSections":[],"productType":null,"sourcingSections":[{"order":3,"sectionType":"Products","status":"In Progress","completedAt":null,"module":"Sourcing"}],"totalPending":1},"timestamp":"2026-10-27T14:30:39.2695706Z"}
2026-10-27 14:30:39.247 +00:00 [INF] [GEN] [U:-] [C:-] [T:c78814b24c2f9e7121b19d42b3ea267b] HTTP GET /api/v1/business/case-review/pre-check/by-case/399/status responded 200 in 5.6013 ms
2026-10-27 14:30:39.247 +00:00 [INF] [HTTP] [U:943] [C:6c3df68e0b54] [T:c78814b24c2f9e7121b19d42b3ea267b] HTTP GET /api/v1/business/case-review/pre-check/by-case/399/status 200
Req: [no body] Res: {"success":true,"data":{"caseReviewStatus":"Issues Found","outstandingCount":1,"canStart":true,"notStartableReason":null},"timestamp":"2026-10-27T14:30:39.2468096Z"}
2026-10-27 14:30:38.653 +00:00 [INF] [GEN] [U:-] [C:-] [T:7f418c189c64ea47eee36a9980307687] HTTP GET /api/v1/business/sourcing/cases/399/existing-replacement-policies responded 200 in 100.4242 ms
2026-10-27 14:30:38.653 +00:00 [INF] [HTTP] [U:943] [C:9af7299b5f38] [T:7f418c189c64ea47eee36a9980307687] HTTP GET /api/v1/business/sourcing/cases/399/existing-replacement-policies 200
Req: [no body] Res: {"success":true,"data":{"id":95,"caseId":399,"hasExistingPolicies":false,"hasEmployeeBenefits":false,"existingPolicies":[],"employeeBenefits":[],"createdAt":"2026-09-03T11:32:21.101331Z","updatedAt":"2026-09-03T11:32:21.102837Z"},"timestamp":"2026-10-27T14:30:38.6458309Z","preCheck":{"area":"Sourcing","pageKey":"ExistingReplacementPolicies","pageTitle":"Existing & Replacement Policies","caseClientId":null,"outstandingCount":0,"totalCount":0,"highestOutstandingPriority":null,"pageLevelIssues":[],"sectionIssues":[],"fieldIssues":[],"rowIssues":[]}}
2026-10-27 14:30:38.591 +00:00 [INF] [GEN] [U:-] [C:-] [T:83c0dee44e7cc947d29d47ec54d6024c] HTTP GET /api/v1/business/cases/399 responded 200 in 36.2516 ms
2026-10-27 14:30:38.591 +00:00 [INF] [HTTP] [U:943] [C:98b196b016e3] [T:83c0dee44e7cc947d29d47ec54d6024c] HTTP GET /api/v1/business/cases/399 200
Req: [no body] Res: {"success":true,"data":{"id":399,"userFacingCaseId":"CASE-0325","productType":"Personal Protection","productTypeDisplayName":"Personal Protection","coverTypeNames":["Life Insurance","Critical Illness"],"caseStatusId":null,"caseStatusName":null,"outcome":"Open","isClosedManually":false,"closedReason":null,"policies":[{"recordType":"RecommendedProduct","recordId":65,"productId":null,"productName":"Zurich Life & CI + Child","coverTypeIds":[1],"coverTypeNames":["Life Insurance"],"policyStatusId":608,"policyStatusName":"Pending","phase":"InProgress"},{"recordType":"RecommendedProduct","recordId":66,"productId":null,"productName":"Zurich Life & CI + Child","coverTypeIds":[1,4],"coverTypeNames":["Life Insurance","Critical Illness"],"policyStatusId":608,"policyStatusName":"Pending","phase":"InProgress"}],"caseReviewGrade":null,"caseReviewGradeDisplayName":null,"preCheckStatus":"Issues Found","preCheckOutstandingCount":1,"complianceStatus":"Submitted for Pre-Check","stage":"Lead","internalState":"SuitabilityGenerated","clients":[{"caseClientId":459,"clientId":89,"clientName":"Steve Lewis","factFindId":459,"welcomeKitAcknowledged":false,"welcomeKitAcknowledgedAt":null}],"assignedUserId":943,"assignedUserName":"Gagan Gagan ABC","assignedUserArName":"Goldline","assignedUserBranchName":"Wealthmax Financial Advisers Ltd.","introducerUserId":null,"introducerName":null,"isLocked":false,"lockedAt":null,"canReassign":true,"tenantId":28,"createdBy":"656","createdAt":"2026-09-03T11:32:01.990823Z","updatedBy":"943","updatedAt":"2026-10-27T14:07:30.139246Z","caseInformation":{"factFind":[{"order":1,"sectionType":"Personal Details","status":"Complete","completedAt":"2026-10-27T14:07:30.028035Z","preCheckArea":"Fact Find","preCheckPageKey":"PersonalDetails","outstandingIssueCount":1,"totalIssueCount":2,"highestOutstandingPriority":"Major","clientCounts":[{"caseClientId":459,"clientName":"Steve Lewis","outstandingIssueCount":1,"totalIssueCount":2,"highestOutstandingPriority":"Major"}]},{"order":2,"sectionType":"Income","status":"Complete","completedAt":"2026-09-03T11:32:02.123914Z","preCheckArea":"Fact Find","preCheckPageKey":"Income","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null,"clientCounts":[]},{"order":3,"sectionType":"Expenditure","status":"Complete","completedAt":"2026-09-07T11:30:54.022023Z","preCheckArea":"Fact Find","preCheckPageKey":"Expenditure","outstandingIssueCount":0,"totalIssueCount":1,"highestOutstandingPriority":null,"clientCounts":[{"caseClientId":459,"clientName":"Steve Lewis","outstandingIssueCount":0,"totalIssueCount":1,"highestOutstandingPriority":null}]},{"order":4,"sectionType":"Assets","status":"Complete","completedAt":"2026-09-03T11:32:12.71597Z","preCheckArea":"Fact Find","preCheckPageKey":"Assets","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null,"clientCounts":[]},{"order":5,"sectionType":"Credit","status":"Complete","completedAt":"2026-09-03T11:32:13.293452Z","preCheckArea":"Fact Find","preCheckPageKey":"Credit","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null,"clientCounts":[]},{"order":6,"sectionType":"Life Style","status":"Complete","completedAt":"2026-09-03T11:32:13.964623Z","preCheckArea":"Fact Find","preCheckPageKey":"LifeStyle","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null,"clientCounts":[]},{"order":7,"sectionType":"Health","status":"Complete","completedAt":"2026-09-03T11:32:14.70025Z","preCheckArea":"Fact Find","preCheckPageKey":"Health","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null,"clientCounts":[]},{"order":9,"sectionType":"Existing Property","status":"Complete","completedAt":"2026-09-03T11:32:16.285297Z","preCheckArea":"Fact Find","preCheckPageKey":"ExistingProperty","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null,"clientCounts":[]},{"order":10,"sectionType":"Financial Overview","status":"Complete","completedAt":"2026-09-03T11:32:17.105161Z","preCheckArea":"Fact Find","preCheckPageKey":"FinancialOverview","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null,"clientCounts":[]}],"productType":{"name":"Personal Protection","coverTypeNames":[{"name":"Life Insurance","status":"In Progress","completedAt":null,"preCheckArea":"Product Requirement","preCheckPageKey":null,"outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null,"clientCounts":[]},{"name":"Critical Illness","status":"In Progress","completedAt":null,"preCheckArea":"Product Requirement","preCheckPageKey":null,"outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null,"clientCounts":[]}]},"sourcing":"Personal Protection","sourcingSection":[{"order":1,"sectionType":"Existing & Replacement Policies","status":"Complete","completedAt":"2026-09-03T11:32:21.102837Z","isEnabled":true,"preCheckArea":"Sourcing","preCheckPageKey":"ExistingReplacementPolicies","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null},{"order":2,"sectionType":"Needs & Preferences","status":"Complete","completedAt":null,"isEnabled":true,"preCheckArea":"Sourcing","preCheckPageKey":"NeedsAndPreferences","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null},{"order":3,"sectionType":"Products","status":"In Progress","completedAt":null,"isEnabled":true,"preCheckArea":"Sourcing","preCheckPageKey":"PersonalProtectionProducts","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null},{"order":4,"sectionType":"Recommendation","status":"Complete","completedAt":"2026-09-07T10:18:06.172492Z","isEnabled":true,"preCheckArea":"Sourcing","preCheckPageKey":"PersonalProtectionRecommendation","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null}],"suitability":{"documentsComplete":false,"pendingDocuments":[{"documentType":"PhotoId","label":"Photo ID","status":"Pending","completedAt":null,"missingForClients":[{"clientId":89,"fullName":"Steve Lewis"}]},{"documentType":"QuoteComparisonReport","label":"Quote Comparison Report","status":"Pending","completedAt":null,"missingForClients":[]},{"documentType":"ProvidersIllustration","label":"Provider's Illustration","status":"Pending","completedAt":null,"missingForClients":[]},{"documentType":"Application","label":"Application","status":"Pending","completedAt":null,"missingForClients":[]},{"documentType":"KeyFeatures","label":"Key Features","status":"Pending","completedAt":null,"missingForClients":[]}],"preCheckArea":"Suitability","preCheckPageKey":"SuitabilityReport","outstandingIssueCount":0,"totalIssueCount":0,"highestOutstandingPriority":null}}},"timestamp":"2026-10-27T14:30:38.5899919Z"}
2026-10-27 14:30:38.557 +00:00 [INF] [GEN] [U:-] [C:-] [T:d82450cae69ac87efdfdb38b6ec91d48] HTTP GET /api/v1/business/product-catalog/providers/lookup responded 200 in 13.6626 ms
2026-10-27 14:30:38.557 +00:00 [INF] [HTTP] [U:943] [C:48fd281411b1] [T:d82450cae69ac87efdfdb38b6ec91d48] HTTP GET /api/v1/business/product-catalog/providers/lookup 200
Req: [no body] Res: {"success":true,"data":[{"id":144,"name":"Assurant"},{"id":129,"name":"Aviva"},{"id":142,"name":"Axa"},{"id":139,"name":"Beagle Street"},{"id":121,"name":"British Friendly"},{"id":122,"name":"Cirencester Friendly"},{"id":137,"name":"Gagan"},{"id":140,"name":"Gagan Deep"},{"id":138,"name":"Gagan Test"},{"id":124,"name":"Guardian"},{"id":125,"name":"Holloway Friendly"},{"id":126,"name":"Legal & General"},{"id":136,"name":"Manual Provider"},{"id":127,"name":"MetLife"},{"id":128,"name":"National Friendly"},{"id":145,"name":"Payment Shield"},{"id":132,"name":"Royal London"},{"id":133,"name":"Scottish Widows"},{"id":134,"name":"Shepherds Friendly"},{"id":123,"name":"The Exeter"},{"id":141,"name":"Uinsure"},{"id":143,"name":"Vitality Health"},{"id":131,"name":"VitalityLife"},{"id":135,"name":"Zurich"}],"timestamp":"2026-10-27T14:30:38.5573491Z"}
Errors & Warnings 12
2026-10-27 14:34:25.528 +00:00 [WRN] [HTTP] [U:-] [C:b616c6f1c4d7] [T:b55b9d749f1ba7e8551f9e88717cfa69] HTTP POST /api/mailgun-webhooks/events 401
Req: {"signature":{"token":"358036462d5fd498bf975507910b0b3dfa54d224bf6a21654a","timestamp":"1793111665","signature":"57ccbeee91393a2cf907a0e90417a4a17e1fb4944e8e6c6ba24618b405ff5fb5"},"event-data":{"event":"delivered","id":"F2tqsuWuTwuTQfMKqAZ_rA","timestamp":1793096963.1290457,"flags":{"is-authenticated":true,"is-big":true,"is-routed":false,"is-system-test":false,"is-test-mode":false},"log-level":"info","message":{"attachments":[{"filename":"attachment1.pdf","content-type":"application/pdf","size":3321697},{"filename":"attachment2.pdf","content-type":"application/pdf","size":2255003},{"filename":"attachment3.pdf","content-type":"application/pdf","size":84919},{"filename":"attachment4.pdf","content-type":"application/pdf","size":4319351},{"filename":"attachment5.pdf","content-type":"application/pdf","size":84895},{"filename":"attachment6.pdf","content-type":"application/pdf","size":83795},{"filename":"attachment7.pdf","content-type":"application/pdf","size":226017},{"filename":"attachment8.pdf","content-type":"application/pdf","size":206173},{"filename":"attachment9.pdf","content-type":"application/pdf","size":2144493},{"filename":"attachment10.pdf","content-type":"application/pdf","size":451993},{"filename":"attachment11.pdf","content-type":"application/pdf","size":100603},{"filename":"attachment12.pdf","content-type":"application/pdf","size":49065},{"filename":"attachment13.pdf","content-type":"application/pdf","size":461493},{"filename":"attachment14.pdf","content-type":"application/pdf","size":40687},{"filename":"attachment15.pdf","content-type":"application/pdf","size":4319353},{"filename":"attachment16.pdf","content-type":"application/pdf","size":439969},{"filename":"attachment17.pdf","content-type":"application/pdf","size":2143279}],"headers":{"message-id":"785D138B454545008553410FC9F5CD78@Wealthmaxvm","from":"<Sony.k@loyaltysolution.co.uk>","to":"<senittaej@gmail.com>","subject":"Policy Documents"},"size":20749907},"recipient":"senittaej@gmail.com","recipient-domain":"gmail.com","tags":[],"storage":{"key":"BAE9AgXgVtQL24XeU2hA-pZe81n4FAmWZA","url":"https://storage-europe-west1.api.mailgun.net/v3/domains/mg.wealthmax.co.uk/messages/BAE9AgXgVtQL24XeU2hA-pZe81n4FAmWZA"},"api-key-id":"postmaster@mg.wealthmax.co.uk","recipient-provider":"Gmail","primary-dkim":"mta._domainkey.mg.wealthmax.co.uk","campaigns":[],"account":{"id":"5eb70ac9fefb1d755b8d8a2d"},"delivery-status":{"attempt-no":1,"code":250,"message":"2.0.0 OK 1793096963 ffacd0b85a97d-48e3eb9c5bfsi19997957f8f.38 - gsmtp","description":"","session-seconds":3.234,"enhanced-code":"2.0.0","mx-host":"gmail-smtp-in.l.google.com","mx-host-ip":"64.233.167.26","certificate-verified":true,"tls":true,"utf8":true,"first-delivery-attempt-seconds":0.593},"domain":{"name":"mg.wealthmax.co.uk"},"envelope":{"sender":"Sony.k@loyaltysolution.co.uk","targets":"senittaej@gmail.com","transport":"smtp","sending-ip":"185.250.239.4"},"user-variables":{}}} Res: {"success":false,"error":{"code":"MAILGUN_INVALID_SIGNATURE","message":"Invalid Mailgun webhook signature."},"timestamp":"2026-10-27T14:34:25.5287742Z"}
2026-10-27 14:34:25.527 +00:00 [ERR] [EXCEPTION] [U:-] [C:b616c6f1c4d7] [T:b55b9d749f1ba7e8551f9e88717cfa69] Unhandled exception on POST /api/mailgun-webhooks/events
Wealthmax_PM_CRM.Common.Exceptions.DomainException: Invalid Mailgun webhook signature. at Wealthmax_PM_CRM.Common.Services.Email.Application.Services.MailgunWebhookIngestionService.ProcessAsync(MailgunWebhookRequestDTO payload, String rawPayloadJson, CancellationToken ct) in /home/vsts/work/1/s/src/Common/Services/Email/Application/Services/MailgunWebhookIngestionService.cs:line 21 at Wealthmax_PM_CRM.Common.Services.Email.API.MailgunWebhookController.ReceiveEventAsync(CancellationToken cancellationToken) in /home/vsts/work/1/s/src/Common/Services/Email/API/MailgunWebhookController.cs:line 52 at lambda_method10035(Closure, Object) at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.AwaitableObjectResultExecutor.Execute(ActionContext actionContext, IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync() --- End of stack trace from previous location --- at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeFilterPipelineAsync() --- End of stack trace from previous location --- at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope) at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context) at Wealthmax_PM_CRM.Common.Tenants.TenantContextMiddleware.InvokeAsync(HttpContext context, ITenantContext tenantContext) in /home/vsts/work/1/s/src/Common/Tenants/TenantContextMiddleware.cs:line 41 at Wealthmax_PM_CRM.BusinessModule.TenantOnboarding.BusinessOnboardingGateMiddleware.InvokeAsync(HttpContext context, AppDbContext db, IMemoryCache cache) in /home/vsts/work/1/s/src/BusinessModule/TenantOnboarding/BusinessOnboardingGateMiddleware.cs:line 42 at Wealthmax_PM_CRM.PlatformModule.Auth.PlatformSecurityContextMiddleware.InvokeAsync(HttpContext context, IPlatformPermissionResolver resolver, IPlatformSecurityContext securityContext) in /home/vsts/work/1/s/src/PlatformModule/Auth/PlatformSecurityContextMiddleware.cs:line 21 at Wealthmax_PM_CRM.BusinessModule.Auth.BusinessSecurityContextMiddleware.InvokeAsync(HttpContext context, IBusinessPermissionResolver resolver, IBusinessSecurityContext securityContext) in /home/vsts/work/1/s/src/BusinessModule/Auth/BusinessSecurityContextMiddleware.cs:line 21 at Wealthmax_PM_CRM.Customer.Auth.CustomerSecurityStampValidationMiddleware.InvokeAsync(HttpContext context, IMemoryCache cache, AppDbContext dbContext) in /home/vsts/work/1/s/src/Customer/Auth/CustomerSecurityStampValidationMiddleware.cs:line 22 at Wealthmax_PM_CRM.BusinessModule.Auth.BusinessSecurityStampValidationMiddleware.InvokeAsync(HttpContext context, IBusinessSecurityStampService stampService) in /home/vsts/work/1/s/src/BusinessModule/Auth/BusinessSecurityStampValidationMiddleware.cs:line 16 at Wealthmax_PM_CRM.Common.Auth.SecurityStampValidationMiddleware.InvokeAsync(HttpContext context, IMemoryCache cache, AppDbContext dbContext) in /home/vsts/work/1/s/src/Common/Auth/SecurityStampValidationMiddleware.cs:line 24 at Wealthmax_PM_CRM.Middleware.LoggingContextMiddleware.InvokeAsync(HttpContext ctx) in /home/vsts/work/1/s/Middleware/LoggingContextMiddleware.cs:line 28 at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context) at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext) at Wealthmax_PM_CRM.Middleware.ExceptionMiddleware.InvokeAsync(HttpContext context) in /home/vsts/work/1/s/Middleware/ExceptionMiddleware.cs:line 32
2026-10-27 14:34:23.315 +00:00 [WRN] [HTTP] [U:-] [C:f870866a771b] [T:322992fb50ca09cb512b7d82af596fc4] HTTP POST /api/mailgun-webhooks/events 401
Req: {"signature":{"token":"61de6159dd57d86679b8ea9528622a67a14427e5b8d8c3f366","timestamp":"1793111663","signature":"192e3c20fc1022523a49852860d4b85515d65d84e30ac1a591f2aac5ad652959"},"event-data":{"event":"failed","id":"odhMKmcgRP2CaEy6_v_shQ","timestamp":1793096960.453549,"flags":{"is-authenticated":true,"is-big":true,"is-routed":false,"is-system-test":false,"is-test-mode":false},"log-level":"error","message":{"attachments":[{"filename":"attachment1.pdf","content-type":"application/pdf","size":3321697},{"filename":"attachment2.pdf","content-type":"application/pdf","size":2255003},{"filename":"attachment3.pdf","content-type":"application/pdf","size":84919},{"filename":"attachment4.pdf","content-type":"application/pdf","size":4319351},{"filename":"attachment5.pdf","content-type":"application/pdf","size":84895},{"filename":"attachment6.pdf","content-type":"application/pdf","size":83795},{"filename":"attachment7.pdf","content-type":"application/pdf","size":226017},{"filename":"attachment8.pdf","content-type":"application/pdf","size":206173},{"filename":"attachment9.pdf","content-type":"application/pdf","size":2144493},{"filename":"attachment10.pdf","content-type":"application/pdf","size":451993},{"filename":"attachment11.pdf","content-type":"application/pdf","size":100603},{"filename":"attachment12.pdf","content-type":"application/pdf","size":49065},{"filename":"attachment13.pdf","content-type":"application/pdf","size":461493},{"filename":"attachment14.pdf","content-type":"application/pdf","size":40687},{"filename":"attachment15.pdf","content-type":"application/pdf","size":4319353},{"filename":"attachment16.pdf","content-type":"application/pdf","size":439969},{"filename":"attachment17.pdf","content-type":"application/pdf","size":2143279}],"headers":{"message-id":"785D138B454545008553410FC9F5CD78@Wealthmaxvm","from":"<Sony.k@loyaltysolution.co.uk>","to":"<senittaej@gmail.com>","subject":"Policy Documents"},"size":20749907},"recipient":"wealthmax.a@gmail.com","recipient-domain":"gmail.com","tags":[],"storage":{"key":"BAE9AgXgVtQL24XeU2hA-pZe81n4FAmWZA","url":"https://storage-europe-west1.api.mailgun.net/v3/domains/mg.wealthmax.co.uk/messages/BAE9AgXgVtQL24XeU2hA-pZe81n4FAmWZA"},"api-key-id":"postmaster@mg.wealthmax.co.uk","recipient-provider":"Gmail","primary-dkim":"mta._domainkey.mg.wealthmax.co.uk","reason":"overquota","severity":"permanent","campaigns":[],"account":{"id":"5eb70ac9fefb1d755b8d8a2d"},"delivery-status":{"attempt-no":1,"code":552,"message":"5.2.2 The recipient's inbox is out of storage space and inactive. Please\n5.2.2 direct the recipient to\n5.2.2 https://support.google.com/mail/?p=OverQuotaPerm ffacd0b85a97d-48e3eb9cd1dsi17973667f8f.15 - gsmtp","description":"","session-seconds":0.558,"enhanced-code":"5.2.2","mx-host":"gmail-smtp-in.l.google.com","mx-host-ip":"64.233.167.26","certificate-verified":true,"tls":true,"utf8":true,"first-delivery-attempt-seconds":0.561,"bounce-type":"soft"},"domain":{"name":"mg.wealthmax.co.uk"},"envelope":{"sender":"Sony.k@loyaltysolution.co.uk","targets":"wealthmax.a@gmail.com","transport":"smtp","sending-ip":"185.250.239.4"},"user-variables":{}}} Res: {"success":false,"error":{"code":"MAILGUN_INVALID_SIGNATURE","message":"Invalid Mailgun webhook signature."},"timestamp":"2026-10-27T14:34:23.3152409Z"}
2026-10-27 14:34:23.313 +00:00 [ERR] [EXCEPTION] [U:-] [C:f870866a771b] [T:322992fb50ca09cb512b7d82af596fc4] Unhandled exception on POST /api/mailgun-webhooks/events
Wealthmax_PM_CRM.Common.Exceptions.DomainException: Invalid Mailgun webhook signature. at Wealthmax_PM_CRM.Common.Services.Email.Application.Services.MailgunWebhookIngestionService.ProcessAsync(MailgunWebhookRequestDTO payload, String rawPayloadJson, CancellationToken ct) in /home/vsts/work/1/s/src/Common/Services/Email/Application/Services/MailgunWebhookIngestionService.cs:line 21 at Wealthmax_PM_CRM.Common.Services.Email.API.MailgunWebhookController.ReceiveEventAsync(CancellationToken cancellationToken) in /home/vsts/work/1/s/src/Common/Services/Email/API/MailgunWebhookController.cs:line 52 at lambda_method10035(Closure, Object) at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.AwaitableObjectResultExecutor.Execute(ActionContext actionContext, IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync() --- End of stack trace from previous location --- at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeFilterPipelineAsync() --- End of stack trace from previous location --- at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope) at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context) at Wealthmax_PM_CRM.Common.Tenants.TenantContextMiddleware.InvokeAsync(HttpContext context, ITenantContext tenantContext) in /home/vsts/work/1/s/src/Common/Tenants/TenantContextMiddleware.cs:line 41 at Wealthmax_PM_CRM.BusinessModule.TenantOnboarding.BusinessOnboardingGateMiddleware.InvokeAsync(HttpContext context, AppDbContext db, IMemoryCache cache) in /home/vsts/work/1/s/src/BusinessModule/TenantOnboarding/BusinessOnboardingGateMiddleware.cs:line 42 at Wealthmax_PM_CRM.PlatformModule.Auth.PlatformSecurityContextMiddleware.InvokeAsync(HttpContext context, IPlatformPermissionResolver resolver, IPlatformSecurityContext securityContext) in /home/vsts/work/1/s/src/PlatformModule/Auth/PlatformSecurityContextMiddleware.cs:line 21 at Wealthmax_PM_CRM.BusinessModule.Auth.BusinessSecurityContextMiddleware.InvokeAsync(HttpContext context, IBusinessPermissionResolver resolver, IBusinessSecurityContext securityContext) in /home/vsts/work/1/s/src/BusinessModule/Auth/BusinessSecurityContextMiddleware.cs:line 21 at Wealthmax_PM_CRM.Customer.Auth.CustomerSecurityStampValidationMiddleware.InvokeAsync(HttpContext context, IMemoryCache cache, AppDbContext dbContext) in /home/vsts/work/1/s/src/Customer/Auth/CustomerSecurityStampValidationMiddleware.cs:line 22 at Wealthmax_PM_CRM.BusinessModule.Auth.BusinessSecurityStampValidationMiddleware.InvokeAsync(HttpContext context, IBusinessSecurityStampService stampService) in /home/vsts/work/1/s/src/BusinessModule/Auth/BusinessSecurityStampValidationMiddleware.cs:line 16 at Wealthmax_PM_CRM.Common.Auth.SecurityStampValidationMiddleware.InvokeAsync(HttpContext context, IMemoryCache cache, AppDbContext dbContext) in /home/vsts/work/1/s/src/Common/Auth/SecurityStampValidationMiddleware.cs:line 24 at Wealthmax_PM_CRM.Middleware.LoggingContextMiddleware.InvokeAsync(HttpContext ctx) in /home/vsts/work/1/s/Middleware/LoggingContextMiddleware.cs:line 28 at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context) at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext) at Wealthmax_PM_CRM.Middleware.ExceptionMiddleware.InvokeAsync(HttpContext context) in /home/vsts/work/1/s/Middleware/ExceptionMiddleware.cs:line 32
2026-10-27 14:34:22.649 +00:00 [WRN] [HTTP] [U:-] [C:c8a6cc16a0af] [T:ddcec91e32cd2f44b61cb795d2e54e6f] HTTP POST /api/mailgun-webhooks/events 401
Req: {"signature":{"token":"25e9825776614c121e9b576b38789bceffe3ed50adb97963f3","timestamp":"1793111662","signature":"33f4b8eea9064efa7f879e62c673f384ab78bdbb8126d1a8c5c852f8f9f45b5e"},"event-data":{"account":{"id":"5eb70ac9fefb1d755b8d8a2d"},"api-key-id":"postmaster@mg.wealthmax.co.uk","domain":{"name":"mg.wealthmax.co.uk"},"envelope":{"sender":"Sony.k@loyaltysolution.co.uk","targets":"wealthmax.a@gmail.com","transport":"smtp"},"event":"accepted","flags":{"is-authenticated":true,"is-routed":false,"is-system-test":false,"is-test-mode":false},"id":"ab1DTyccQrG6aCZTAcCcFg","log-level":"info","message":{"attachments":[{"content-type":"application/pdf","filename":"attachment1.pdf","size":3321697},{"content-type":"application/pdf","filename":"attachment2.pdf","size":2255003},{"content-type":"application/pdf","filename":"attachment3.pdf","size":84919},{"content-type":"application/pdf","filename":"attachment4.pdf","size":4319351},{"content-type":"application/pdf","filename":"attachment5.pdf","size":84895},{"content-type":"application/pdf","filename":"attachment6.pdf","size":83795},{"content-type":"application/pdf","filename":"attachment7.pdf","size":226017},{"content-type":"application/pdf","filename":"attachment8.pdf","size":206173},{"content-type":"application/pdf","filename":"attachment9.pdf","size":2144493},{"content-type":"application/pdf","filename":"attachment10.pdf","size":451993},{"content-type":"application/pdf","filename":"attachment11.pdf","size":100603},{"content-type":"application/pdf","filename":"attachment12.pdf","size":49065},{"content-type":"application/pdf","filename":"attachment13.pdf","size":461493},{"content-type":"application/pdf","filename":"attachment14.pdf","size":40687},{"content-type":"application/pdf","filename":"attachment15.pdf","size":4319353},{"content-type":"application/pdf","filename":"attachment16.pdf","size":439969},{"content-type":"application/pdf","filename":"attachment17.pdf","size":2143279}],"headers":{"from":"<Sony.k@loyaltysolution.co.uk>","message-id":"785D138B454545008553410FC9F5CD78@Wealthmaxvm","subject":"Policy Documents","to":"<senittaej@gmail.com>"},"size":20749907},"method":"SMTP","recipient":"wealthmax.a@gmail.com","recipient-domain":"gmail.com","storage":{"key":"BAE9AgXgVtQL24XeU2hA-pZe81n4FAmWZA","url":"https://storage-europe-west1.api.mailgun.net/v3/domains/mg.wealthmax.co.uk/messages/BAE9AgXgVtQL24XeU2hA-pZe81n4FAmWZA"},"tags":[],"timestamp":1793096959.8943443,"user-variables":{}}} Res: {"success":false,"error":{"code":"MAILGUN_INVALID_SIGNATURE","message":"Invalid Mailgun webhook signature."},"timestamp":"2026-10-27T14:34:22.6489328Z"}
2026-10-27 14:34:22.646 +00:00 [ERR] [EXCEPTION] [U:-] [C:c8a6cc16a0af] [T:ddcec91e32cd2f44b61cb795d2e54e6f] Unhandled exception on POST /api/mailgun-webhooks/events
Wealthmax_PM_CRM.Common.Exceptions.DomainException: Invalid Mailgun webhook signature. at Wealthmax_PM_CRM.Common.Services.Email.Application.Services.MailgunWebhookIngestionService.ProcessAsync(MailgunWebhookRequestDTO payload, String rawPayloadJson, CancellationToken ct) in /home/vsts/work/1/s/src/Common/Services/Email/Application/Services/MailgunWebhookIngestionService.cs:line 21 at Wealthmax_PM_CRM.Common.Services.Email.API.MailgunWebhookController.ReceiveEventAsync(CancellationToken cancellationToken) in /home/vsts/work/1/s/src/Common/Services/Email/API/MailgunWebhookController.cs:line 52 at lambda_method10035(Closure, Object) at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.AwaitableObjectResultExecutor.Execute(ActionContext actionContext, IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync() --- End of stack trace from previous location --- at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeFilterPipelineAsync() --- End of stack trace from previous location --- at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope) at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context) at Wealthmax_PM_CRM.Common.Tenants.TenantContextMiddleware.InvokeAsync(HttpContext context, ITenantContext tenantContext) in /home/vsts/work/1/s/src/Common/Tenants/TenantContextMiddleware.cs:line 41 at Wealthmax_PM_CRM.BusinessModule.TenantOnboarding.BusinessOnboardingGateMiddleware.InvokeAsync(HttpContext context, AppDbContext db, IMemoryCache cache) in /home/vsts/work/1/s/src/BusinessModule/TenantOnboarding/BusinessOnboardingGateMiddleware.cs:line 42 at Wealthmax_PM_CRM.PlatformModule.Auth.PlatformSecurityContextMiddleware.InvokeAsync(HttpContext context, IPlatformPermissionResolver resolver, IPlatformSecurityContext securityContext) in /home/vsts/work/1/s/src/PlatformModule/Auth/PlatformSecurityContextMiddleware.cs:line 21 at Wealthmax_PM_CRM.BusinessModule.Auth.BusinessSecurityContextMiddleware.InvokeAsync(HttpContext context, IBusinessPermissionResolver resolver, IBusinessSecurityContext securityContext) in /home/vsts/work/1/s/src/BusinessModule/Auth/BusinessSecurityContextMiddleware.cs:line 21 at Wealthmax_PM_CRM.Customer.Auth.CustomerSecurityStampValidationMiddleware.InvokeAsync(HttpContext context, IMemoryCache cache, AppDbContext dbContext) in /home/vsts/work/1/s/src/Customer/Auth/CustomerSecurityStampValidationMiddleware.cs:line 22 at Wealthmax_PM_CRM.BusinessModule.Auth.BusinessSecurityStampValidationMiddleware.InvokeAsync(HttpContext context, IBusinessSecurityStampService stampService) in /home/vsts/work/1/s/src/BusinessModule/Auth/BusinessSecurityStampValidationMiddleware.cs:line 16 at Wealthmax_PM_CRM.Common.Auth.SecurityStampValidationMiddleware.InvokeAsync(HttpContext context, IMemoryCache cache, AppDbContext dbContext) in /home/vsts/work/1/s/src/Common/Auth/SecurityStampValidationMiddleware.cs:line 24 at Wealthmax_PM_CRM.Middleware.LoggingContextMiddleware.InvokeAsync(HttpContext ctx) in /home/vsts/work/1/s/Middleware/LoggingContextMiddleware.cs:line 28 at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context) at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext) at Wealthmax_PM_CRM.Middleware.ExceptionMiddleware.InvokeAsync(HttpContext context) in /home/vsts/work/1/s/Middleware/ExceptionMiddleware.cs:line 32
2026-10-27 14:32:38.184 +00:00 [WRN] [GEN] [U:656] [C:2f2274ac4a48] [T:7361b7b06144952289ae6172a41bee8c] Failed to embed tenant logo for TenantId=28; falling back to legacy branding LogoUrl.
System.Net.Http.HttpRequestException: Response status code does not indicate success: 404 (The specified blob does not exist.). at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode() at System.Net.Http.HttpClient.GetByteArrayAsyncCore(HttpRequestMessage request, CancellationToken cancellationToken) at Wealthmax_PM_CRM.BusinessModule.DocumentToken.Application.Services.TenantLogoResolver.ResolveLogoSrcAsync(Int64 tenantId, String legacyLogoUrl, CancellationToken ct) in /home/vsts/work/1/s/src/BusinessModule/DocumentToken/Application/Services/TenantLogoResolver.cs:line 32
2026-10-27 14:32:01.530 +00:00 [WRN] [GEN] [U:902] [C:16c8d7d24500] [T:a0003191f0ed4cf26e8637f95aec2b2f] Twenty7Tec lender sync skipped (status null): Twenty7tec EncryptionKey is not configured. Add 'Twenty7tec:Api:EncryptionKey' to your secrets.
Wealthmax_PM_CRM.BusinessModule.Quoting.Infrastructure.Twenty7tec.Twenty7tecApiException: Twenty7tec EncryptionKey is not configured. Add 'Twenty7tec:Api:EncryptionKey' to your secrets. at Wealthmax_PM_CRM.BusinessModule.Quoting.Infrastructure.Twenty7tec.Auth.Twenty7tecAuthHandler.ApplyPanelAuth(HttpRequestMessage request) in /home/vsts/work/1/s/src/BusinessModule/Quoting/Infrastructure/Twenty7tec/Auth/Twenty7tecAuthHandler.cs:line 77 at Wealthmax_PM_CRM.BusinessModule.Quoting.Infrastructure.Twenty7tec.Auth.Twenty7tecAuthHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) in /home/vsts/work/1/s/src/BusinessModule/Quoting/Infrastructure/Twenty7tec/Auth/Twenty7tecAuthHandler.cs:line 39 at Microsoft.Extensions.Http.Logging.LoggingScopeHttpMessageHandler.<SendCoreAsync>g__Core|4_0(HttpRequestMessage request, Boolean useAsync, CancellationToken cancellationToken) at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken) at Wealthmax_PM_CRM.BusinessModule.Quoting.Infrastructure.Twenty7tec.Twenty7tecApiClient.GetLendersAsync(CancellationToken ct) in /home/vsts/work/1/s/src/BusinessModule/Quoting/Infrastructure/Twenty7tec/Twenty7tecApiClient.cs:line 144 at Wealthmax_PM_CRM.PlatformModule.ProductManagement.Application.Services.LenderService.SyncTwenty7TecLendersAsync(CancellationToken ct) in /home/vsts/work/1/s/src/PlatformModule/ProductManagement/Application/Services/LenderService.cs:line 54
2026-10-27 14:32:01.422 +00:00 [WRN] [HTTP] [U:902] [C:96670b005a19] [T:61d51392368390855531b855217f290c] HTTP GET /api/v1/business/cases/team/case-owners 403
Req: [no body] Res: {"success":false,"error":{"code":"FORBIDDEN","message":"You do not have permission to perform this action."},"timestamp":"2026-10-27T14:32:01.4228057Z"}
2026-10-27 14:32:01.422 +00:00 [WRN] [AUTHZ] [U:902] [C:96670b005a19] [T:61d51392368390855531b855217f290c] Denied Business.case_management.team_cases.View on GET /api/v1/business/cases/team/case-owners for User=902 Tenant=28 Reason=NoGrant
2026-10-27 14:30:56.955 +00:00 [WRN] [GEN] [U:943] [C:df1b9ef4324d] [T:a3e8946fbe533b5f4673c16b9d04d856] Compiling a query which loads related collections for more than one collection navigation, either via 'Include' or through projection, but no 'QuerySplittingBehavior' has been configured. By default, Entity Framework will use 'QuerySplittingBehavior.SingleQuery', which can potentially result in slow query performance. See https://go.microsoft.com/fwlink/?linkid=2134277 for more information. To identify the query that's triggering this warning call 'ConfigureWarnings(w => w.Throw(RelationalEventId.MultipleCollectionIncludeWarning))'.
2026-10-27 14:30:38.584 +00:00 [WRN] [GEN] [U:943] [C:9af7299b5f38] [T:7f418c189c64ea47eee36a9980307687] Compiling a query which loads related collections for more than one collection navigation, either via 'Include' or through projection, but no 'QuerySplittingBehavior' has been configured. By default, Entity Framework will use 'QuerySplittingBehavior.SingleQuery', which can potentially result in slow query performance. See https://go.microsoft.com/fwlink/?linkid=2134277 for more information. To identify the query that's triggering this warning call 'ConfigureWarnings(w => w.Throw(RelationalEventId.MultipleCollectionIncludeWarning))'.