2026-09-12
-
Customer Onboarding Passport Pre-Verification & Auto-Store:
- 3-Way Pre-Verification Check: Upgraded Step 1 of Customer Onboarding to require NIC Number, Passport Number, and Primary Phone before customer profile creation unlocks.
- Multi-Field Duplicate Lookup (
/api/v1/customers/check-duplicate): Backend now checks against existing customers across primary passport, dual passport, NIC, and primary phone, returning precise match context (matchedOn: 'passportNumber'). - Identity Locking & Form Pre-Filling: Verified identity fields (NIC, Passport Number, Primary Phone) are locked and disabled once verified (
disabled={true}). The passport number is automatically prefilled and disabled across subsequent customer profile and passport detail filling steps. - Global Search Extension:
CustomerRepository.globalSearchnow searches across both primary and dual passport numbers in real time.
-
Invoice Settlement & Finalisation Guarantee (
is_finalised):- Strict Commercial Invariant: Visas and flight bookings are only confirmed as finalized (
is_finalised = truewith a green checkmark) when operational fulfillment is completed and all linked single or group invoices are completely settled (status == PAID). - Bidirectional Invoicing Sync (
syncFinalizationForInvoice): Creating an unpaid invoice immediately revokes finalized status, while settling payment via receipt automatically marks linked flight and visa requests as finalized.
- Strict Commercial Invariant: Visas and flight bookings are only confirmed as finalized (
-
Staff Utilities Interactive Drag & Drop:
- Drag-and-Drop Dropzone: Added native drag-and-drop file upload to the Staff Utilities & Templates Hub modal with real-time visual feedback, automatic clean title generation, format validation (Word, PDF, Excel, images up to 25MB), and 1-click removal.
Last updated on