Calculer le delta tarifaire avant changement d'unité (lecture seule)
const url = 'https://example.com/v1/reservations/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/unit-change-preview';const options = { method: 'POST', headers: {'X-API-Key': '<X-API-Key>', 'Content-Type': 'application/json'}, body: '{"targetUnitId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","targetRatePlanId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://example.com/v1/reservations/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/unit-change-preview \ --header 'Content-Type: application/json' \ --header 'X-API-Key: <X-API-Key>' \ --data '{ "targetUnitId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "targetRatePlanId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" }'Authorizations
Section intitulée « Authorizations »Parameters
Section intitulée « Parameters »Path Parameters
Section intitulée « Path Parameters »Request Body required
Section intitulée « Request Body required »Unité physique cible + rate plan cible. Le prix vivant sur le plan (pas sur le type d’unité), les deux sont requis pour calculer un delta non nul. Aucune écriture.
object
Unité physique cible (doit exister dans le scope tenant)
Rate plan à appliquer sur l’unité cible (comme à la réservation initiale)
Example generated
{ "targetUnitId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "targetRatePlanId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"}Responses
Section intitulée « Responses »Delta tarifaire calculé (lecture seule)
object
object
True = formats différents → afficher un avertissement côté front (jamais bloquant)
Nuits résiduelles sur lesquelles le delta est calculé
Delta TTC signé en centimes (string bigint-safe). >0 = supplément, <0 = crédit, =0 = identique
Taux TVA accommodation en basis points (ex. 1000 = 10,00 %)
Example
{ "data": { "fromFormat": "room", "toFormat": "room", "currency": "EUR" }}Corps invalide
object
Code machine de l’erreur
Message lisible
Origine domaine de l’erreur (optionnel)
object
Identifiant de corrélation pour le support
Example
{ "code": "RESERVATION_NOT_FOUND", "message": "Réservation introuvable", "status": 404}Non authentifié
object
Code machine de l’erreur
Message lisible
Origine domaine de l’erreur (optionnel)
object
Identifiant de corrélation pour le support
Example
{ "code": "RESERVATION_NOT_FOUND", "message": "Réservation introuvable", "status": 404}Permission refusée ou scope IDOR
object
Code machine de l’erreur
Message lisible
Origine domaine de l’erreur (optionnel)
object
Identifiant de corrélation pour le support
Example
{ "code": "RESERVATION_NOT_FOUND", "message": "Réservation introuvable", "status": 404}Réservation ou unité cible introuvable
object
Code machine de l’erreur
Message lisible
Origine domaine de l’erreur (optionnel)
object
Identifiant de corrélation pour le support
Example
{ "code": "RESERVATION_NOT_FOUND", "message": "Réservation introuvable", "status": 404}Statut incompatible (doit être Confirmed ou CheckedIn)
object
Code machine de l’erreur
Message lisible
Origine domaine de l’erreur (optionnel)
object
Identifiant de corrélation pour le support
Example
{ "code": "RESERVATION_NOT_FOUND", "message": "Réservation introuvable", "status": 404}