Using syncfusion_flutter_datepicker to disable already booked dates (fetch from Firestore).
// bookings/bookingId
1. Why Flutter for an Airbnb-Scale App? Airbnb’s core needs—high-performance maps, smooth animations, complex state management, and a single codebase for two stores—make Flutter an excellent choice.
bookingId, listingId, authorId, rating, comment, createdAt
name, email, avatar, bio, isHost, joinedAt
hostId, title, description, location (GeoPoint), address, pricePerNight, cleaningFee, guestsAllowed, amenities: [wifi, kitchen, pool], images: [url1, url2], bookedDates: [timestamp1, timestamp2], createdAt
// listings/listingId
// messages/chatRoomId/messages/messageId
listingId, guestId, checkIn, checkOut, totalPrice, status: 'pending'