Aller au contenu

Modèles de données

Category

Champ Type Description
id integer Identifiant unique
name string Nom de la catégorie
parentId integer | null ID de la catégorie parente. null = catégorie racine (occasion)
occasion string Type d'occasion : entertainment, gift, birthday, business, bachelor-party, internship, b2b_location

Listing

Champs requis : id, slug, title, pictureUrl, atHome, isInstant, minPerson, maxPerson, displayListingEndTime, listingItems, checkoutLinks, status, updated.

Champ Type Description
id integer Identifiant unique
slug string Slug URL
title string Titre de l'activité
pictureUrl string URL de l'image principale
description string? Description de l'activité
atHome boolean L'activité se déroule au domicile du client
isInstant boolean Confirmation immédiate (sans validation du pro)
minPerson number Nombre minimum de participants
maxPerson number Nombre maximum de participants
displayListingEndTime boolean Afficher l'heure de fin
status integer Statut du listing
averageRating number? Note moyenne
ratingCount integer? Nombre d'avis
duration object? Durée : hours, minutes, real_time (en minutes)
minAge integer? Age minimum. 0 = non renseigné
maxAge integer? Age maximum. 0 = non renseigné
isTopSales boolean? Fait partie des meilleures ventes
isNew boolean? Activité récente sur la plateforme
categories Category[]? Catégories associées
address Address? Adresse de l'activité
latitude float? Latitude
longitude float? Longitude
funpro ShortFunpro? Prestataire
listingItems ListingItem[] Variantes tarifaires
cancellationPolicy CancellationPolicy? Politique d'annulation
specialCondition string? Conditions particulières
checkoutLinks CheckoutLink[] Liens de réservation
updated datetime Date de dernière mise à jour

ListingItem

Champ Type Description
id integer Identifiant unique
listingId integer ID du listing parent
label string Libellé (ex: "Adulte", "Enfant", "Groupe de 10")
description string? Description
price integer Prix en centimes
priceType string per_person, plan, ou option
isOption boolean Option supplémentaire (ex: pack photo)
isDisabled boolean Item désactivé
minCapacity integer Quantité minimum
maxCapacity integer Quantité maximum
numberOfPersons integer Nombre de personnes incluses
durationTime integer? Durée en minutes

Address

Champ Type Description
city string Ville
country string Pays
route string? Rue
streetNumber string? Numéro
zip string? Code postal

ShortFunpro

Champ Type Description
id integer Identifiant du prestataire
name string Nom
pictureUrl string URL de la photo de profil

CancellationPolicy

Champ Type Description
count integer Nombre d'heures ou de jours
timeUnit string? hour ou days

Champ Type Description
href string URL de réservation
shortLabel string Libellé du lien (ex: "Réserver", "Offrir un bon cadeau")

GiftCardItem

Champ Type Description
code string Code unique (format XXXX-XXXX-XXXX)
amount integer Montant en centimes
expirationDate string Date d'expiration (YYYY-MM-DD), 1 an après création
status string available, used, expired, ou canceled
partnerReference string Votre référence de vente
usageUrl string URL d'utilisation pour le bénéficiaire

VoucherItem

Objet envoyé dans le body de POST /voucher/create.

Champ Type Description
listingItemId integer ID de l'option tarifaire
quantity integer Quantité
unitPrice integer Prix unitaire en centimes

VoucherResponse

Champ Type Description
voucherCode string Code du bon
bookingUrl string URL de réservation pour le bénéficiaire
price Money Prix total

Money

Champ Type Description
amount number Montant en euros (ex: 50.00)
currency string Devise (EUR)

Pagination

Champ Type Description
page integer Page courante
pageCount integer Nombre total de pages
totalItems integer Nombre total de résultats
perPage integer Résultats par page

SearchResponse

Champ Type Description
hits ResponseHit[] Résultats de recherche
nbHits integer Nombre total de résultats
page integer Page courante
nbPages integer Nombre de pages
hitsPerPage integer Résultats par page
query string Requête envoyée
pagination object Pagination : pages_count (integer), page (integer)

ResponseHit

Format retourné par le moteur de recherche (diffère du format Listing).

Champs requis : title, price, image_name, categories.

Champ Type Description
id integer ID du listing
title string Titre
slug string Slug URL
type string Occasion (entertainment, birthday, etc.)
price integer Prix en centimes
image_name string Nom de l'image (Cloudinary)
teaser string Présentation courte
priceFrom string Description du prix (ex: "12 enfants")
status integer Statut : 1 (new), 2 (published), 4 (suspended), 5 (deleted), 6 (under review)
averageRating integer Note moyenne
commentCount integer Nombre d'avis
minAge integer Age minimum
maxAge integer Age maximum
home boolean Activité à domicile
isTopSales boolean Fait partie des meilleures ventes
isNew boolean Activité récente sur la plateforme
onDiscount integer Pourcentage de réduction
duration object Durée : hours, minutes, real_time
departments integer[] Départements où l'activité est disponible
videoUrl string URL de la vidéo
sort_scoring integer Score de pertinence Algolia
objectID string Référence Algolia (correspond à l'ID du listing)
user_picture string Photo de profil du prestataire
_geoloc object Géolocalisation : lat, lng, department_code, city, zip
categories object[] Catégories avec root, parent, id, name, short_name, occasion, lvl, isLeaf
user object[] Prestataire : name, average_offerer_rating