Add rate plans, room stay rates, and payments ledger
All checks were successful
build-and-deploy / build-deploy (push) Successful in 34s

This commit is contained in:
androidlover5842
2026-01-29 04:56:37 +05:30
parent b6ac87d277
commit 71c70c8554
24 changed files with 902 additions and 4 deletions

View File

@@ -48,14 +48,16 @@ Security/Auth
Domain entities
- Property: code, name, addressText, emailAddresses, otaAliases, allowedTransportModes.
- AppUser (global, superAdmin), PropertyUser (roles per property).
- RoomType: code/name/occupancy + otaAliases.
- RoomType: code/name/occupancy + otaAliases + defaultRate.
- Room: roomNumber, floor, hasNfc, active, maintenance, notes.
- Booking: status, expected check-in/out, emailAuditPdfUrl, transportMode.
- Guest (property-scoped).
- RoomStay.
- RoomStay (rate fields stored on stay).
- RoomStayChange (idempotent room move).
- IssuedCard (cardId, cardIndex, issuedAt, expiresAt, issuedBy, revokedAt).
- PropertyCardCounter (per-property cardIndex counter).
- RatePlan + RateCalendar.
- Payment (ledger).
- GuestDocument (files + AI-extracted json).
- GuestVehicle (property-scoped vehicle numbers).
- InboundEmail (audit PDF + raw EML, extracted json, status).
@@ -88,6 +90,7 @@ Rooms / inventory
Room types
- POST /properties/{propertyId}/room-types
- GET /properties/{propertyId}/room-types
- GET /properties/{propertyId}/room-types/{roomTypeCode}/rate?date=YYYY-MM-DD&ratePlanCode=optional
- PUT /properties/{propertyId}/room-types/{roomTypeId}
- DELETE /properties/{propertyId}/room-types/{roomTypeId}
@@ -117,6 +120,23 @@ Guest APIs
- /properties/{propertyId}/guests/search?phone=... or ?vehicleNumber=...
- /properties/{propertyId}/guests/{guestId}/vehicles (add vehicle)
Room stays
- POST /properties/{propertyId}/room-stays/{roomStayId}/change-rate
Rate plans
- POST /properties/{propertyId}/rate-plans
- GET /properties/{propertyId}/rate-plans
- PUT /properties/{propertyId}/rate-plans/{ratePlanId}
- DELETE /properties/{propertyId}/rate-plans/{ratePlanId}
- POST /properties/{propertyId}/rate-plans/{ratePlanId}/calendar
- GET /properties/{propertyId}/rate-plans/{ratePlanId}/calendar?from=YYYY-MM-DD&to=YYYY-MM-DD
- DELETE /properties/{propertyId}/rate-plans/{ratePlanId}/calendar/{rateDate}
Payments
- POST /properties/{propertyId}/bookings/{bookingId}/payments
- GET /properties/{propertyId}/bookings/{bookingId}/payments
- GET /properties/{propertyId}/bookings/{bookingId}/balance
Guest documents
- /properties/{propertyId}/guests/{guestId}/documents (upload/list)
- /properties/{propertyId}/guests/{guestId}/documents/{documentId}/file