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