Modifier une réservation (re-pricing pré-check-in ou champs non-tarifaires)
const url = 'https://example.com/v1/reservations/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/modify';const options = { method: 'POST', headers: {'X-API-Key': '<X-API-Key>', 'Content-Type': 'application/json'}, body: '{"checkInDate":"2026-07-02","checkOutDate":"2026-07-05","units":[{"unitTypeId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","quantity":1}],"segment":"corporate","ancillaries":[{"productId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","quantity":1}],"mealPlanId":"b1e2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d","reason":"guest_request","bookerRef":{},"expectedArrivalTime":"15:30","expectedDepartureTime":"11:00","specialRequests":"Allergie gluten, chambre haute."}'};
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/modify \ --header 'Content-Type: application/json' \ --header 'X-API-Key: <X-API-Key>' \ --data '{ "checkInDate": "2026-07-02", "checkOutDate": "2026-07-05", "units": [ { "unitTypeId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "quantity": 1 } ], "segment": "corporate", "ancillaries": [ { "productId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "quantity": 1 } ], "mealPlanId": "b1e2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d", "reason": "guest_request", "bookerRef": {}, "expectedArrivalTime": "15:30", "expectedDepartureTime": "11:00", "specialRequests": "Allergie gluten, chambre haute." }'Authorizations
Section intitulée « Authorizations »Parameters
Section intitulée « Parameters »Path Parameters
Section intitulée « Path Parameters »Identifiant de la réservation
Header Parameters
Section intitulée « Header Parameters »Clé d’idempotence (optionnelle, 8-200 car.) — résiduel B, infra future.
Request Body required
Section intitulée « Request Body required »Delta de modification (au moins un champ requis). reason obligatoire (NF203).
object
Example
2026-07-02Example
2026-07-05object
Example
corporatePrestations annexes (vague 1) — REMPLACE la collection portée par la réservation. Omis = inchangé ; [] = tout retirer. Non-tarifaire (facturé au check-in).
object
Plan de pension à associer à la réservation (uuid). null = détacher le plan existant.
Example
b1e2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5dExample
guest_requestPolymorphe : person | organization | ota_external
object
Heure d’arrivée prévue (ETA, HH:MM). null = effacement. Non-tarifaire, journalisé NF203.
Example
15:30Heure de départ prévue (ETD, HH:MM). null = effacement. Non-tarifaire, journalisé NF203.
Example
11:00Demandes spéciales / notes libres. null = effacement. Max 1000 car. Journalisé NF203.
Example
Allergie gluten, chambre haute.Responses
Section intitulée « Responses »Modification enregistrée
object
object
Nouveau total en centimes (présent si re-pricing effectué)
UnitId des pré-assignations libérées par la modif (conflit de dates / ligne retirée) — réinviter à re-choisir l’emplacement
Example
{ "data": { "currency": "EUR" }}Corps invalide ou dates incohérentes
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 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 (post-check-in → T8) ou stock épuisé
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}