From 93ac0dbc9e2d20eb68eff8fa2764f360ba8fd9ba Mon Sep 17 00:00:00 2001 From: androidlover5842 Date: Sun, 1 Feb 2026 01:55:29 +0530 Subject: [PATCH] Store DOB in guest age and return in booking detail --- .../component/DocumentExtractionService.kt | 8 ++++++++ .../trisolarisserver/controller/BookingSnapshotBuilder.kt | 1 + .../trisolarisserver/controller/dto/BookingDtos.kt | 1 + .../com/android/trisolarisserver/models/booking/Guest.kt | 3 +++ 4 files changed, 13 insertions(+) diff --git a/src/main/kotlin/com/android/trisolarisserver/component/DocumentExtractionService.kt b/src/main/kotlin/com/android/trisolarisserver/component/DocumentExtractionService.kt index aadb994..14ec59e 100644 --- a/src/main/kotlin/com/android/trisolarisserver/component/DocumentExtractionService.kt +++ b/src/main/kotlin/com/android/trisolarisserver/component/DocumentExtractionService.kt @@ -550,6 +550,7 @@ class DocumentExtractionService( ) { val extractedName = cleanedValue(results[DocumentPrompts.NAME.first]) val extractedAddress = cleanedValue(results[DocumentPrompts.ADDRESS.first]) + val extractedDob = cleanedValue(results[DocumentPrompts.DOB.first]) val resolvedCountry = if (results["geoResolved"] != null) "India" else null val guestIdValue = document.guest.id if (guestIdValue != null && (extractedName != null || extractedAddress != null)) { @@ -564,6 +565,13 @@ class DocumentExtractionService( guestEntity.addressText = extractedAddress updated = true } + if (guestEntity.age.isNullOrBlank() && extractedDob != null) { + val dob = parseDob(extractedDob) + if (dob != null) { + guestEntity.age = dob.format(DateTimeFormatter.ofPattern("dd/MM/yyyy")) + updated = true + } + } if (guestEntity.nationality.isNullOrBlank() && resolvedCountry != null) { guestEntity.nationality = resolvedCountry updated = true diff --git a/src/main/kotlin/com/android/trisolarisserver/controller/BookingSnapshotBuilder.kt b/src/main/kotlin/com/android/trisolarisserver/controller/BookingSnapshotBuilder.kt index 533212f..f2272d3 100644 --- a/src/main/kotlin/com/android/trisolarisserver/controller/BookingSnapshotBuilder.kt +++ b/src/main/kotlin/com/android/trisolarisserver/controller/BookingSnapshotBuilder.kt @@ -59,6 +59,7 @@ class BookingSnapshotBuilder( guestPhone = guest?.phoneE164, guestNationality = guest?.nationality, guestAddressText = guest?.addressText, + guestAge = guest?.age, guestSignatureUrl = signatureUrl, vehicleNumbers = vehicleNumbers, roomNumbers = roomNumbers, diff --git a/src/main/kotlin/com/android/trisolarisserver/controller/dto/BookingDtos.kt b/src/main/kotlin/com/android/trisolarisserver/controller/dto/BookingDtos.kt index 385c462..b9238cd 100644 --- a/src/main/kotlin/com/android/trisolarisserver/controller/dto/BookingDtos.kt +++ b/src/main/kotlin/com/android/trisolarisserver/controller/dto/BookingDtos.kt @@ -84,6 +84,7 @@ data class BookingDetailResponse( val guestPhone: String?, val guestNationality: String?, val guestAddressText: String?, + val guestAge: String?, val guestSignatureUrl: String?, val vehicleNumbers: List, val roomNumbers: List, diff --git a/src/main/kotlin/com/android/trisolarisserver/models/booking/Guest.kt b/src/main/kotlin/com/android/trisolarisserver/models/booking/Guest.kt index f5dd291..5858181 100644 --- a/src/main/kotlin/com/android/trisolarisserver/models/booking/Guest.kt +++ b/src/main/kotlin/com/android/trisolarisserver/models/booking/Guest.kt @@ -29,6 +29,9 @@ class Guest( @Column(name = "address_text") var addressText: String? = null, + @Column(name = "age") + var age: String? = null, + @Column(name = "signature_path") var signaturePath: String? = null,