Aller au contenu

Enregistrer un skip ou restore de repas pour une nuit (MP-6a / MP-4)

POST
/v1/reservations/{id}/meal-schedule/exceptions
curl --request POST \
--url https://example.com/v1/reservations/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/meal-schedule/exceptions \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <X-API-Key>' \
--data '{ "businessDate": "2026-07-02", "serviceType": "breakfast", "kind": "skip", "reasonCode": "example" }'
id
required
string format: uuid

ID de la réservation

Acte d’exception : skip (repas sauté) ou restore (annulation d’un skip). Log append-only (INV-MP-H).

Media type application/json
object
businessDate
required

Nuit concernée (YYYY-MM-DD)

string format: date
Example
2026-07-02
serviceType
required
string
Allowed values: breakfast lunch dinner
kind
required

‘skip’ = saut ; ‘restore’ = annulation du skip

string
Allowed values: skip restore
reasonCode

Code raison libre (ex. guest_absent, medical, other)

string
nullable >= 1 characters <= 100 characters

Exception enregistrée (append-only)

Media type application/json
object
data
required
object
stayId
required
string format: uuid
businessDate
required
string format: date
serviceType
required
string
Allowed values: breakfast lunch dinner
kind
required
string
Allowed values: skip restore
Example
{
"data": {
"serviceType": "breakfast",
"kind": "skip"
}
}

Corps invalide, date hors bornes séjour (INV-MP-C) ou service non servi

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 (stay.meal_plan) ou IDOR établissement

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, séjour, schedule ou plan de la nuit 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
}