Aller au contenu

Confirmer une réservation (fige le tarif, réserve l'inventaire)

POST
/v1/reservations/{id}/confirm
curl --request POST \
--url https://example.com/v1/reservations/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/confirm \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <X-API-Key>' \
--data '{ "derogation": { "pct": 10, "targetTotalCents": "9000", "reason": "Tarif négocié fidélité" } }'
id
required
string format: uuid

Identifiant de la réservation

Bloc dérogation OPTIONNEL (ADR-00D113). Absent = prix public. pct (0..100) OU targetTotalCents (≤ public) + reason. Requiert reservation.derogate_rate + plafond de rôle.

Media type application/json
object
derogation
object
pct

Réduction en % (EXCLUSIF avec targetTotalCents).

number
<= 100
Example
10
targetTotalCents

Total cible en centimes (bigint string, ≤ public).

string
Example
9000
reason
required
string
>= 1 characters <= 500 characters
Example
Tarif négocié fidélité

Réservation confirmée

Media type application/json
object
data
required
object
confirmationNumber
required
string
Example
{
"data": {
"confirmationNumber": "RES-2026-000042"
}
}

Bloc dérogation invalide (majoration refusée, pct hors bornes, motif manquant)

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 de dérogation manquante ou plafond de rôle dépassé/non configuré

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
}

Stock épuisé ou état 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
}