{
"type": "object",
"properties": {}
}{
"type": "object",
"properties": {
"model_code": {
"type": "string",
"description": "Code du modèle, ex. W801 (voir list_bag_models).",
"pattern": "^[A-Za-z0-9]{2,12}$",
"maxLength": 12
}
},
"required": [
"model_code"
]
}{
"type": "object",
"properties": {
"nb_pieces": {
"type": "integer",
"minimum": 1,
"maximum": 100000,
"description": "Nombre de sacs."
},
"logo_w_cm": {
"type": "number",
"minimum": 1,
"maximum": 60,
"description": "Largeur du logo en cm."
},
"logo_h_cm": {
"type": "number",
"minimum": 1,
"maximum": 60,
"description": "Hauteur du logo en cm."
},
"nb_couleurs": {
"type": "string",
"enum": [
"1",
"2",
"multi"
],
"description": "Couleurs du logo (multi = photo/dégradés)."
},
"effet": {
"type": "string",
"enum": [
"aucun",
"fluo",
"phospho"
],
"description": "Effet spécial éventuel."
},
"model_code": {
"type": "string",
"pattern": "^[A-Za-z0-9]{2,12}$",
"maxLength": 12,
"description": "Modèle de sac (ex. W801) pour inclure son prix."
},
"color": {
"type": "string",
"maxLength": 40,
"description": "Couleur du sac (influence le palier nature/couleur)."
}
},
"required": [
"nb_pieces",
"logo_w_cm",
"logo_h_cm"
]
}{
"type": "object",
"properties": {
"model_code": {
"type": "string",
"pattern": "^[A-Za-z0-9]{2,12}$",
"maxLength": 12,
"description": "Code du modèle (ex. W801)."
},
"color": {
"type": "string",
"maxLength": 40,
"description": "Nom de la couleur du sac."
},
"nb_pieces": {
"type": "integer",
"minimum": 1,
"maximum": 100000,
"description": "Nombre de sacs."
},
"nb_couleurs": {
"type": "string",
"enum": [
"1",
"2",
"multi"
]
},
"effet": {
"type": "string",
"enum": [
"aucun",
"fluo",
"phospho"
]
},
"logo_w_cm": {
"type": "number",
"minimum": 1,
"maximum": 60,
"description": "Largeur du logo en cm (logo déjà déposé uniquement)."
},
"position_x_pct": {
"type": "number",
"minimum": 0,
"maximum": 100,
"description": "Position horizontale 0-100."
},
"position_y_pct": {
"type": "number",
"minimum": 0,
"maximum": 100,
"description": "Position verticale 0-100."
}
},
"required": [
"model_code"
]
}{
"type": "object",
"properties": {}
}{
"type": "object",
"properties": {}
}{
"type": "object",
"properties": {
"firstname": {
"type": "string",
"maxLength": 80,
"description": "Prénom du client."
},
"name": {
"type": "string",
"maxLength": 80,
"description": "Nom du client."
},
"email": {
"type": "string",
"format": "email",
"maxLength": 120,
"description": "Email du client."
},
"phone": {
"type": "string",
"maxLength": 30,
"pattern": "^[+0-9 ().-]{7,}$",
"description": "Téléphone suisse (+41…)."
},
"remarques": {
"type": "string",
"maxLength": 2000,
"description": "Remarques pour l’atelier."
}
}
}