Aller au contenu

Créer un plan de pension dans le catalogue (MP-6a)

POST
/v1/meal-plans
curl --request POST \
--url https://example.com/v1/meal-plans \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <X-API-Key>' \
--data '{ "establishmentId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "code": "DP-STD", "name": "Demi-pension standard", "mealPlanType": "breakfast", "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" ] }'

Propriétés du nouveau plan de pension. Money en string cents (bigint-safe).

Media type application/json
object
establishmentId
required
string format: uuid
code
required
string
>= 1 characters <= 20 characters
Example
DP-STD
name
required
string
>= 1 characters <= 150 characters
Example
Demi-pension standard
mealPlanType
required
string
Allowed values: breakfast half_board full_board
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 (optionnel)

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

Forfait ferme (false, défaut) ou réduction prorata repas sauté (true, MP-5)

boolean
arrivalMeals

Repas du soir facturés la nuit d’arrivée (MP-7). null = défaut dérivé du type.

Array<string>
nullable
Allowed values: breakfast lunch dinner
departureMeals

Repas retenus le matin du check-out (MP-7). null = défaut (breakfast inclus).

Array<string>
nullable
Allowed values: breakfast lunch dinner

Plan de pension créé

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 (org.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
}