I need to introduce a welcome coupon for first-time users in my Flutter-based hotel booking app. The coupon must give a percentage discount and be restricted to room bookings only. As soon as a new user completes registration, my backend (Java full-stack) should trigger an email confirmation that contains the unique coupon code and the discount details. The work touches both layers: Flutter for the UI/UX changes and Java for the business logic and persistence. I already have the booking flow, user registration, and email service in place; your job is to add the coupon logic end-to-end, wire it into the existing APIs, and expose any needed admin toggles or parameters so that the discount rate can be adjusted later without a new deploy. Deliverables • Flutter widgets/screens modified so that the coupon field appears during the room-booking checkout and validates in real time • Java (Spring) service, controller, and DAO additions to – identify first-time users – generate and store single-use coupon codes – mark codes as redeemed on successful payment • Email template update and trigger tied to successful registration, embedding the generated code and percentage value • Unit tests for the coupon service plus a walkthrough video or short doc showing the flow from sign-up to discounted booking • Brief hand-off notes outlining where to tweak the percentage later Acceptance criteria A. New users receive the email with a working, unique coupon. B. Coupon applies only once and only to room bookings; other flows ignore it gracefully. C. Incorrect or reused codes prompt a clear error message in the Flutter UI. D. Code merges cleanly into my Github repo and passes the existing CI pipeline. If you are comfortable moving between Flutter and a Java full stack, I’m ready to give you repo access right away.