{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "type": { "type": "string", "enum": ["reservation"] }, "member": { "description": "N° membre", "type": ["integer", "null"] }, "name": { "description": "Nom & Prénom", "type": "string" }, "contact": { "description": "Téléphone", "type": ["null", "string"] }, "email": { "description": "Courriel", "type": "string" }, "address": { "description": "Adresse postale", "type": ["null", "string"] }, "equipment" : { "description": "Clé du matériel", "type": "string" }, "amount" : { "description": "Quantité souhaitée", "type": "integer" }, "date" : { "description": "Date de la réservation", "type": "string", "format": "date" }, "loan_date" : { "description": "Date souhaitée", "type": "string", "format": "date" }, "return_date" : { "description": "Retour prévu/réel", "type" : "string", "format" : "date" }, "comment": { "description": "Commentaire additionnel", "type": ["null", "string"] }, "secret": { "description": "Mot de passe pour modification ou annulation", "type": ["null", "string"] }, "status": { "description": "Statut de la demande", "type": ["string"], "enum": ["en attente", "acceptée", "refusée", "en cours", "archivée"], "default": "en attente" }, "signed": { "description": "Signature de l'emprunteur", "type": ["null", "string"] }, "mvt_key": { "description": "Clé du mouvement associé", "type": ["null", "string"] } }, "required": ["type", "name", "contact", "equipment", "amount", "date", "loan_date", "return_date"] }