Chuyển tới nội dung chính

Implementation Summary

Tóm tắt các tính năng đã được triển khai trong hệ thống Cohost.

Tính năng chính​

1. Hourly Booking System​

Hỗ trợ đặt phòng theo giờ với các tùy chọn linh hoạt:

  • Số giờ tối thiểu (1–4 giờ)
  • Giá cho số giờ đầu tiên và giá mỗi giờ tiếp theo
  • Combo giờ (ví dụ: 3 giờ = 250k, 5 giờ = 350k)
  • Hệ số giá đặt trong ngày (1x / 1.5x / 2x)
  • Giảm giá đặt qua đêm muộn (0–70%)

2. Listing Policies​

Chính sách chi tiết cho từng listing:

  • Quy tắc chỗ ở (thức ăn ngoài, tiệc, hút thuốc, chụp ảnh, thú cưng, CMND)
  • Giờ yên tĩnh (quiet_time_start / quiet_time_end)
  • Quy tắc hoàn tiền (refund_rule)
  • Nội quy khác (other_rules)

3. Pricing System​

  • Giá theo từng ngày trong tuần (7 ngày)
  • Quản lý hoa hồng (standard 20% / minimum 15%)
  • Tính giá động theo loại đặt phòng
  • Preview giá trước khi xác nhận

4. Calendar Synchronization​

  • Đồng bộ iCal với các nền tảng bên ngoài
  • Tích hợp Airbnb calendar
  • Background sync tự động mỗi 15 phút (Celery)

5. Amenities Management​

  • Tiện ích phân theo category (nhóm)
  • Hỗ trợ tiện ích riêng tư và có tính phí
  • Cấu trúc phân cấp (category → amenity)

6. Listing Validation​

  • Endpoint preview để validate trước khi tạo
  • Validation chi tiết theo từng bước
  • Phân biệt lỗi (errors) và cảnh báo (warnings)

Celery Background Tasks​

TaskMô tảTần suất
sync_ical_calendarsĐồng bộ iCal URLsMỗi 15 phút
sync_airbnb_calendarĐồng bộ AirbnbMỗi 15 phút
sync_all_listings_calendarsĐồng bộ tất cả listingMỗi 15 phút

API Endpoints mới​

MethodEndpointMô tả
POST/api/v1/listings/previewPreview & validate listing
POST/api/v1/listings/{id}/pricing/weeklyCập nhật giá theo tuần
PATCH/api/v1/listings/{id}/commissionCập nhật hoa hồng
PATCH/api/v1/listings/{id}/policiesCập nhật chính sách
GET/api/v1/amenitiesDanh sách tiện ích
POST/api/v1/listings/{id}/calendar/icalThêm iCal URL
POST/api/v1/listings/{id}/calendar/airbnbSync Airbnb