Promote circuit from preparation to production
Entités
-
SaveCircuit.java — DTO partagé de création de circuit prod envoyé par prep en mode NEW vers circuit-service.
-
PreparedCircuit.java — Champs Mongo de cycle de vie promote (statut, cible/prod IDs, erreur, idempotence, dates).
-
PreparedPassenger.java — Colonnes JPA prod_passenger_uuid et promoted_at après succès user-service.
Enums (promotion.enums)
-
PromotionStatus.java — États du circuit prep : brouillon, en cours, promu, échec.
-
IntegrationOrigin.java — Origine métier : nouveau circuit, extension prep seule, intégration sur circuit prod existant.
-
CircuitPromotionMode.java — Mode d’appel circuit-service : créer un circuit NEW ou enrichir un PROD existant.
-
PromotionFailedStep.java — Étape en échec rapportée à l’UI : USER ou CIRCUIT.
API preparation (orchestration)
-
ValidateCircuitToProductionRequest.java — Entrée FE/prep : clé de stabilité, amendements optionnels, dry-run.
-
ValidateCircuitToProductionResponse.java — Réponse orchestration : statut, IDs prod, mappings usagers, warnings, erreur, promotedAt.
API user-service
-
PassengerPromotionRequest.java — Lot d’usagers prep à promouvoir avec stabilité et corrélation circuit.
-
PassengerPromotionResponse.java — Liste des mappings prep→prod et erreurs éventuelles par usager.
-
PassengerPromotionMapping.java — Une paire UUID prep/prod + indicateur created (nouveau vs lien idempotent).
-
PassengerPromotionError.java — Erreur unitaire par usager si le lot échoue partiellement (v1 : rollback global).
-
PreparedPassengerPromotionPayload.java — Corps complet d’un usager prep→prod (identité, reps, établissements, horaires semaine).
-
PreparedRepresentativePromotionPayload.java — Représentant pour promote (adresses, contacts).
-
PreparedAddressPromotionPayload.java — Adresse géolocalisée (pickup/rep) pour routing TripAlgo/ORS.
-
PreparedContactPromotionPayload.java — Téléphones et personnes assignées du représentant.
-
PreparedEstablishmentSchedulePromotionPayload.java — Horaires d’affectation par établissement et semaine pair/impair.
-
PreparedDayScheduleEstablishmentPromotionPayload.java — Un jour/période (matin/soir) dans le planning établissement.
-
PreparedPassengerScheduleWeekPromotionPayload.java — Semaine EVEN/ODD avec créneaux usager pour TripAlgo.
-
PreparedPassengerSchedulePromotionPayload.java — Un créneau usager : jour, période, sens, heure de prise en charge.
API circuit-service
-
CircuitPromotionRequest.java — Demande promote circuit après usagers prod : mode, circuit/avenants, conducteur, traçabilité.
-
CircuitPromotionResponse.java — IDs circuit/avenants/trajets prod retournés + warnings non bloquants.
-
AmendmentPromotionSpec.java — Période d’avenant et UUIDs passagers prod à assigner.
-
DriverPromotionSpec.java — Conducteur et plage de dates d’affectation sur le circuit promu.
Constantes d’URL (dans common)
-
CircuitServicePath.java — Chemin REST /promote-from-preparation pour les clients prep.
-
UserServicePath.java — Chemin REST /passenger/promote-from-preparation pour les clients prep.