Aller au contenu

Nous envoyer une réservation

Quand un séjour est vendu ailleurs, envoyez-le nous : nous bloquons les nuits, et le logement cesse d’être proposé sur Localoge.

Fenêtre de terminal
curl -X POST https://localoge.com/api/v1/channel/reservations \
-H "Authorization: Bearer $LOCALOGE_KEY" \
-H "Content-Type: application/json" \
-d '{
"external_reservation_id": "RES-99001",
"external_property_id": "PROP-4821",
"check_in": "2026-09-10",
"check_out": "2026-09-15",
"guest": {
"first_name": "Marie",
"last_name": "Duval",
"email": "marie.duval@exemple.fr",
"phone": "+33612345678"
},
"guests_count": 3,
"adults_count": 2,
"total_amount": 72500,
"currency": "EUR"
}'
{
"success": true,
"data": { "reservation_id": "LOC-3f8a…", "created": true, "status": "confirmed" }
}

Ne débite rien. Le voyageur a payé chez vous. Il n’y a ni carte enregistrée, ni empreinte de caution, ni frais de service, ni commission. total_amount est une information, pas un montant à encaisser : il sert à l’hôte et à vos statistiques.

Bloque les nuits de l’arrivée au départ exclu, et rend le séjour visible à l’hôte.

N’applique pas les restrictions Localoge. Séjour minimum, jours d’arrivée ou de départ interdits : ces règles filtrent ce que Localoge vend, pas ce qui est déjà vendu ailleurs. Une réservation que vous nous envoyez est acceptée dès lors que les nuits sont libres chez nous.

Un compte Localoge est créé pour lui, à partir de son adresse. Il ne peut pas s’y connecter tant qu’il n’a pas défini un mot de passe lui-même, ne reçoit aucun message promotionnel de notre part, et ne compte pas dans nos statistiques d’inscription.

L’adresse est le seul champ obligatoire du bloc guest : c’est elle qui permet de reconnaître un voyageur qui revient plutôt que de lui créer un compte de plus.

Le voyageur décale son séjour, ou vient à trois au lieu de deux. Envoyez seulement ce qui change.

Fenêtre de terminal
curl -X PUT https://localoge.com/api/v1/channel/reservations/RES-9912 \
-H "Authorization: Bearer $LOCALOGE_KEY" \
-H "Content-Type: application/json" \
-d '{ "check_in": "2026-11-12", "check_out": "2026-11-16", "guests_count": 3 }'
{
"success": true,
"data": {
"reservation_id": "17cf258c-…",
"check_in": "2026-11-12",
"check_out": "2026-11-16"
}
}

L’identifiant dans l’URL est le VÔTRE (external_reservation_id), comme pour l’annulation.

Code Situation
200 Modifiée.
404 RESERVATION_NOT_FOUND Cet identifiant n’existe pas chez nous.
409 DATES_UNAVAILABLE Les nouvelles nuits sont déjà prises. L’ancienne réservation est intacte.
400 INVALID_PAYLOAD Dates incohérentes, ou réservation déjà annulée.
Code Situation
201 Créée.
200 Elle existait déjà : votre rejeu n’a rien créé de neuf. Voir Idempotence.
404 PROPERTY_NOT_FOUND Ce external_property_id n’existe pas chez nous. Poussez le logement d’abord.
409 DATES_UNAVAILABLE Une ou plusieurs de ces nuits sont déjà prises chez nous.
Fenêtre de terminal
curl https://localoge.com/api/v1/channel/reservations/3f8a… \
-H "Authorization: Bearer $LOCALOGE_KEY"

L’identifiant peut être le nôtre (reservation_id, celui que portent nos webhooks) ou le vôtre (external_reservation_id, pour une réservation que vous nous avez envoyée). C’est la route à appeler quand un webhook vous annonce un séjour et que vous voulez son état à jour avant d’agir.

{
"success": true,
"environment": "production",
"data": {
"reservation": {
"reservation_id": "3f8a…",
"external_property_id": "PROP-4821",
"external_reservation_id": null,
"origin": "localoge",
"status": "confirmed",
"check_in": "2026-09-10",
"check_out": "2026-09-15",
"guests": 3,
"adults": 2,
"currency": "EUR",
"amounts": {
"rent": 60000,
"cleaning_fee": 4000,
"options": 0,
"tourist_tax": 825,
"commission": 1800,
"total": 64825
},
"payment_status": "captured",
"created_at": "2026-08-26T14:03:11.000Z",
"updated_at": "2026-08-26T14:03:11.000Z"
}
}
}

Tous les montants sont en centimes. commission est la commission Localoge prélevée sur l’hôte, 0 sur une réservation venue de vous. payment_status est l’état du paiement du loyer chez Localoge (none, saved_card, authorized, captured, cancelled, partial_capture), ou null quand aucun paiement n’existe (réservation venue de vous). Une réservation qui ne concerne pas vos logements répond 404 RESERVATION_NOT_FOUND.

Fenêtre de terminal
curl "https://localoge.com/api/v1/channel/reservations?updated_since=2026-09-28T00:00:00Z&limit=200" \
-H "Authorization: Bearer $LOCALOGE_KEY"
{
"success": true,
"environment": "production",
"data": {
"reservations": [
{
"reservation_id": "3f8a…",
"external_property_id": "PROP-4821",
"external_reservation_id": null,
"check_in": "2026-09-10",
"check_out": "2026-09-15",
"status": "cancelled",
"guests": 3,
"total": 72500,
"origin": "localoge",
"created_at": "2026-08-26T14:03:11.000Z",
"updated_at": "2026-09-28T08:01:52.000Z"
}
],
"truncated": false,
"next_cursor": null
}
}

updated_since porte sur la date de modification (updated_at), pas de création : une réservation annulée ou décalée depuis votre dernier passage ressort, avec son nouvel état. C’est ce qui fait de cette route un vrai filet de sécurité derrière les webhooks.

origin vaut localoge (vendue chez nous, total en centimes) ou partner (envoyée par vous, total à 0 : nous n’encaissons rien sur celles-là). La liste est paginée : voir Pagination.