Un loueur en Savoie, 25 chalets, 350 séjours par an
Le client opère 25 hébergements répartis entre Aix-les-Bains, Albertville et la vallée de la Tarentaise. Public international (FR, EN, DE, IT, NL), pic à Noël et en février, un livret d'accueil papier différent pour chaque chalet, des QR codes vers des PDF Google Drive, et beaucoup d'appels de locataires perdus dans le chalet à 22 h pour comprendre comment fonctionne le poêle.
2 h de support téléphonique par séjour, taux de réservation directe sous 40 %
Trois douleurs cumulées : 1) une charge de support qui empêche le développement commercial, 2) un taux de réservation directe trop faible (commissions Booking/Airbnb >18 %), 3) aucune donnée d'usage exploitable pour optimiser l'offre. Les outils du marché (Channel Manager type Smoobu) gèrent les disponibilités mais pas l'expérience pendant le séjour.
Une PWA Symfony multi-tenants connectée au Channel Manager existant
Architecture Symfony + API Platform côté back, PWA installable côté front (Stimulus + Turbo, sans framework SPA). Multi-tenants par sous-domaine avec un thème par chalet. Synchronisation iCal bidirectionnelle avec Smoobu et Avantio via une commande Symfony Messenger toutes les 15 minutes. Génération de PDF dynamique (livret au format imprimable) côté serveur. Multi-langue 5 langues via gestion native Symfony, pas de plugin tiers.
// src/Booking/Synchronisation/SmoobuExtractor.php
final class SmoobuExtractor implements ChannelExtractorInterface
{
public function __construct(
private readonly HttpClientInterface $http,
private readonly BookingDeduplicator $dedup,
) {}
public function extract(Property $p): iterable
{
$resp = $this->http->request('GET', '/api/reservations', [
'query' => ['apartmentId' => $p->getSmoobuId()],
]);
foreach ($resp->toArray()['bookings'] as $b) {
yield $this->dedup->upsert(BookingDTO::fromSmoobu($b));
}
}
}
Stack : Symfony · API Platform · Doctrine · PostgreSQL · Redis · Stimulus · Mercure (notifications temps réel) · S3 (médias)
−65 % d'appels support, +28 % de rebooking direct
Le livret numérique répond aux 80 % de questions récurrentes (Wi-Fi, poêle, ramassage poubelles, recommandations restos). Les rebookings directs passent de 38 % à 49 %, ce qui représente l'équivalent d'un onzième mois de saison sans coût d'acquisition. ROI atteint en moins de 6 mois.