{
  "items": {
    "0-D1": {
      "description": "Une machine P-KUP est posée gratuitement chez un lieu hôte. Chaque site référence 8 à 10 restaurants. Le client commande sur INORES, le restaurant ou Uber Direct livre, puis le client dépose et retire au casier."
    },
    "0-D2": {
      "title": "Stack et principe de la plateforme",
      "description": "Medusa.js 2.0, storefront Next.js, Lyra Collect Marketplace, Uber Direct et API P-KUP. Toute l'intelligence vit côté plateforme : le casier se contente d'ouvrir, de fermer et de remonter son état.",
      "defaultOrientation": "Valider la base produit : Medusa, Lyra, Uber Direct et P-KUP."
    },
    "2.1-P1": {
      "title": "Création du compte lieu hôte",
      "description": "L'admin INORES crée le compte du lieu hôte : raison sociale, adresse, contact, type de site et informations utiles à l'installation.",
      "defaultOrientation": "Garder les champs de base, plus un commentaire libre pour les informations terrain."
    },
    "2.1-P2": {
      "title": "Déclaration des machines",
      "description": "L'admin déclare les machines P-KUP du site : numéro unique, emplacement, casiers, éventuel chaud/froid et accès livreur. Certains sites très grands ont plusieurs entrées ou zones à prévoir.",
      "defaultOrientation": "Prévoir plusieurs machines par site, chacune avec son emplacement et son QR. Décider du split chaud/froid à part."
    },
    "2.1-P3": {
      "description": "L'admin associe au site les restaurants éligibles, selon la zone de livraison, la capacité et l'accord commercial.",
      "defaultOrientation": "Référencer 8 à 10 restaurants par site pilote."
    },
    "2.1-P4": {
      "title": "Génération du QR machine",
      "description": "La plateforme génère un QR par machine, ou par paire couplée. Scanné, le QR identifie directement la machine où la commande sera livrée.",
      "defaultOrientation": "Un QR par machine logique."
    },
    "2.1-P5": {
      "description": "Le QR est affiché sur la machine, ou juste à côté, pour servir de point d'entrée naturel.",
      "defaultOrientation": "Afficher le QR sur la machine."
    },
    "2.1-P6": {
      "title": "Reporting du lieu hôte",
      "description": "Le lieu hôte dispose d'une interface légère pour suivre l'activité de sa machine, sans toucher à l'opérationnel.",
      "defaultOrientation": "Reporting léger, en lecture seule."
    },
    "2.1-D1": {
      "title": "Modèle des machines",
      "description": "Un lieu peut avoir plusieurs machines : couplées en un seul pool, ou à des emplacements distincts. Les grands sites peuvent demander plusieurs zones et entrées.",
      "defaultOrientation": "Une paire couplée compte comme une seule machine logique ; des emplacements distincts sont des machines séparées, avec chacune son QR."
    },
    "2.1-D2": {
      "title": "Numéro machine et accès",
      "description": "Chaque machine a un numéro unique rattaché au lieu et une description d'accès claire pour les livreurs.",
      "defaultOrientation": "Intégrer numéro de machine, emplacement et instructions livreur au modèle de données."
    },
    "2.1-D4": {
      "description": "Le QR par machine est retenu : une paire couplée partage un seul QR, des machines non couplées ont chacune le leur.",
      "defaultOrientation": "Un QR par machine logique."
    },
    "2.1-D5": {
      "title": "Restaurant rattaché à plusieurs lieux",
      "description": "Un même restaurant peut-il servir plusieurs lieux hôtes, selon sa zone et sa capacité ?",
      "defaultOrientation": "Oui : un restaurant peut être rattaché à plusieurs lieux hôtes."
    },
    "2.1-D6": {
      "title": "Droit de regard du lieu hôte",
      "description": "Le lieu hôte peut-il accepter ou refuser des restaurants, ou INORES garde-t-il la main ?",
      "defaultOrientation": "Le lieu hôte voit les restaurants et peut demander un retrait ; INORES garde la validation opérationnelle."
    },
    "2.1-D7": {
      "title": "Créneaux de commande",
      "description": "Les créneaux disponibles croisent les horaires du site, ceux du restaurant, la capacité et la disponibilité de la machine. Le modèle groupé façon Frichti est aussi à prévoir.",
      "defaultOrientation": "Le restaurant propose ses créneaux, INORES les borne par la machine et le site. Le batch déjeuner est un mode dédié."
    },
    "2.1-D8": {
      "description": "La plateforme doit savoir en temps réel qu'une machine est installée et en ligne, pour la retirer du pool si elle tombe en panne.",
      "defaultOrientation": "Confirmer qu'un heartbeat existe dans l'API P-KUP."
    },
    "2.1-D9": {
      "title": "Split chaud / froid",
      "description": "Le split chaud/froid complique la préparation : il peut imposer plusieurs sacs ou casiers pour une même commande. Le garde-t-on en v1 ?",
      "defaultOrientation": "À trancher en séance. Par défaut, limiter les commandes multi-températures en v1."
    },
    "2.2-P1": {
      "title": "Vérification de l'éligibilité",
      "description": "L'admin vérifie la zone de livraison, le KYC, le SIRET, la capacité à livrer chaud, l'acceptation des titres-restaurant et le contrat CONECS e-commerce.",
      "defaultOrientation": "Contrôle manuel INORES au lancement."
    },
    "2.2-P2": {
      "title": "Validation et rattachement",
      "description": "L'admin valide le compte du restaurant et le rattache à un ou plusieurs lieux hôtes.",
      "defaultOrientation": "Rattachement multi-lieux possible."
    },
    "2.2-P3": {
      "title": "Configuration du restaurant",
      "description": "Le restaurateur configure son catalogue, ses menus, prix, photos, allergènes, températures, horaires, capacité par créneau, modes de livraison et ruptures.",
      "defaultOrientation": "Prévoir la gestion du catalogue et des ruptures dès la v1."
    },
    "2.2-P4": {
      "title": "Enrôlement Lyra",
      "description": "Le restaurateur est enrôlé comme sous-marchand Lyra, avec KYC et contrat TRD CONECS e-commerce affecté via trd_contract.",
      "defaultOrientation": "Lyra Collect Marketplace comme parcours cible."
    },
    "2.2-P5": {
      "title": "Choix du mode de livraison",
      "description": "Le restaurateur choisit la livraison interne, Uber Direct s'il est éligible, ou les deux selon le site.",
      "defaultOrientation": "Livraison restaurant en v1, Uber Direct activable par site en v2."
    },
    "2.2-P6": {
      "title": "Abonnement INORES",
      "description": "Si le modèle abonnement est retenu, le restaurant souscrit un abonnement mensuel, en paiement récurrent ou via un autre mode de facturation.",
      "defaultOrientation": "Prévoir l'abonnement, mais le figer avec le modèle business."
    },
    "2.2-P7": {
      "title": "Publication sur le storefront",
      "description": "Le restaurant passe actif et apparaît dans les storefronts des sites auxquels il est rattaché.",
      "defaultOrientation": "Publication après validation INORES et configuration minimale."
    },
    "2.2-D1": {
      "title": "Canal d'entrée du restaurant",
      "description": "Le restaurant candidate-t-il via un formulaire public, ou est-il démarché par INORES ?",
      "defaultOrientation": "Démarchage INORES au lancement, formulaire de candidature plus tard."
    },
    "2.2-D2": {
      "title": "Validation du restaurant",
      "description": "Validation 100 % manuelle par INORES, ou self-service avec contrôle a posteriori ?",
      "defaultOrientation": "Validation manuelle au lancement."
    },
    "2.2-D3": {
      "title": "Modèle d'abonnement restaurant",
      "description": "Forfait fixe, commission sur les ventes, ou les deux ? C'est le cœur du business model restaurant.",
      "defaultOrientation": "Mixte : abonnement léger plus commission."
    },
    "2.2-D4": {
      "title": "Encaissement de l'abonnement",
      "description": "Faut-il une passerelle CB récurrente ? Et faut-il gérer le SEPA ou le virement pour les restaurants qui ne veulent pas payer par carte ?",
      "defaultOrientation": "CB récurrent par défaut, SEPA en option."
    },
    "2.2-D5": {
      "title": "Impayé sur l'abonnement",
      "description": "Définir les relances, le masquage du storefront, la suspension et les délais en cas d'impayé.",
      "defaultOrientation": "Relance automatique, masquage du storefront, puis suspension."
    },
    "2.2-D6": {
      "title": "Clés Uber Direct",
      "description": "Chaque restaurant charge-t-il ses propres clés Uber Direct, ou INORES passe-t-il par un compte unique ?",
      "defaultOrientation": "Compte unique INORES."
    },
    "2.2-D7": {
      "title": "Capacité par créneau",
      "description": "Le restaurant peut-il bloquer les commandes au-delà d'un plafond par créneau, pour ne pas être débordé ?",
      "defaultOrientation": "Oui : plafond par créneau, paramétrable."
    },
    "2.2-D8": {
      "title": "Qualité des fiches produits",
      "description": "INORES impose-t-il un gabarit ou une validation qualité sur les fiches produits ?",
      "defaultOrientation": "Gabarit léger, plus validation."
    },
    "2.3-D1": {
      "title": "Compte client obligatoire",
      "description": "La commande invitée est écartée : il faut un compte pour rattacher remboursements, avoirs seller-scoped, historique et litiges.",
      "defaultOrientation": "Compte obligatoire."
    },
    "2.3-P1": {
      "title": "Scan du QR client",
      "description": "Le client scanne le QR sur place et arrive sur le storefront PWA, sans rien à installer.",
      "defaultOrientation": "PWA via QR."
    },
    "2.3-P2": {
      "title": "Détection du site",
      "description": "Le QR scanné identifie la machine : la plateforme n'affiche que les restaurants rattachés et ouverts.",
      "defaultOrientation": "Filtrer par machine scannée."
    },
    "2.3-P3": {
      "title": "Connexion ou création de compte",
      "description": "Compte léger avec mobile et OTP SMS, éventuellement e-mail et prénom. Aucun mot de passe à retenir.",
      "defaultOrientation": "OTP SMS pour une création rapide."
    },
    "2.3-P4": {
      "title": "Composition du panier",
      "description": "Le client choisit un restaurant, des plats et des options, et consulte les allergènes.",
      "defaultOrientation": "Parcours panier PWA classique."
    },
    "2.3-P5": {
      "title": "Code de retrait et suivi",
      "description": "Au paiement, le code de retrait et le suivi sont rattachés au compte et envoyés sur le canal choisi.",
      "defaultOrientation": "Code disponible par SMS, e-mail et dans le compte."
    },
    "2.3-D2": {
      "description": "Le SMS est le contact principal du client, pour le suivi comme pour le code de retrait.",
      "defaultOrientation": "Création de compte par numéro mobile et OTP SMS."
    },
    "2.3-D3": {
      "title": "Code de retrait partout",
      "description": "Le code de retrait s'affiche dans le SMS, l'e-mail et la PWA, pour rester facile à retrouver.",
      "defaultOrientation": "SMS, e-mail et PWA."
    },
    "2.3-D5": {
      "title": "Conformité RGPD",
      "description": "Minimisation des données, consentement explicite, droits d'accès et d'effacement, durées de conservation et registre des traitements.",
      "defaultOrientation": "RGPD comme exigence transverse."
    }
  },
  "blocks": {
    "host-onboarding": {
      "summary": "Création du site et des machines, QR, restaurants associés."
    },
    "restaurant-onboarding": {
      "summary": "Éligibilité, rattachement, catalogue, Lyra et abonnement."
    },
    "client-onboarding": {
      "summary": "QR, compte obligatoire, OTP SMS et suivi."
    }
  }
}
