Aller au contenu

Modifier un plan de pension (MP-6a). Le code et le type sont immuables.

PUT
/v1/meal-plans/{id}
curl --request PUT \
--url https://example.com/v1/meal-plans/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0 \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <X-API-Key>' \
--data '{ "name": "Demi-pension standard", "services": [ { "serviceType": "breakfast", "includedQty": 1 } ], "priceAdultCents": "4500", "currencyCode": "EUR", "priceChildCents": "2200", "childAgeThreshold": 1, "pricingMode": "per_person_per_night", "vatCategory": "food_beverage_onsite", "mealSkipReducesBilling": true, "arrivalMeals": [ "breakfast" ], "departureMeals": [ "breakfast" ] }'
id
required
string format: uuid

ID du plan de pension

Champs éditables du plan. code / mealPlanType / establishmentId immuables (identité). priceChildCents=null efface le tarif enfant. Money en string cents (bigint-safe). Note : le prix est lu LIVE au Night Audit — modifier un prix ré-tarife les nuits futures des séjours en cours.

Media type application/json
object
name
required
string
>= 1 characters <= 150 characters
Example
Demi-pension standard
services
required
Array<object>
>= 1 items <= 3 items
object
serviceType
required
string
Allowed values: breakfast lunch dinner
includedQty
required
integer
>= 1 <= 10
priceAdultCents
required

Prix adulte en centimes (bigint-safe)

string
Example
4500
currencyCode
required
string
Allowed values: EUR GBP
priceChildCents

Prix enfant en centimes (null = efface le tarif enfant)

string
nullable
Example
2200
childAgeThreshold

DÉPRÉCIÉ (ADR-00D115 B1) — ignoré pour la facturation (seuil = bande food_service de l’établissement). Toléré en entrée pour non-régression.

integer
nullable <= 18
pricingMode
required
string
Allowed values: per_person_per_night per_stay per_unit
vatCategory
required
string
Allowed values: food_beverage_onsite reduced standard
mealSkipReducesBilling
boolean
arrivalMeals
Array<string>
nullable
Allowed values: breakfast lunch dinner
departureMeals
Array<string>
nullable
Allowed values: breakfast lunch dinner

Plan de pension modifié

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

Corps invalide ou invariant domaine violé

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 (meal_plan.manage) 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
}

Plan de pension 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
}