Aller au contenu

Obtenir le détail d'une réservation

GET
/v1/reservations/{id}
curl --request GET \
--url https://example.com/v1/reservations/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0 \
--header 'X-API-Key: <X-API-Key>'
id
required
string format: uuid

Détail enrichi de la réservation (auto-suffisant — deep-link sans cache liste)

Media type application/json
object
data
required
object
id
required
string format: uuid
status
required
string
Allowed values: tentative confirmed checked_in checked_out cancelled no_show walked
establishmentId
required
string format: uuid
guestProfileId
required
string format: uuid
confirmationNumber
required
string
nullable
stayId
string format: uuid
nullable
folioId
string format: uuid
nullable
mealPlanId

Plan de pension pré-sélectionné porté par la réservation (T-struct-1, ADR-00D89). null = aucune pension. Pré-check-in, le calendrier de pension (meal-schedule) n’existe pas encore : c’est ce champ qui indique le plan choisi.

string format: uuid
nullable
checkInDate

Date d’arrivée (ISO-8601 date).

string format: date
nullable
checkOutDate

Date de départ (ISO-8601 date).

string format: date
nullable
nights

Nombre de nuits (LOS, autoritatif).

integer
nullable >= 1
unitTypeId
string format: uuid
nullable
unitTypeName

Nom du type d’unité (BC inventory).

string
nullable
roomCode

Code de l’unité pré-assignée (ADR-00D81) ; null si à placer.

string
nullable
unitId

UUID de l’unité physique assignée (séjour actif > pré-assignation) ; null si à placer. F4 : compteurs de fluides liés à l’unité au check-out.

string format: uuid
nullable
headcountAdults
integer
nullable
headcountChildren
integer
nullable
pax

Total pax (adultes + enfants).

integer
nullable
ratePlanId
string format: uuid
nullable
ratePlanName

Nom du plan tarifaire.

string
nullable
channelType

Canal de distribution (direct, ota, gds…).

string
nullable
segment

Segment commercial (leisure, corporate, group…).

string
nullable
bookerContactName

Nom du contact booker.

string
nullable
totalAmountCents

Montant total snapshoté en centimes (string bigint-safe) ; null si non confirmé.

string
nullable
currency

Devise du montant snapshoté.

string
nullable
balanceCents

Solde dû (centimes string bigint-safe, source folio) ; null si aucun folio.

string
nullable
balanceCurrency

Devise du solde dû.

string
nullable
createdAt

Date de création de la réservation (ISO-8601).

string format: date-time
nullable
expectedArrivalTime

Heure d’arrivée prévue (ETA, HH:MM). Null si non renseignée.

string
nullable /^\d{2}:\d{2}$/
expectedDepartureTime

Heure de départ prévue (ETD, HH:MM). Null si non renseignée.

string
nullable /^\d{2}:\d{2}$/
specialRequests

Demandes spéciales / notes libres. Null si aucune.

string
nullable <= 1000 characters
cancellationPolicy

Politique d’annulation figée à la confirmation. Permet au front d’avertir avant annulation.

object
kind
required
string
Allowed values: non_refundable refundable
tiers
required

Paliers (vides si non_refundable), strictement décroissants sur daysBeforeArrival.

Array<object>
object
daysBeforeArrival
required
integer
feeRateMills
required

Taux de pénalité en millièmes (10000 = 100 %).

integer
<= 10000
depositPolicy

Politique de dépôt (arrhes art. 1590 / acompte) figée à la confirmation.

object
kind
required
string
Allowed values: arrhes acompte
amountCents
required

Montant figé en centimes (string bigint-safe).

string
currency
required
string
Allowed values: EUR GBP
dueDaysBeforeArrival
required
integer
captureOnNoShow
required
boolean
deposit

État dérivé de l’acompte : montant attendu (policy figée) vs reçu (folio reservation_deposit). null si aucune policy figée.

object
kind
required
string
Allowed values: arrhes acompte
expectedCents
required

Montant attendu figé, centimes (string bigint-safe).

string
receivedCents
required

Montant reçu (Σ settlements du folio deposit), centimes (string bigint-safe).

string
currency
required
string
Allowed values: EUR GBP
status
required

Due = rien reçu ; partial = reçu < attendu ; settled = reçu ≥ attendu.

string
Allowed values: due partial settled
outcome
required

Issue dérivée : active / retenu (no-show, frais annulation) / remboursé / partiellement retenu.

string
Allowed values: active retained refunded partially_retained
retainedCents
required

Montant retenu TTC (acquisitions no-show/annulation), centimes (string bigint-safe).

string
refundedCents
required

Montant remboursé TTC (Σ settlements négatifs), centimes (string bigint-safe).

string
derogation

Dérogation tarifaire appliquée : prix public coté, total appliqué, écart consenti et motif (NF203).

object
publicTotalCents
required

Total public coté AVANT dérogation (bigint string).

string
appliedTotalCents
required

Total appliqué après dérogation (bigint string).

string
gapCents
required

Écart consenti public − appliqué (bigint string ≥ 0).

string
reason
required

Motif de la dérogation.

string
ancillaries
required

Prestations annexes réservées. productId+quantity = snapshot résa (source de vérité) ; label+unitPriceCents = catalogue courant (indicatif — le montant faisant foi est facturé au folio au check-in). Tableau vide si aucune prestation.

Array<object>
object
productId
required

Identifiant du produit annexe.

string format: uuid
quantity
required

Quantité réservée.

integer
>= 1
label
required

Libellé courant du catalogue ; tombe sur le productId si le produit a été retiré.

string
unitPriceCents
required

Prix unitaire TTC courant en centimes (bigint string) ; null si non résolu (produit retiré).

string
nullable
Example
{
"data": {
"status": "tentative",
"expectedArrivalTime": "15:30",
"expectedDepartureTime": "11:00",
"specialRequests": "Lit bébé souhaité.",
"cancellationPolicy": {
"kind": "non_refundable"
},
"depositPolicy": {
"kind": "arrhes",
"currency": "EUR"
},
"deposit": {
"kind": "arrhes",
"currency": "EUR",
"status": "due",
"outcome": "active"
}
}
}

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
}