Adjust booking create and link guest vehicles to booking
All checks were successful
build-and-deploy / build-deploy (push) Successful in 35s

This commit is contained in:
androidlover5842
2026-01-29 03:54:34 +05:30
parent ec3c7891a4
commit a5d166e184
5 changed files with 44 additions and 19 deletions

View File

@@ -65,13 +65,15 @@ class BookingFlow(
throw ResponseStatusException(HttpStatus.BAD_REQUEST, "Invalid date range")
}
val now = OffsetDateTime.now()
val now = nowForProperty(property.timezone)
val shouldCheckIn = !expectedCheckInAt.isBefore(now)
val booking = com.android.trisolarisserver.models.booking.Booking(
property = property,
status = BookingStatus.OPEN,
status = if (shouldCheckIn) BookingStatus.CHECKED_IN else BookingStatus.OPEN,
source = request.source?.trim().takeIf { !it.isNullOrBlank() } ?: "WALKIN",
expectedCheckinAt = expectedCheckInAt,
expectedCheckoutAt = expectedCheckOutAt,
checkinAt = if (shouldCheckIn) expectedCheckInAt else null,
expectedCheckinAt = if (shouldCheckIn) null else expectedCheckInAt,
expectedCheckoutAt = if (shouldCheckIn) null else expectedCheckOutAt,
transportMode = request.transportMode?.let {
val mode = parseTransportMode(it)
if (!isTransportModeAllowed(property, mode)) {
@@ -79,7 +81,6 @@ class BookingFlow(
}
mode
},
transportVehicleNumber = request.transportVehicleNumber,
adultCount = request.adultCount,
totalGuestCount = request.totalGuestCount,
notes = request.notes,
@@ -91,8 +92,9 @@ class BookingFlow(
return BookingCreateResponse(
id = saved.id!!,
status = saved.status.name,
expectedCheckInAt = expectedCheckInAt.toString(),
expectedCheckOutAt = expectedCheckOutAt.toString()
checkInAt = saved.checkinAt?.toString(),
expectedCheckInAt = saved.expectedCheckinAt?.toString(),
expectedCheckOutAt = saved.expectedCheckoutAt?.toString()
)
}