Catalogs & Amenities
Catalogs
Catalogs là dữ liệu tham chiếu tập trung cho các loại danh mục trong hệ thống. Thay vì hardcode enum, tất cả dữ liệu master được quản lý qua API này.
Endpoint
GET /api/v1/catalogs
GET /api/v1/catalogs?catalog_type=property_type
GET /api/v1/catalogs?catalog_type=listing_type&active_only=true
Response
{
"items": [
{
"id": 1,
"catalog_type": "property_type",
"code": "house",
"name_vi": "Nhà riêng",
"name_en": "House",
"icon": "🏠",
"display_order": 1,
"is_active": true
}
]
}
Catalog Types
property_type — Loại bất động sản
| Code | Tên tiếng Việt |
|---|---|
house | Nhà riêng |
condo | Căn hộ chung cư |
villa | Biệt thự |
resort | Resort |
bungalow | Bungalow |
farmstay | Farmstay |
hotel | Khách sạn |
campsite | Khu cắm trại |
treehouse | Nhà trên cây |
service_building | Tòa nhà dịch vụ |
penthouse | Penthouse |
listing_type — Hình thức cho thuê
| Code | Mô tả |
|---|---|
ENTIRE_PLACE | Toàn bộ không gian |
PRIVATE_ROOM | Phòng riêng |
SHARED_ROOM | Phòng chung |
view_type — Tầm nhìn
| Code | Tên |
|---|---|
beach | Biển |
mountain_hill | Núi/Đồi |
lake | Hồ |
city | Thành phố |
countryside | Nông thôn |
river | Sông |
garden | Vườn |
pool | Hồ bơi |
park | Công viên |
forest | Rừng |
Caching
Catalogs được cache 24 giờ. Dữ liệu ít thay đổi nên có thể cache phía client.
Amenities
Tiện ích được tổ chức theo nhóm (category).
Endpoint
GET /api/v1/amenities
GET /api/v1/amenities?category_id=1
Nhóm tiện ích
| Nhóm | Ví dụ |
|---|---|
| Phòng tắm | Máy sấy tóc, khăn tắm, dầu gội |
| Giải trí | TV, Netflix, máy chiếu, board game |
| Làm mát/sưởi | Điều hòa, quạt, sưởi |
| An toàn | Detector khói, camera ngoài, két sắt |
| Phòng ngủ & Giặt | Máy giặt, máy sấy, bàn là |
| Bếp | Tủ lạnh, lò vi sóng, bếp từ, nồi cơm |
| Ngoài trời | Bãi đỗ xe, hồ bơi, BBQ, sân vườn |
Sử dụng khi tạo listing
{
"amenities": [
{
"amenity_id": 1,
"is_private": false,
"is_chargeable": false,
"price": null
},
{
"amenity_id": 15,
"is_private": true,
"is_chargeable": true,
"price": 50000
}
]
}
| Field | Mô tả |
|---|---|
is_private | Tiện ích riêng tư (chỉ phòng đó dùng) |
is_chargeable | Có tính phí thêm |
price | Giá nếu is_chargeable = true |