Aller au contenu

Créer une réservation

POST
/v1/reservations
curl --request POST \
--url https://example.com/v1/reservations \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <X-API-Key>' \
--data '{ "establishmentId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "checkInDate": "2026-07-01", "checkOutDate": "2026-07-03", "unitTypeId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "ratePlanId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "guestProfileId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "channelType": "direct", "segment": "leisure", "bookerContactName": "Martin Dupont", "bookerContactEmail": "martin@example.com", "bookerPersonGuestId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" }'
Idempotency-Key
string
>= 8 characters <= 200 characters

Clé d’idempotence (optionnelle, 8-200 caractères). Réservée pour la déduplication client : si le même appel est rejoué (réseau flaky, double-clic) la clé permettra de retourner la même réponse sans créer de doublon. Infrastructure de déduplication à brancher (résiduel B).

Données de création de la réservation. businessDateAtCreation est résolu CÔTÉ SERVEUR (ADR-00D78) — ne pas envoyer.

Media type application/json
object
establishmentId
required
string format: uuid
checkInDate
required
string format: date
Example
2026-07-01
checkOutDate
required
string format: date
Example
2026-07-03
unitTypeId
required
string format: uuid
ratePlanId
required
string format: uuid
guestProfileId
required
string format: uuid
channelType
required
string
Example
direct
segment
required
string
Example
leisure
bookerContactName
required
string
Example
Martin Dupont
bookerContactEmail
required
string format: email
Example
martin@example.com
bookerPersonGuestId
string format: uuid
nullable

Réservation créée

Media type application/json
object
data
required
object
reservationId
required
string format: uuid
Example generated
{
"data": {
"reservationId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"
}
}

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

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
}