Aller au contenu

Reloger une réservation (Walked) — enregistre le relogement + compensation

POST
/v1/reservations/{id}/walk
curl --request POST \
--url https://example.com/v1/reservations/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/walk \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <X-API-Key>' \
--data '{ "targetEstablishment": "example", "transportProvided": true, "compensationCents": "5000", "compensationCurrency": "EUR", "compensationType": "none", "reason": "Unité OOO — aucune unité du type disponible" }'
id
required
string format: uuid

Relogement (la réservation ne peut être honorée telle quelle) : Confirmed→Walked (avant check-in) ou CheckedIn→Walked. Cause libre via reason (surbook, unité indispo/OOO, incident, réclamation…). À distinguer du room-move (le client reste, on change d’unité). targetEstablishment = texte libre (lieu de relogement). Compensation en centimes (bigint string), enregistrée (doc guest / rapport / compta du coût).

Media type application/json
object
targetEstablishment
required

Lieu de relogement (nom + adresse)

string
<= 300 characters
transportProvided
required
boolean
compensationCents
required

Montant en centimes (0 si type=none)

string
Example
5000
compensationCurrency
required
string
Allowed values: EUR GBP
compensationType
required
string
Allowed values: none cash voucher future_stay
reason
required

Cause du relogement (surbook, unité OOO, incident, réclamation…)

string
<= 500 characters
Example
Unité OOO — aucune unité du type disponible

Réservation relogée (Walked)

Media type application/json
object
data
required
object
reservationId
required
string format: uuid
status
required
string
Example
{
"data": {
"status": "walked"
}
}

Corps invalide

Media type application/json
object
code
required

Code machine de l’erreur

string
message
required

Message lisible

string
origin

Origine domaine de l’erreur (optionnel)

object
boundedContext
string
module
string
status
required
integer
traceId
required

Identifiant de corrélation pour le support

string
Example
{
"code": "RESERVATION_NOT_FOUND",
"message": "Réservation introuvable",
"status": 404
}

Non authentifié

Media type application/json
object
code
required

Code machine de l’erreur

string
message
required

Message lisible

string
origin

Origine domaine de l’erreur (optionnel)

object
boundedContext
string
module
string
status
required
integer
traceId
required

Identifiant de corrélation pour le support

string
Example
{
"code": "RESERVATION_NOT_FOUND",
"message": "Réservation introuvable",
"status": 404
}

Permission refusée (reservation.walk)

Media type application/json
object
code
required

Code machine de l’erreur

string
message
required

Message lisible

string
origin

Origine domaine de l’erreur (optionnel)

object
boundedContext
string
module
string
status
required
integer
traceId
required

Identifiant de corrélation pour le support

string
Example
{
"code": "RESERVATION_NOT_FOUND",
"message": "Réservation introuvable",
"status": 404
}

Réservation introuvable

Media type application/json
object
code
required

Code machine de l’erreur

string
message
required

Message lisible

string
origin

Origine domaine de l’erreur (optionnel)

object
boundedContext
string
module
string
status
required
integer
traceId
required

Identifiant de corrélation pour le support

string
Example
{
"code": "RESERVATION_NOT_FOUND",
"message": "Réservation introuvable",
"status": 404
}

Transition illégale (statut incompatible avec walk)

Media type application/json
object
code
required

Code machine de l’erreur

string
message
required

Message lisible

string
origin

Origine domaine de l’erreur (optionnel)

object
boundedContext
string
module
string
status
required
integer
traceId
required

Identifiant de corrélation pour le support

string
Example
{
"code": "RESERVATION_NOT_FOUND",
"message": "Réservation introuvable",
"status": 404
}