Propriétés
Routes publiques
Liste des propriétés
GET /properties/public?page=1&per_page=15
Propriétés recommandées
GET /properties/recommended
Propriétés populaires
GET /properties/popular
Recherche
GET /properties/search?q=paris&checkin=2024-06-01&checkout=2024-06-07
Paramètres de recherche
| Paramètre | Type | Description |
|---|---|---|
| q | string | Terme de recherche |
| checkin | date | Date d'arrivée |
| checkout | date | Date de départ |
| guests | int | Nombre de voyageurs |
| min_price | float | Prix minimum |
| max_price | float | Prix maximum |
| type | string | Type de propriété |
| amenities | array | Équipements requis |
Filtrer les propriétés
GET /properties/filter
Détail d'une propriété
GET /properties/{property_id}
Réponse
{
"success": true,
"data": {
"id": 1,
"internal_name": "Appartement Paris Centre",
"public_name": "Charmant appartement au cœur de Paris",
"type": "apartment",
"description": "...",
"address": "123 Rue de Rivoli",
"location": "Paris, France",
"capacity": 4,
"bedrooms": 2,
"bathrooms": 1,
"square_footage": 65,
"base_price": "120.00",
"cleaning_fee": "50.00",
"check_in_time": "15:00",
"check_out_time": "11:00",
"rating": "4.8",
"medias": [...],
"commodities": [...],
"seasons": [...],
"user": { ... }
}
}
Routes authentifiées
Favoris
Ajouter/Retirer des favoris
POST /properties/{id}/favorite
Authorization: Bearer <token>
Liste des favoris
GET /properties/get/favorites
Authorization: Bearer <token>
Rechercher dans les favoris
GET /properties/favorites/search?q=paris
Authorization: Bearer <token>
Gestion des propriétés (Propriétaire)
Créer une propriété
POST /properties
Authorization: Bearer <token>
Content-Type: multipart/form-data
Body
| Champ | Type | Requis | Description |
|---|---|---|---|
| internal_name | string | Oui | Nom interne |
| public_name | string | Oui | Nom public |
| type | string | Oui | Type de propriété |
| description | string | Oui | Description |
| address | string | Oui | Adresse |
| city_id | int | Oui | ID de la ville |
| country_id | int | Oui | ID du pays |
| capacity | int | Oui | Capacité max |
| bedrooms | int | Oui | Nombre de chambres |
| bathrooms | int | Oui | Nombre de SDB |
| base_price | float | Oui | Prix par nuit |
| cleaning_fee | float | Non | Frais de ménage |
| check_in_time | time | Oui | Heure d'arrivée |
| check_out_time | time | Oui | Heure de départ |
| medias[] | file | Oui | Photos (min 5) |
| commodities[] | int | Non | IDs des équipements |
Mettre à jour une propriété
PUT /properties/{id}
Authorization: Bearer <token>
Supprimer une propriété
DELETE /properties/{id}
Authorization: Bearer <token>
Calendrier et disponibilités
Obtenir les disponibilités
GET /calendars/properties/{property_id}/availability?start=2024-06-01&end=2024-06-30
Authorization: Bearer <token>
Bloquer des dates
POST /calendars/properties/{property_id}/bulk
Authorization: Bearer <token>
{
"action": "block",
"dates": ["2024-06-15", "2024-06-16", "2024-06-17"]
}
Fermer des dates
POST /calendars/properties/{property_id}/close
Authorization: Bearer <token>
{
"start_date": "2024-06-15",
"end_date": "2024-06-20",
"reason": "Travaux"
}