Capture the property title that will be displayed to potential guests across all booking channels.
Provide visual context by showing room cards with photos, allowing landlords to click back to edit room photos if needed.
The title is crucial for search ranking, guest expectations, and channel distribution optimization.
UX Flow (What the user sees)
1
Room cards
A horizontal scrollable row of room cards showing cover images, room names, and photo counts. Each room card is clickable and navigates back to the photo upload step for that specific room.
2
Title input
A large, centered title input field with custom styling that emphasizes the importance of the title.
3
Validation & Next
Real-time validation ensures a title is provided before proceeding. "Next" validates the title and submits the update.
![[Desktop 8.png]]
System Flow (How it works)
sequenceDiagram actor Landlord participant Frontend as Web App (Next.js) participant Backend as API (NestJS) participant DB as Database Landlord->>Frontend: View room cards with photos Frontend->>Frontend: Load rooms and associated images from property data alt Click room card to edit photos Landlord->>Frontend: Click room card Frontend->>Frontend: Add 'pr' query param with room ID Frontend->>Frontend: Navigate back to photo upload step end Landlord->>Frontend: Enter property title Frontend->>Frontend: Real-time validation (title required) Landlord->>Frontend: Click "Next" Frontend->>Frontend: Validate title is not empty Frontend->>Backend: PATCH /api/properties/{propertyId} { propertyDetails: { title } } Backend->>DB: Update properties.propertyDetails.title Backend-->>Frontend: 200 OK Frontend->>Backend: PATCH /api/users/{userId} { onboardingStep: user.onboardingStep + 1 } Backend->>DB: Update users.onboardingStep Backend-->>Frontend: 200 OK Frontend->>Backend: GET /api/properties (refetch) Backend-->>Frontend: 200 OK { properties: [...] } Frontend->>Frontend: Advance to description step
Data Touched
users
Read: id, onboardingStep
Write: onboardingStep (+1 on success)
properties.propertyDetails
Write: title (string)
properties.propertyRooms
Read: Room data with associated images for display