Aller au contenu principal

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ètreTypeDescription
qstringTerme de recherche
checkindateDate d'arrivée
checkoutdateDate de départ
guestsintNombre de voyageurs
min_pricefloatPrix minimum
max_pricefloatPrix maximum
typestringType de propriété
amenitiesarrayÉ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

ChampTypeRequisDescription
internal_namestringOuiNom interne
public_namestringOuiNom public
typestringOuiType de propriété
descriptionstringOuiDescription
addressstringOuiAdresse
city_idintOuiID de la ville
country_idintOuiID du pays
capacityintOuiCapacité max
bedroomsintOuiNombre de chambres
bathroomsintOuiNombre de SDB
base_pricefloatOuiPrix par nuit
cleaning_feefloatNonFrais de ménage
check_in_timetimeOuiHeure d'arrivée
check_out_timetimeOuiHeure de départ
medias[]fileOuiPhotos (min 5)
commodities[]intNonIDs 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"
}