{"status":"ok","generatedAt":"2026-11-03T22:19:15.268Z","message":"Opération réussie.","meta":{"version":"1.1.0","generatedAt":"2026-10-30","totalCodes":2331,"url":"https://api.upjunoo-dev.tech/v1/meta/error-codes","usage":"Toute réponse d'erreur porte un message FR prêt à afficher (champ racine `message` ET `error.message`). Le front peut afficher `message` tel quel, ou utiliser `error.code` comme clé i18n. Les réponses de succès portent aussi un `message` FR.","apiShape":{"status":"error","generatedAt":"ISO-8601","message":"Course introuvable","error":{"code":"RIDE_NOT_FOUND","message":"Course introuvable","details":"optional"}},"successShape2xx":{"status":"ok | created | accepted","generatedAt":"ISO-8601","message":"Opération réussie.","...":"données métier"},"successShape":{"status":"ok","generatedAt":"ISO-8601","meta":{"version":"1.0.0","totalCodes":452,"url":"..."},"codes":{"RIDE_NOT_FOUND":{"http":404,"en":"Ride not found","fr":"Course introuvable"}}}},"codes":{"ACCOUNTANT_COUNTRY_UNSET":{"http":403,"en":"Accountant country unset","fr":"Compte comptable sans pays rattaché. Contactez un administrateur."},"ACCOUNTANT_NOT_FOUND":{"http":404,"en":"Accountant not found","fr":"Comptable introuvable."},"ACCOUNTANT_REQUIRED":{"http":403,"en":"Accountant required","fr":"Accès réservé à la comptabilité."},"ACCOUNTING_PERIOD_FETCH_FAILED":{"http":500,"en":"Accounting period fetch failed","fr":"Impossible de charger la période."},"ACCOUNT_BLOCKED":{"http":403,"en":"Account blocked","fr":"Votre compte est suspendu. Contactez le support."},"ACCOUNT_DELETE_FAILED":{"http":[],"en":"Account delete failed","fr":"Impossible de supprimer — compte"},"ACCOUNT_ROLE_CODE_UNKNOWN":{"http":500,"en":"Account role code unknown","fr":"Une erreur interne est survenue. Réessayez plus tard."},"ACCOUNT_ROLE_INVALID":{"http":422,"en":"Account role invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"ACCOUNT_ROLE_LOOKUP_FAILED":{"http":500,"en":"Account role lookup failed","fr":"Impossible de retrouver le rôle."},"ACCOUNT_ROLE_NOT_HELD":{"http":409,"en":"Account role not held","fr":"Conflit : l'état actuel ne permet pas cette action."},"ACCOUNT_ROLE_STATUS_UPDATE_FAILED":{"http":500,"en":"Account role status update failed","fr":"Impossible de mettre à jour le rôle."},"ACCOUNT_ROLE_SUSPENDED":{"http":403,"en":"Account role suspended","fr":"Vous n'êtes pas autorisé à effectuer cette action."},"ACCOUNT_ROLE_WALLET_LOOKUP_FAILED":{"http":500,"en":"Account role wallet lookup failed","fr":"Impossible de retrouver le portefeuille."},"ACCOUNT_ROLE_WALLET_NOT_EMPTY":{"http":409,"en":"Account role wallet not empty","fr":"Le portefeuille n'est pas vide."},"ADDRESSES_FETCH_FAILED":{"http":500,"en":"Addresses fetch failed","fr":"Échec de la récupération — adresses"},"ADDRESS_CREATE_FAILED":{"http":400,"en":"Address create failed","fr":"Impossible de créer — adresse"},"ADDRESS_DELETE_FAILED":{"http":400,"en":"Address delete failed","fr":"Impossible de supprimer — adresse"},"ADDRESS_NOT_FOUND":{"http":404,"en":"Address not found","fr":"Adresse introuvable"},"ADDRESS_UPDATE_FAILED":{"http":400,"en":"Address update failed","fr":"Impossible de mettre à jour — adresse"},"ADMIN_ACCOUNTANTS_FETCH_FAILED":{"http":500,"en":"Admin accountants fetch failed","fr":"Impossible de charger les comptables."},"ADMIN_ACCOUNTANTS_PROFILES_FAILED":{"http":500,"en":"Admin accountants profiles failed","fr":"Une erreur est survenue. Réessayez plus tard."},"ADMIN_ACCOUNTANT_AUTH_CREATE_FAILED":{"http":400,"en":"Admin accountant auth create failed","fr":"Impossible de créer le comptable."},"ADMIN_ACCOUNTANT_COUNTRY_LOOKUP_FAILED":{"http":500,"en":"Admin accountant country lookup failed","fr":"Impossible de retrouver le pays."},"ADMIN_ACCOUNTANT_COUNTRY_REQUIRED":{"http":400,"en":"Admin accountant country required","fr":"Une information obligatoire est manquante."},"ADMIN_ACCOUNTANT_FETCH_FAILED":{"http":500,"en":"Admin accountant fetch failed","fr":"Impossible de charger le comptable."},"ADMIN_ACCOUNTANT_FIELDS_REQUIRED":{"http":400,"en":"Admin accountant fields required","fr":"Une information obligatoire est manquante."},"ADMIN_ACCOUNTANT_ROLE_ASSIGN_FAILED":{"http":500,"en":"Admin accountant role assign failed","fr":"Impossible d'effectuer l'affectation."},"ADMIN_ACCOUNTANT_ROLE_MISSING":{"http":500,"en":"Admin accountant role missing","fr":"Une information obligatoire est manquante."},"ADMIN_AUDIT_LOG_FETCH_FAILED":{"http":500,"en":"Admin audit log fetch failed","fr":"Impossible de charger les données."},"ADMIN_CATALOG_CREATE_FAILED":{"http":400,"en":"Admin catalog create failed","fr":"Impossible de créer l'élément catalogue"},"ADMIN_CATALOG_DISABLE_FAILED":{"http":400,"en":"Admin catalog disable failed","fr":"Impossible de désactiver l'élément catalogue"},"ADMIN_CATALOG_FETCH_FAILED":{"http":500,"en":"Admin catalog fetch failed","fr":"Échec de la récupération du catalogue administration"},"ADMIN_CATALOG_RESOURCE_INVALID":{"http":400,"en":"Unknown catalog resource","fr":"Ressource catalogue inconnue — administration"},"ADMIN_CATALOG_UPDATE_FAILED":{"http":400,"en":"Admin catalog update failed","fr":"Impossible de mettre à jour l'élément catalogue"},"ADMIN_COUNT_FAILED":{"http":500,"en":"Admin count failed","fr":"Échec du comptage — administration"},"ADMIN_CREDIT_INVALID_AMOUNT":{"http":400,"en":"Admin credit invalid amount","fr":"Requête invalide. Vérifiez les informations saisies."},"ADMIN_DELIVERIES_FETCH_FAILED":{"http":500,"en":"Admin deliveries fetch failed","fr":"Échec de la récupération — administration livraisons"},"ADMIN_DRIVERS_BATCH_FETCH_FAILED":{"http":500,"en":"Admin drivers batch fetch failed","fr":"Impossible de charger les chauffeurs."},"ADMIN_DRIVERS_COUNT_FAILED":{"http":500,"en":"Admin drivers count failed","fr":"Échec du comptage — administration chauffeurs"},"ADMIN_DRIVERS_FETCH_FAILED":{"http":500,"en":"Admin drivers fetch failed","fr":"Échec de la récupération — administration chauffeurs"},"ADMIN_DRIVERS_SEARCH_FAILED":{"http":500,"en":"Admin drivers search failed","fr":"La recherche a échoué. Réessayez."},"ADMIN_DRIVER_APPROVE_FAILED":{"http":400,"en":"Admin driver approve failed","fr":"Impossible d'approuver pour le moment."},"ADMIN_DRIVER_DELETE_FAILED":{"http":400,"en":"Admin driver delete failed","fr":"Impossible de supprimer le chauffeur."},"ADMIN_DRIVER_FETCH_FAILED":{"http":500,"en":"Admin driver fetch failed","fr":"Impossible de charger le chauffeur."},"ADMIN_DRIVER_PATCH_EMPTY":{"http":400,"en":"No valid fields to update","fr":"Aucun champ valide à mettre à jour"},"ADMIN_DRIVER_PATCH_FAILED":{"http":400,"en":"Admin driver patch failed","fr":"Impossible de modifier — administration chauffeur"},"ADMIN_DRIVER_REJECT_FAILED":{"http":400,"en":"Admin driver reject failed","fr":"Impossible de rejeter pour le moment."},"ADMIN_FILTERS_CITIES_FAILED":{"http":500,"en":"Admin filters cities failed","fr":"Échec de la récupération des filtres villes"},"ADMIN_FILTERS_FRANCHISES_FAILED":{"http":500,"en":"Admin filters franchises failed","fr":"Échec de la récupération des filtres franchises"},"ADMIN_FILTERS_PARTNERS_FAILED":{"http":500,"en":"Admin filters partners failed","fr":"Échec de la récupération des filtres partenaires"},"ADMIN_FRANCHISES_COUNT_FAILED":{"http":500,"en":"Admin franchises count failed","fr":"Impossible de calculer le total pour le moment."},"ADMIN_FRANCHISES_FETCH_FAILED":{"http":500,"en":"Admin franchises fetch failed","fr":"Impossible de charger les franchises."},"ADMIN_FRANCHISE_ADMIN_REQUIRED":{"http":400,"en":"Admin franchise admin required","fr":"Une information obligatoire est manquante."},"ADMIN_FRANCHISE_ARCHIVE_FAILED":{"http":400,"en":"Admin franchise archive failed","fr":"Impossible d'archiver la franchise."},"ADMIN_FRANCHISE_ARCHIVE_MEMBERS_FAILED":{"http":500,"en":"Admin franchise archive members failed","fr":"Une erreur est survenue. Réessayez plus tard."},"ADMIN_FRANCHISE_ARCHIVE_PROFILES_FAILED":{"http":500,"en":"Admin franchise archive profiles failed","fr":"Une erreur est survenue. Réessayez plus tard."},"ADMIN_FRANCHISE_ARCHIVE_ROLES_FAILED":{"http":500,"en":"Admin franchise archive roles failed","fr":"Une erreur est survenue. Réessayez plus tard."},"ADMIN_FRANCHISE_AUTH_CREATE_FAILED":{"http":400,"en":"Admin franchise auth create failed","fr":"Impossible de créer la franchise."},"ADMIN_FRANCHISE_CITY_LOOKUP_FAILED":{"http":500,"en":"Admin franchise city lookup failed","fr":"Impossible de retrouver la ville."},"ADMIN_FRANCHISE_CITY_REQUIRED":{"http":400,"en":"Admin franchise city required","fr":"Une information obligatoire est manquante."},"ADMIN_FRANCHISE_CONTACT_ALREADY_USED":{"http":409,"en":"Franchise contact email or phone already used","fr":"Cet e-mail ou ce téléphone est déjà rattaché à un compte existant. Si la franchise correspondante a été archivée, réactivez-la plutôt que d'en créer une nouvelle."},"ADMIN_FRANCHISE_COUNTRY_LOOKUP_FAILED":{"http":500,"en":"Admin franchise country lookup failed","fr":"Impossible de retrouver le pays."},"ADMIN_FRANCHISE_CREATE_FAILED":{"http":400,"en":"Admin franchise create failed","fr":"Impossible de créer la franchise."},"ADMIN_FRANCHISE_FETCH_FAILED":{"http":500,"en":"Admin franchise fetch failed","fr":"Impossible de charger la franchise."},"ADMIN_FRANCHISE_MEMBER_CREATE_FAILED":{"http":400,"en":"Admin franchise member create failed","fr":"Impossible de créer le membre."},"ADMIN_FRANCHISE_NAME_REQUIRED":{"http":400,"en":"Admin franchise name required","fr":"Une information obligatoire est manquante."},"ADMIN_FRANCHISE_PATCH_EMPTY":{"http":400,"en":"Admin franchise patch empty","fr":"Aucune modification fournie."},"ADMIN_FRANCHISE_PATCH_FAILED":{"http":400,"en":"Admin franchise patch failed","fr":"Impossible de mettre à jour la franchise."},"ADMIN_FRANCHISE_RESTORE_FAILED":{"http":400,"en":"Admin franchise restore failed","fr":"Une erreur est survenue. Réessayez plus tard."},"ADMIN_FRANCHISE_RESTORE_MEMBERS_FAILED":{"http":500,"en":"Admin franchise restore members failed","fr":"Une erreur est survenue. Réessayez plus tard."},"ADMIN_FRANCHISE_RESTORE_PROFILES_FAILED":{"http":500,"en":"Admin franchise restore profiles failed","fr":"Une erreur est survenue. Réessayez plus tard."},"ADMIN_FRANCHISE_RESTORE_ROLES_FAILED":{"http":500,"en":"Admin franchise restore roles failed","fr":"Une erreur est survenue. Réessayez plus tard."},"ADMIN_FRANCHISE_REVENUE_FAILED":{"http":500,"en":"Admin franchise revenue failed","fr":"Une erreur est survenue. Réessayez plus tard."},"ADMIN_FRANCHISE_ZONES_FAILED":{"http":500,"en":"Admin franchise zones failed","fr":"Une erreur est survenue. Réessayez plus tard."},"ADMIN_FREIGHT_DETAIL_FAILED":{"http":500,"en":"Admin freight detail failed","fr":"Une erreur est survenue. Réessayez plus tard."},"ADMIN_INSERT_FAILED":{"http":400,"en":"Admin insert failed","fr":"Impossible d'insérer — administration"},"ADMIN_KYC_COUNT_FAILED":{"http":500,"en":"Admin kyc count failed","fr":"Échec du comptage — administration KYC"},"ADMIN_KYC_FETCH_FAILED":{"http":500,"en":"Admin kyc fetch failed","fr":"Échec de la récupération — administration KYC"},"ADMIN_KYC_QUEUE_ENRICH_FAILED":{"http":500,"en":"Admin kyc queue enrich failed","fr":"Une erreur est survenue. Réessayez plus tard."},"ADMIN_KYC_QUEUE_FAILED":{"http":500,"en":"Admin kyc queue failed","fr":"Échec de la file d'attente — administration KYC"},"ADMIN_KYC_QUEUE_SEARCH_FAILED":{"http":500,"en":"Admin kyc queue search failed","fr":"La recherche a échoué. Réessayez."},"ADMIN_LIVE_DRIVERS_COUNT_FAILED":{"http":500,"en":"Admin live drivers count failed","fr":"Impossible de calculer le total pour le moment."},"ADMIN_LIVE_DRIVERS_FAILED":{"http":500,"en":"Admin live drivers failed","fr":"Échec — administration temps réel chauffeurs"},"ADMIN_LIVE_VEHICLES_FAILED":{"http":500,"en":"Admin live vehicles failed","fr":"Une erreur est survenue. Réessayez plus tard."},"ADMIN_LIVE_VEHICLE_REFS_FAILED":{"http":500,"en":"Admin live vehicle refs failed","fr":"Une erreur est survenue. Réessayez plus tard."},"ADMIN_LIVE_VIEWPORT_BBOX_REQUIRED":{"http":400,"en":"Admin live viewport bbox required","fr":"Une information obligatoire est manquante."},"ADMIN_LIVE_VIEWPORT_COUNT_FAILED":{"http":500,"en":"Admin live viewport count failed","fr":"Impossible de calculer le total pour le moment."},"ADMIN_LIVE_VIEWPORT_DRIVERS_FAILED":{"http":500,"en":"Admin live viewport drivers failed","fr":"Une erreur est survenue. Réessayez plus tard."},"ADMIN_LIVE_VIEWPORT_VALIDATE_FAILED":{"http":500,"en":"Admin live viewport validate failed","fr":"Une erreur est survenue. Réessayez plus tard."},"ADMIN_ORDERS_COUNT_FAILED":{"http":500,"en":"Admin orders count failed","fr":"Échec du comptage — administration commandes"},"ADMIN_ORDERS_FETCH_FAILED":{"http":500,"en":"Admin orders fetch failed","fr":"Échec de la récupération — administration commandes"},"ADMIN_ORDERS_INVALID_PHONE":{"http":400,"en":"Admin orders invalid phone","fr":"Requête invalide. Vérifiez les informations saisies."},"ADMIN_ORDER_DETAIL_UNSUPPORTED":{"http":501,"en":"Only RIDE orders are supported for now","fr":"Seules les commandes RIDE sont prises en charge pour l'instant"},"ADMIN_ORDER_RESOLVE_FAILED":{"http":500,"en":"Admin order resolve failed","fr":"Une erreur est survenue. Réessayez plus tard."},"ADMIN_PARTNERS_BATCH_FETCH_FAILED":{"http":500,"en":"Admin partners batch fetch failed","fr":"Impossible de charger les partenaires."},"ADMIN_PARTNERS_COUNT_FAILED":{"http":500,"en":"Admin partners count failed","fr":"Échec du comptage — administration partenaires"},"ADMIN_PARTNERS_FETCH_FAILED":{"http":500,"en":"Admin partners fetch failed","fr":"Échec de la récupération — administration partenaires"},"ADMIN_PARTNER_FETCH_FAILED":{"http":500,"en":"Admin partner fetch failed","fr":"Impossible de charger le partenaire."},"ADMIN_PARTNER_PATCH_EMPTY":{"http":400,"en":"Admin partner patch empty","fr":"Aucune modification fournie."},"ADMIN_PARTNER_PATCH_FAILED":{"http":400,"en":"Admin partner patch failed","fr":"Impossible de mettre à jour le partenaire."},"ADMIN_PARTNER_RIDE_STATS_FAILED":{"http":500,"en":"Admin partner ride stats failed","fr":"Une erreur est survenue. Réessayez plus tard."},"ADMIN_PENDING_WITHDRAWALS_FETCH_FAILED":{"http":500,"en":"Admin pending withdrawals fetch failed","fr":"Impossible de charger les retraits."},"ADMIN_PROFILES_BATCH_FETCH_FAILED":{"http":500,"en":"Admin profiles batch fetch failed","fr":"Impossible de charger les profils."},"ADMIN_RENTAL_DETAIL_FAILED":{"http":500,"en":"Admin rental detail failed","fr":"Une erreur est survenue. Réessayez plus tard."},"ADMIN_RENTAL_OVERVIEW_FAILED":{"http":500,"en":"Admin rental overview failed","fr":"Une erreur est survenue. Réessayez plus tard."},"ADMIN_RENTAL_VEHICLES_FETCH_FAILED":{"http":500,"en":"Admin rental vehicles fetch failed","fr":"Impossible de charger les véhicules."},"ADMIN_REQUIRED":{"http":403,"en":"Admin JWT required for live map room","fr":"Droits administrateur requis"},"ADMIN_RIDES_FETCH_FAILED":{"http":500,"en":"Admin rides fetch failed","fr":"Échec de la récupération — administration courses"},"ADMIN_ROLE_ASSIGN_FAILED":{"http":500,"en":"Admin role assign failed","fr":"Impossible d'effectuer l'affectation."},"ADMIN_ROLE_ASSIGN_LOOKUP_FAILED":{"http":500,"en":"Admin role assign lookup failed","fr":"Impossible de retrouver le rôle."},"ADMIN_ROLE_LOOKUP_FAILED":{"http":500,"en":"Admin role lookup failed","fr":"Impossible de retrouver le rôle."},"ADMIN_STAFF_AUTH_CREATE_FAILED":{"http":400,"en":"Admin staff auth create failed","fr":"Impossible de créer cet élément."},"ADMIN_STAFF_COUNTRY_LOOKUP_FAILED":{"http":500,"en":"Admin staff country lookup failed","fr":"Impossible de retrouver le pays."},"ADMIN_STAFF_COUNTRY_REQUIRED":{"http":400,"en":"Admin staff country required","fr":"Une information obligatoire est manquante."},"ADMIN_STAFF_FETCH_FAILED":{"http":500,"en":"Admin staff fetch failed","fr":"Impossible de charger les données."},"ADMIN_STAFF_FIELDS_REQUIRED":{"http":400,"en":"Admin staff fields required","fr":"Une information obligatoire est manquante."},"ADMIN_STAFF_PROFILES_FAILED":{"http":500,"en":"Admin staff profiles failed","fr":"Une erreur est survenue. Réessayez plus tard."},"ADMIN_STAFF_ROLE_ASSIGN_FAILED":{"http":500,"en":"Admin staff role assign failed","fr":"Impossible d'effectuer l'affectation."},"ADMIN_STAFF_ROLE_MISSING":{"http":500,"en":"Admin staff role missing","fr":"Une information obligatoire est manquante."},"ADMIN_TABLE_FETCH_FAILED":{"http":500,"en":"Admin table fetch failed","fr":"Échec de la récupération de la table administration"},"ADMIN_UPDATE_FAILED":{"http":400,"en":"Admin update failed","fr":"Impossible de mettre à jour — administration"},"ADMIN_USERS_COUNT_FAILED":{"http":500,"en":"Admin users count failed","fr":"Échec du comptage — administration utilisateurs"},"ADMIN_USERS_FETCH_FAILED":{"http":500,"en":"Admin users fetch failed","fr":"Échec de la récupération — administration utilisateurs"},"ADMIN_USER_DELETE_FAILED":{"http":400,"en":"Admin user delete failed","fr":"Impossible de supprimer l'utilisateur."},"ADMIN_USER_FETCH_FAILED":{"http":500,"en":"Admin user fetch failed","fr":"Impossible de charger l'utilisateur."},"ADMIN_USER_PATCH_EMPTY":{"http":400,"en":"Admin user patch empty","fr":"Aucune modification fournie."},"ADMIN_USER_PATCH_FAILED":{"http":400,"en":"Admin user patch failed","fr":"Impossible de mettre à jour l'utilisateur."},"ADMIN_USER_STATUS_FAILED":{"http":400,"en":"Admin user status failed","fr":"Une erreur est survenue. Réessayez plus tard."},"ADMIN_VEHICLES_BATCH_FETCH_FAILED":{"http":500,"en":"Admin vehicles batch fetch failed","fr":"Impossible de charger les véhicules."},"ADMIN_VEHICLES_COUNT_FAILED":{"http":500,"en":"Admin vehicles count failed","fr":"Impossible de calculer le total pour le moment."},"ADMIN_VEHICLES_FETCH_FAILED":{"http":500,"en":"Admin vehicles fetch failed","fr":"Impossible de charger les véhicules."},"ADMIN_VEHICLE_DELETE_FAILED":{"http":400,"en":"Admin vehicle delete failed","fr":"Impossible de supprimer le véhicule."},"ADMIN_VEHICLE_FETCH_FAILED":{"http":500,"en":"Admin vehicle fetch failed","fr":"Impossible de charger le véhicule."},"ADMIN_VEHICLE_PATCH_EMPTY":{"http":400,"en":"Admin vehicle patch empty","fr":"Aucune modification fournie."},"ADMIN_VEHICLE_PATCH_FAILED":{"http":400,"en":"Admin vehicle patch failed","fr":"Impossible de mettre à jour le véhicule."},"ADMIN_WALLETS_BATCH_FETCH_FAILED":{"http":500,"en":"Admin wallets batch fetch failed","fr":"Impossible de charger les portefeuilles."},"ADMIN_WITHDRAWALS_COUNT_FAILED":{"http":500,"en":"Admin withdrawals count failed","fr":"Échec du comptage — administration retraits"},"ADMIN_WITHDRAWALS_FETCH_FAILED":{"http":500,"en":"Admin withdrawals fetch failed","fr":"Échec de la récupération — administration retraits"},"ADMIN_WITHDRAWAL_FETCH_FAILED":{"http":500,"en":"Admin withdrawal fetch failed","fr":"Impossible de charger le retrait."},"AI_EMPTY_RESPONSE":{"http":502,"en":"Empty AI response","fr":"L'assistant IA n'a pas pu répondre. Réessayez plus tard."},"AI_EMPTY_SUMMARY":{"http":502,"en":"Ai empty summary","fr":"Service momentanément indisponible. Réessayez plus tard."},"AI_NOT_CONFIGURED":{"http":503,"en":"AI assistant not configured","fr":"Assistant IA indisponible pour le moment."},"AI_PARSE_FAILED":{"http":502,"en":"Invalid AI response","fr":"Réponse de l'assistant IA invalide. Réessayez plus tard."},"AI_PROVIDER_ERROR":{"http":502,"en":"AI provider error","fr":"Service IA momentanément indisponible. Réessayez plus tard."},"AI_PROVIDER_UNREACHABLE":{"http":502,"en":"AI provider unreachable","fr":"Service IA momentanément injoignable. Réessayez plus tard."},"ALREADY_COMPLETED":{"http":409,"en":"Already completed","fr":"Cette opération est déjà terminée."},"AMOUNT_INVALID":{"http":400,"en":"${field} must be a positive number","fr":"Montant invalide"},"AMOUNT_REQUIRED":{"http":422,"en":"Amount required","fr":"Une information obligatoire est manquante."},"APP_BANNERS_FETCH_FAILED":{"http":500,"en":"App banners fetch failed","fr":"Échec de la récupération — application bannières"},"APP_UPDATE_CONFIG_FETCH_FAILED":{"http":500,"en":"App update config fetch failed","fr":"Impossible de charger les données."},"APP_UPDATE_CONFIG_UPDATE_FAILED":{"http":500,"en":"App update config update failed","fr":"Impossible d'enregistrer les modifications."},"ASSIGNMENTS_REQUIRED":{"http":422,"en":"Assignments required","fr":"Une information obligatoire est manquante."},"AUDIENCE_DRIVERS_FAILED":{"http":500,"en":"Audience drivers failed","fr":"Une erreur est survenue. Réessayez plus tard."},"AUDIENCE_PROFILES_FAILED":{"http":500,"en":"Audience profiles failed","fr":"Une erreur est survenue. Réessayez plus tard."},"AUDIT_EVENT_NOT_FOUND":{"http":404,"en":"Audit event not found","fr":"Événement introuvable."},"AUDIT_JOURNAL_FETCH_FAILED":{"http":500,"en":"Audit journal fetch failed","fr":"Impossible de charger les données."},"AUDIT_ORDER_TRAIL_NOT_FOUND":{"http":404,"en":"Audit order trail not found","fr":"Commande introuvable."},"AUDIT_SESSIONS_FETCH_FAILED":{"http":500,"en":"Audit sessions fetch failed","fr":"Impossible de charger les données."},"AUDIT_USER_TRAIL_NOT_FOUND":{"http":404,"en":"Audit user trail not found","fr":"Utilisateur introuvable."},"AUTH_ADMIN_INVITE_REQUIRED":{"http":403,"en":"Admin registration requires a valid inviteCode (or devBypass in dev sandbox)","fr":"Code d'invitation administrateur requis"},"AUTH_ALREADY_REGISTERED":{"http":409,"en":"Auth already registered","fr":"Un compte existe déjà avec ces informations."},"AUTH_CONTEXT_UNAVAILABLE":{"http":503,"en":"Auth context unavailable","fr":"Service momentanément indisponible. Réessayez dans quelques instants."},"AUTH_DRIVER_OTP_SEND_FAILED":{"http":400,"en":"Auth driver otp send failed","fr":"Échec de l'envoi du code OTP chauffeur"},"AUTH_DRIVER_OTP_VERIFY_FAILED":{"http":400,"en":"Auth driver otp verify failed","fr":"Échec de la vérification — authentification code OTP"},"AUTH_DRIVER_OTP_VERIFY_INVALID":{"http":400,"en":"countryCode, phone and code are required","fr":"Code OTP invalide"},"AUTH_DRIVER_PHONE_REQUIRED":{"http":400,"en":"countryCode and phone are required","fr":"Indicatif pays et numéro de téléphone requis"},"AUTH_EXISTS_INVALID":{"http":400,"en":"Auth exists invalid","fr":"Requête invalide."},"AUTH_FORBIDDEN":{"http":403,"en":"Auth forbidden","fr":"Accès refusé."},"AUTH_FRANCHISE_ID_REQUIRED":{"http":400,"en":"franchiseId is required for franchise registration","fr":"Identifiant franchise requis"},"AUTH_INVALID":{"http":[],"en":"Invalid or expired token","fr":"Jeton invalide ou expiré"},"AUTH_LOGIN_FAILED":{"http":401,"en":"Invalid login credentials","fr":"Identifiants incorrects"},"AUTH_LOGIN_INVALID":{"http":400,"en":"email and password are required","fr":"E-mail et mot de passe requis"},"AUTH_LOGIN_TOO_MANY_ATTEMPTS":{"http":429,"en":"Auth login too many attempts","fr":"Trop de tentatives. Réessayez dans un instant."},"AUTH_OTP_VERIFY_FAILED":{"http":400,"en":"Auth otp verify failed","fr":"Code de vérification invalide ou expiré."},"AUTH_OTP_VERIFY_INVALID":{"http":400,"en":"Auth otp verify invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"AUTH_PHONE_INVALID":{"http":400,"en":"Invalid phone number format","fr":"Numéro de téléphone invalide"},"AUTH_PORTAL_FORBIDDEN":{"http":403,"en":"Auth portal forbidden","fr":"Vous n'êtes pas autorisé à effectuer cette action."},"AUTH_PROFILE_FETCH_FAILED":{"http":500,"en":"Auth profile fetch failed","fr":"Échec de la récupération — authentification profil"},"AUTH_PROFILE_MISSING":{"http":403,"en":"User profile not found","fr":"Profil utilisateur introuvable"},"AUTH_PROFILE_UPDATE_FAILED":{"http":500,"en":"Auth profile update failed","fr":"Impossible de mettre à jour le profil."},"AUTH_PROFILE_UPSERT_FAILED":{"http":500,"en":"Auth profile upsert failed","fr":"Impossible d'enregistrer — authentification profil"},"AUTH_REFRESH_FAILED":{"http":401,"en":"Auth refresh failed","fr":"Session expirée. Veuillez vous reconnecter."},"AUTH_REGISTER_FAILED":{"http":400,"en":"Auth register failed","fr":"Impossible d'enregistrer — authentification"},"AUTH_REGISTER_INVALID":{"http":400,"en":"email and password are required","fr":"E-mail et mot de passe requis"},"AUTH_REQUIRED":{"http":401,"en":"Authentication required","fr":"Authentification requise"},"AUTH_RESET_PASSWORD_FAILED":{"http":400,"en":"Auth reset password failed","fr":"Impossible de réinitialiser le mot de passe."},"AUTH_RESET_PASSWORD_INVALID":{"http":400,"en":"Auth reset password invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"AUTH_ROLE_ASSIGN_FAILED":{"http":500,"en":"Auth role assign failed","fr":"Impossible d'attribuer — authentification rôle"},"AUTH_ROLE_LOOKUP_FAILED":{"http":500,"en":"Auth role lookup failed","fr":"Échec de la recherche — authentification rôle"},"AUTH_ROLE_MISMATCH":{"http":403,"en":"Expected user_type ${expected}, got ${userType}. Use POST ${hint} or add \"role\":\"${userType.toLowerCase()}\" in the body.","fr":"Ce compte ne correspond pas au rôle demandé"},"AUTH_SELF_REGISTRATION_FORBIDDEN":{"http":403,"en":"Auth self registration forbidden","fr":"Vous n'êtes pas autorisé à effectuer cette action."},"BAD_REQUEST":{"http":400,"en":"Bad request","fr":"Requête invalide. Vérifiez les informations saisies."},"BANNER_TITLE_REQUIRED":{"http":400,"en":"Banner title required","fr":"Une information obligatoire est manquante."},"BONUS_AWARDS_DRIVER_FETCH_FAILED":{"http":500,"en":"Bonus awards driver fetch failed","fr":"Impossible de charger le chauffeur."},"BONUS_AWARDS_FETCH_FAILED":{"http":500,"en":"Bonus awards fetch failed","fr":"Impossible de charger le bonus."},"BONUS_AWARDS_PROFILE_FETCH_FAILED":{"http":500,"en":"Bonus awards profile fetch failed","fr":"Impossible de charger le profil."},"BONUS_AWARDS_RULE_FETCH_FAILED":{"http":500,"en":"Bonus awards rule fetch failed","fr":"Impossible de charger le bonus."},"BONUS_AWARD_FETCH_FAILED":{"http":500,"en":"Bonus award fetch failed","fr":"Impossible de charger le bonus."},"BONUS_AWARD_INSERT_FAILED":{"http":500,"en":"Bonus award insert failed","fr":"Impossible de créer le bonus."},"BONUS_BACKFILL_FUTURE":{"http":400,"en":"Bonus backfill future","fr":"Requête invalide. Vérifiez les informations saisies."},"BONUS_BACKFILL_RANGE_INVALID":{"http":400,"en":"Bonus backfill range invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"BONUS_BACKFILL_RANGE_TOO_WIDE":{"http":400,"en":"Bonus backfill range too wide","fr":"Requête invalide. Vérifiez les informations saisies."},"BONUS_EVAL_DRIVERS_FETCH_FAILED":{"http":500,"en":"Bonus eval drivers fetch failed","fr":"Impossible de charger les chauffeurs."},"BONUS_FRANCHISE_REQUIRED":{"http":400,"en":"Bonus franchise required","fr":"Une information obligatoire est manquante."},"BONUS_HISTORY_FETCH_FAILED":{"http":500,"en":"Bonus history fetch failed","fr":"Impossible de charger le bonus."},"BONUS_PARTNER_REQUIRED":{"http":400,"en":"Bonus partner required","fr":"Une information obligatoire est manquante."},"BONUS_RULES_FETCH_FAILED":{"http":500,"en":"Bonus rules fetch failed","fr":"Impossible de charger le bonus."},"BONUS_RULE_CREATE_FAILED":{"http":400,"en":"Bonus rule create failed","fr":"Impossible de créer le bonus."},"BONUS_RULE_DELETE_FAILED":{"http":500,"en":"Bonus rule delete failed","fr":"Impossible de supprimer le bonus."},"BONUS_RULE_FETCH_FAILED":{"http":500,"en":"Bonus rule fetch failed","fr":"Impossible de charger le bonus."},"BONUS_RULE_FRANCHISE_FETCH_FAILED":{"http":500,"en":"Bonus rule franchise fetch failed","fr":"Impossible de charger la franchise."},"BONUS_RULE_NOT_AT_FRANCHISE_TIER":{"http":403,"en":"Bonus rule not at franchise tier","fr":"Vous n'êtes pas autorisé à effectuer cette action."},"BONUS_RULE_NOT_FOUND":{"http":404,"en":"Bonus rule not found","fr":"Bonus introuvable."},"BONUS_RULE_PARTNER_FETCH_FAILED":{"http":500,"en":"Bonus rule partner fetch failed","fr":"Impossible de charger le partenaire."},"BONUS_RULE_UPDATE_FAILED":{"http":400,"en":"Bonus rule update failed","fr":"Impossible de mettre à jour le bonus."},"BONUS_SETTINGS_UPDATE_FAILED":{"http":400,"en":"Bonus settings update failed","fr":"Impossible de mettre à jour les paramètres."},"BONUS_TIERS_REQUIRED":{"http":400,"en":"Bonus tiers required","fr":"Une information obligatoire est manquante."},"BONUS_TRIP_COUNT_FAILED":{"http":500,"en":"Bonus trip count failed","fr":"Impossible de calculer le total pour le moment."},"BONUS_WEEK_START_INVALID":{"http":400,"en":"Bonus week start invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"BOOKING_CLIENT_CREATE_FAILED":{"http":400,"en":"Booking client create failed","fr":"Impossible de créer le client."},"BOOKING_CLIENT_LOOKUP_FAILED":{"http":500,"en":"Booking client lookup failed","fr":"Impossible de retrouver le client."},"BOOKING_NOT_FOUND":{"http":404,"en":"Booking not found","fr":"Réservation introuvable."},"BUSINESS_ACCOUNTS_FETCH_FAILED":{"http":500,"en":"Business accounts fetch failed","fr":"Échec de la récupération des comptes entreprise"},"BUSINESS_ACCOUNT_CREATE_FAILED":{"http":500,"en":"Business account create failed","fr":"Impossible de créer le compte entreprise"},"BUSINESS_ACCOUNT_FETCH_FAILED":{"http":500,"en":"Business account fetch failed","fr":"Échec de la récupération du compte entreprise"},"BUSINESS_ACCOUNT_NOT_FOUND":{"http":404,"en":"Business account not found","fr":"Compte entreprise introuvable"},"BUSINESS_ACCOUNT_UPDATE_FAILED":{"http":500,"en":"Business account update failed","fr":"Impossible de mettre à jour le compte entreprise"},"BUSINESS_FORBIDDEN":{"http":403,"en":"Business forbidden","fr":"Vous n'êtes pas autorisé pour cette entreprise."},"BUSINESS_MEMBERSHIPS_FETCH_FAILED":{"http":500,"en":"Business memberships fetch failed","fr":"Échec de la récupération — entreprise adhésions"},"BUSINESS_MEMBERS_FETCH_FAILED":{"http":500,"en":"Business members fetch failed","fr":"Échec de la récupération — entreprise membres"},"BUSINESS_MEMBER_CREATE_FAILED":{"http":500,"en":"Business member create failed","fr":"Impossible de créer — entreprise membre"},"BUSINESS_MEMBER_FETCH_FAILED":{"http":500,"en":"Business member fetch failed","fr":"Impossible de charger le membre."},"BUSINESS_MEMBER_NOT_FOUND":{"http":404,"en":"Business member not found","fr":"Membre introuvable."},"BUSINESS_MEMBER_UPDATE_FAILED":{"http":500,"en":"Business member update failed","fr":"Impossible de mettre à jour — entreprise membre"},"BUSY_DRIVERS_DELIVERIES_FAILED":{"http":500,"en":"Busy drivers deliveries failed","fr":"Échec — chauffeurs occupés chauffeurs livraisons"},"BUSY_DRIVERS_RIDES_FAILED":{"http":500,"en":"Busy drivers rides failed","fr":"Échec — chauffeurs occupés chauffeurs courses"},"CALL_CALLEE_ROLE_INVALID":{"http":400,"en":"calleeRole must be one of client, driver, recipient","fr":"Interlocuteur demandé invalide (client, driver ou recipient)."},"CALL_LOG_CREATE_FAILED":{"http":500,"en":"Call log create failed","fr":"Impossible de créer — journal"},"CALL_NOT_ALLOWED":{"http":403,"en":"Call not allowed","fr":"L'appel n'est pas autorisé à ce stade."},"CALL_ORDER_NOT_ACTIVE":{"http":409,"en":"Call order not active","fr":"Cet élément n'est pas actif."},"CALL_ORDER_REQUIRED":{"http":400,"en":"Call order required","fr":"Une commande est requise pour appeler."},"CALL_RECIPIENT_NOT_APPLICABLE":{"http":400,"en":"This order has no recipient","fr":"Cette commande n'a pas de destinataire à appeler."},"CALL_RECIPIENT_PHONE_MISSING":{"http":400,"en":"No recipient phone number on this order","fr":"Aucun numéro n'a été renseigné pour le destinataire."},"CAMPAIGNS_FETCH_FAILED":{"http":500,"en":"Campaigns fetch failed","fr":"Échec de la récupération — campagnes"},"CAMPAIGN_CREATE_FAILED":{"http":500,"en":"Campaign create failed","fr":"Impossible de créer la campagne."},"CAMPAIGN_FETCH_FAILED":{"http":500,"en":"Campaign fetch failed","fr":"Impossible de charger la campagne."},"CAMPAIGN_INBOX_FAILED":{"http":500,"en":"Campaign inbox failed","fr":"Une erreur est survenue. Réessayez plus tard."},"CAMPAIGN_NOT_FOUND":{"http":404,"en":"Campaign not found","fr":"Campagne introuvable."},"CANCELLATION_REASONS_SERVICE_UNSUPPORTED":{"http":400,"en":"Cancellation reasons service unsupported","fr":"Opération non prise en charge."},"CANCELLATION_REASON_LOOKUP_FAILED":{"http":500,"en":"Cancellation reason lookup failed","fr":"Recherche impossible pour le moment."},"CANCEL_REASON_REQUIRED":{"http":422,"en":"Cancel reason required","fr":"Une information obligatoire est manquante."},"CARGO_CATEGORY_INVALID":{"http":422,"en":"Cargo category invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"CARGO_SUBCATEGORY_INVALID":{"http":422,"en":"Cargo subcategory invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"CASH_RECONCILIATIONS_FETCH_FAILED":{"http":500,"en":"Cash reconciliations fetch failed","fr":"Échec de la récupération des rapprochements espèces"},"CASH_RECONCILIATION_CREATE_FAILED":{"http":400,"en":"Cash reconciliation create failed","fr":"Impossible de créer — espèces rapprochement"},"CASH_RECONCILIATION_NOT_FOUND":{"http":404,"en":"Cash reconciliation not found","fr":"Rapprochement espèces introuvable"},"CATALOG_BRANDS_FAILED":{"http":500,"en":"Catalog brands failed","fr":"Échec de la récupération des marques catalogue"},"CATALOG_BRAND_CODE_REQUIRED":{"http":400,"en":"brandCode query is required (ex. ?brandCode=TOYOTA)","fr":"Le code marque est requis"},"CATALOG_BRAND_FAILED":{"http":500,"en":"Catalog brand failed","fr":"Échec de la récupération de la marque catalogue"},"CATALOG_BRAND_NOT_FOUND":{"http":404,"en":"Vehicle brand not found: ${ref}","fr":"Marque de véhicule introuvable : ${ref}"},"CATALOG_CATEGORY_FAILED":{"http":500,"en":"Catalog category failed","fr":"Échec de la récupération de la catégorie catalogue"},"CATALOG_CATEGORY_NOT_FOUND":{"http":404,"en":"Category not found: ${ref}","fr":"Catégorie introuvable : ${ref}"},"CATALOG_CITIES_FAILED":{"http":500,"en":"Catalog cities failed","fr":"Échec de la récupération des villes catalogue"},"CATALOG_CITY_FAILED":{"http":500,"en":"Catalog city failed","fr":"Échec de la récupération de la ville catalogue"},"CATALOG_CITY_NOT_FOUND":{"http":404,"en":"City not found: ${cityRef}","fr":"Ville introuvable : ${cityRef}"},"CATALOG_CITY_REF_REQUIRED":{"http":400,"en":"Provide citySlug + countryCode (ex. ?countryCode=CI&citySlug=abidjan) or cityId","fr":"La référence ville est requise"},"CATALOG_COLORS_FAILED":{"http":500,"en":"Catalog colors failed","fr":"Échec de la récupération des couleurs catalogue"},"CATALOG_COLOR_FAILED":{"http":500,"en":"Catalog color failed","fr":"Échec de la récupération de la couleur catalogue"},"CATALOG_COLOR_NOT_FOUND":{"http":404,"en":"Vehicle color not found: ${ref}","fr":"Couleur de véhicule introuvable : ${ref}"},"CATALOG_COUNTRY_CODE_REQUIRED":{"http":400,"en":"countryCode query is required (ex. ?countryCode=CI)","fr":"Le code pays est requis"},"CATALOG_COUNTRY_FAILED":{"http":500,"en":"Catalog country failed","fr":"Échec de la récupération du pays catalogue"},"CATALOG_COUNTRY_NOT_FOUND":{"http":404,"en":"Country not found: ${ref}","fr":"Pays introuvable : ${ref}"},"CATALOG_DOCUMENT_TYPES_FAILED":{"http":500,"en":"Catalog document types failed","fr":"Échec de la récupération des types de documents catalogue"},"CATALOG_FETCH_FAILED":{"http":500,"en":"Catalog fetch failed","fr":"Échec de la récupération du catalogue"},"CATALOG_GEO_DIVISIONS_FAILED":{"http":500,"en":"Catalog geo divisions failed","fr":"Une erreur est survenue. Réessayez plus tard."},"CATALOG_GEO_DIVISION_FAILED":{"http":500,"en":"Catalog geo division failed","fr":"Une erreur est survenue. Réessayez plus tard."},"CATALOG_GEO_DIVISION_NOT_FOUND":{"http":404,"en":"Catalog geo division not found","fr":"Ressource introuvable."},"CATALOG_MODELS_FAILED":{"http":500,"en":"Catalog models failed","fr":"Échec de la récupération des modèles catalogue"},"CATALOG_MODEL_FAILED":{"http":500,"en":"Catalog model failed","fr":"Échec de la récupération du modèle catalogue"},"CATALOG_MODEL_LOOKUP_FAILED":{"http":500,"en":"Catalog model lookup failed","fr":"Échec de la recherche du modèle catalogue"},"CATALOG_MODEL_NOT_FOUND":{"http":404,"en":"Vehicle model not found: ${modelRef}","fr":"Modèle de véhicule introuvable : ${modelRef}"},"CATALOG_PARTNERS_FAILED":{"http":500,"en":"Catalog partners failed","fr":"Échec de la récupération des partenaires catalogue"},"CATALOG_RIDE_OPTIONS_FAILED":{"http":500,"en":"Catalog ride options failed","fr":"Échec de la récupération des options course catalogue"},"CATALOG_SERVICE_CLASSES_FAILED":{"http":500,"en":"Catalog service classes failed","fr":"Échec de la récupération des catégories de service catalogue"},"CATALOG_SERVICE_TYPES_FAILED":{"http":500,"en":"Catalog service types failed","fr":"Échec de la récupération des types de service catalogue"},"CATEGORY_INVALID":{"http":422,"en":"Invalid category","fr":"Catégorie invalide."},"CATEGORY_REQUIRED":{"http":422,"en":"Category is required","fr":"La catégorie est requise."},"CHANNEL_MESSAGES_FETCH_FAILED":{"http":500,"en":"Channel messages fetch failed","fr":"Échec de la récupération — canal messages"},"CHANNEL_MESSAGE_CREATE_FAILED":{"http":400,"en":"Channel message create failed","fr":"Impossible de créer le message."},"CHANNEL_MESSAGE_FIELDS_REQUIRED":{"http":400,"en":"Channel message fields required","fr":"Une information obligatoire est manquante."},"CHANNEL_READ_STATE_CREATE_FAILED":{"http":500,"en":"Channel read state create failed","fr":"Impossible de créer — canal état"},"CHANNEL_READ_STATE_FETCH_FAILED":{"http":500,"en":"Channel read state fetch failed","fr":"Échec de la récupération — canal état"},"CHANNEL_READ_STATE_UPDATE_FAILED":{"http":500,"en":"Channel read state update failed","fr":"Impossible de mettre à jour — canal état"},"CHAT_ACCESS_DENIED":{"http":403,"en":"Chat access denied","fr":"Vous n'êtes pas autorisé à effectuer cette action."},"CHAT_ALREADY_CLOSED":{"http":409,"en":"Chat already closed","fr":"Cet élément est déjà clôturé."},"CHAT_ATTACHMENT_TOO_LARGE":{"http":413,"en":"Chat attachment too large","fr":"Le fichier est trop volumineux."},"CHAT_ATTACHMENT_TYPE_NOT_ALLOWED":{"http":415,"en":"Chat attachment type not allowed","fr":"Cette action n'est pas autorisée."},"CHAT_ATTACHMENT_UPLOAD_FAILED":{"http":500,"en":"Chat attachment upload failed","fr":"Une erreur est survenue. Réessayez plus tard."},"CHAT_CLOSED":{"http":409,"en":"Chat closed","fr":"Conflit : l'état actuel ne permet pas cette action."},"CHAT_CLOSE_FAILED":{"http":500,"en":"Chat close failed","fr":"Impossible de clôturer pour le moment."},"CHAT_CONVERSATIONS_FETCH_FAILED":{"http":500,"en":"Chat conversations fetch failed","fr":"Échec de la récupération des conversations"},"CHAT_CONVERSATION_CREATE_FAILED":{"http":500,"en":"Chat conversation create failed","fr":"Impossible de créer la conversation."},"CHAT_CONVERSATION_FETCH_FAILED":{"http":500,"en":"Chat conversation fetch failed","fr":"Impossible de charger la conversation."},"CHAT_CONVERSATION_FORBIDDEN":{"http":403,"en":"Chat conversation forbidden","fr":"Vous n'êtes pas autorisé pour cette conversation."},"CHAT_CONVERSATION_NOT_FOUND":{"http":404,"en":"Chat conversation not found","fr":"Conversation introuvable."},"CHAT_CONVERSATION_READ_UPDATE_FAILED":{"http":500,"en":"Chat conversation read update failed","fr":"Impossible de mettre à jour la conversation."},"CHAT_FETCH_FAILED":{"http":500,"en":"Chat fetch failed","fr":"Impossible de charger la conversation."},"CHAT_LIST_FAILED":{"http":500,"en":"Chat list failed","fr":"Impossible de charger la conversation."},"CHAT_MESSAGES_FETCH_FAILED":{"http":500,"en":"Chat messages fetch failed","fr":"Échec de la récupération — messagerie messages"},"CHAT_MESSAGE_CREATE_FAILED":{"http":500,"en":"Chat message create failed","fr":"Impossible d'envoyer le message"},"CHAT_MESSAGE_EMPTY":{"http":400,"en":"body or attachments are required","fr":"Le message ou une pièce jointe est requis"},"CHAT_NOT_FOUND":{"http":404,"en":"Chat not found","fr":"Conversation introuvable."},"CHAT_ORDER_ID_REQUIRED":{"http":400,"en":"Chat order id required","fr":"Une information obligatoire est manquante."},"CHAT_UNREAD_COUNT_FAILED":{"http":500,"en":"Chat unread count failed","fr":"Impossible de calculer le total pour le moment."},"CITY_COUNTRY_RESOLVE_FAILED":{"http":500,"en":"City country resolve failed","fr":"Une erreur est survenue. Réessayez plus tard."},"CITY_NOT_FOUND":{"http":404,"en":"City not found","fr":"Ville introuvable."},"CLIENT_FETCH_FAILED":{"http":500,"en":"Client fetch failed","fr":"Impossible de charger le client."},"CLIENT_LOCATION_NOT_ALLOWED":{"http":409,"en":"Client live location sharing is only allowed during driver approach","fr":"Le partage GPS client n'est autorisé qu'en approche (accepted/arrived)"},"CLIENT_NOT_FOUND":{"http":404,"en":"Client not found","fr":"Client introuvable."},"CLIENT_UPDATE_EMPTY":{"http":400,"en":"Client update empty","fr":"Aucune modification fournie."},"CLIENT_UPDATE_FAILED":{"http":500,"en":"Client update failed","fr":"Impossible de mettre à jour le client."},"COMMERCIAL_DRIVER_LOOKUP_FAILED":{"http":500,"en":"Commercial driver lookup failed","fr":"Impossible de retrouver le chauffeur."},"COMMISSION_ALLOCATION_FETCH_FAILED":{"http":500,"en":"Commission allocation fetch failed","fr":"Impossible de vérifier la répartition de la commission."},"COMMISSION_ALLOCATION_INVALID":{"http":400,"en":"Commission allocation invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"COMMISSION_BACKFILL_FETCH_FAILED":{"http":500,"en":"Commission backfill fetch failed","fr":"Impossible de charger la commission."},"COMMISSION_FETCH_FAILED":{"http":500,"en":"Commission fetch failed","fr":"Échec de la récupération — commission"},"COMMISSION_FORBIDDEN":{"http":403,"en":"Commission forbidden","fr":"Vous n'êtes pas autorisé à gérer les commissions."},"COMMISSION_FRANCHISE_MISSING":{"http":409,"en":"Commission franchise missing","fr":"Le partenaire n'est rattaché à aucune franchise : la commission ne peut pas être répartie."},"COMMISSION_LEDGER_POST_FAILED":{"http":500,"en":"Commission ledger post failed","fr":"Une erreur est survenue. Réessayez plus tard."},"COMMISSION_ORDER_ID_REQUIRED":{"http":400,"en":"order.id is required","fr":"L'identifiant commande (order.id) est requis"},"COMMISSION_PARTNER_FETCH_FAILED":{"http":500,"en":"Commission partner fetch failed","fr":"Impossible de déterminer le partenaire de la commande."},"COMMISSION_PAYOUT_CONFIG_SAVE_FAILED":{"http":500,"en":"Commission payout config save failed","fr":"Impossible d'enregistrer la commission."},"COMMISSION_PAYOUT_MIN_INVALID":{"http":400,"en":"Commission payout min invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"COMMISSION_PAYOUT_PERIOD_INVALID":{"http":400,"en":"Commission payout period invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"COMMISSION_PAYOUT_SCHEDULE_HOUR_INVALID":{"http":400,"en":"Commission payout schedule hour invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"COMMISSION_RECONCILE_FETCH_FAILED":{"http":500,"en":"Commission reconcile fetch failed","fr":"Impossible de charger la commission."},"COMMISSION_RULES_FETCH_FAILED":{"http":500,"en":"Commission rules fetch failed","fr":"Impossible de charger la commission."},"COMMISSION_RULE_CREATE_FAILED":{"http":500,"en":"Commission rule create failed","fr":"Impossible d'enregistrer la règle de commission."},"COMMISSION_RULE_FETCH_FAILED":{"http":500,"en":"Commission rule fetch failed","fr":"Échec de la récupération — commission règle"},"COMMISSION_RULE_UPDATE_FAILED":{"http":500,"en":"Commission rule update failed","fr":"Impossible de mettre à jour la règle de commission."},"COMMISSION_RULE_USE_DEDICATED_ROUTE":{"http":409,"en":"Commission rule use dedicated route","fr":"Les règles location et fret se règlent par franchise, avec un motif, depuis l'écran dédié."},"COMMISSION_SPLIT_NOT_OVERRIDDEN":{"http":404,"en":"Commission split not overridden","fr":"Cette franchise suit déjà la règle globale."},"COMMISSION_SPLIT_RATES_INVALID":{"http":422,"en":"Commission split rates invalid","fr":"Taux invalides : chaque part entre 0 et 1, et leur somme ne dépasse pas 100 % de la commission."},"COMMISSION_SPLIT_REASON_REQUIRED":{"http":422,"en":"Commission split reason required","fr":"Motif obligatoire (5 caractères minimum)."},"COMMISSION_SPLIT_SERVICE_INVALID":{"http":422,"en":"Commission split service invalid","fr":"Service attendu : location (RENTAL) ou fret (FREIGHT)."},"COMMISSION_STORE_FAILED":{"http":500,"en":"Commission store failed","fr":"Impossible d'enregistrer — commission"},"COMPENSATION_ALREADY_CANCELLED":{"http":409,"en":"Compensation already cancelled","fr":"Ce geste commercial a déjà été annulé."},"COMPENSATION_EXPIRES_INVALID":{"http":422,"en":"Invalid expiry date","fr":"La date d'expiration est invalide (ISO 8601, dans le futur)."},"COMPENSATION_NOT_AVAILABLE":{"http":503,"en":"Compensation not available","fr":"Cet élément n'est pas disponible."},"COMPENSATION_NOT_FOUND":{"http":404,"en":"Compensation not found","fr":"Geste commercial introuvable."},"COMPENSATION_VALUE_INVALID":{"http":422,"en":"Compensation value invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"COMPLIANCE_DOCS_BATCH_FAILED":{"http":500,"en":"Compliance docs batch failed","fr":"Une erreur est survenue. Réessayez plus tard."},"COMPLIANCE_SUBJECT_REQUIRED":{"http":400,"en":"Compliance subject required","fr":"Une information obligatoire est manquante."},"COMPTA_ORDER_FETCH_FAILED":{"http":500,"en":"Compta order fetch failed","fr":"Impossible de charger la commande."},"CONFLICT":{"http":409,"en":"Conflict","fr":"Conflit : l'état actuel ne permet pas cette action."},"CONSENT_INVALID":{"http":400,"en":"consent_type is required","fr":"Le type de consentement est requis"},"CONSENT_RECORD_FAILED":{"http":400,"en":"Consent record failed","fr":"Échec — consentement enregistrement"},"CONTENT_REQUIRED":{"http":422,"en":"Message content is required","fr":"Le message est requis."},"CONTRIBUTION_CREATE_FAILED":{"http":500,"en":"Contribution create failed","fr":"Impossible de créer la contribution."},"CONTRIBUTION_MISSING_COORDS":{"http":400,"en":"Contribution missing coords","fr":"Coordonnées (lat/lng) requises."},"COUNTRY_NOT_FOUND":{"http":404,"en":"Country not found","fr":"Pays introuvable."},"CURRENT_PASSWORD_REQUIRED":{"http":400,"en":"Current password required","fr":"Une information obligatoire est manquante."},"DASHBOARD_ACTIVE_CLIENTS_FAILED":{"http":500,"en":"Dashboard active clients failed","fr":"Échec — actifs clients"},"DASHBOARD_COMPLIANCE_FAILED":{"http":500,"en":"Dashboard compliance failed","fr":"Une erreur est survenue. Réessayez plus tard."},"DASHBOARD_COUNT_FAILED":{"http":500,"en":"Dashboard count failed","fr":"Échec du comptage — tableau de bord"},"DASHBOARD_DRIVERS_COUNT_FAILED":{"http":500,"en":"Dashboard drivers count failed","fr":"Échec du comptage — chauffeurs"},"DASHBOARD_DRIVERS_FETCH_FAILED":{"http":500,"en":"Dashboard drivers fetch failed","fr":"Impossible de charger les chauffeurs."},"DASHBOARD_FRANCHISES_COUNT_FAILED":{"http":500,"en":"Dashboard franchises count failed","fr":"Impossible de calculer le total pour le moment."},"DASHBOARD_KYC_COUNT_FAILED":{"http":500,"en":"Dashboard kyc count failed","fr":"Échec du comptage — KYC"},"DASHBOARD_ONLINE_DRIVERS_COUNT_FAILED":{"http":500,"en":"Dashboard online drivers count failed","fr":"Impossible de calculer le total pour le moment."},"DASHBOARD_PARTNERS_COUNT_FAILED":{"http":500,"en":"Dashboard partners count failed","fr":"Impossible de calculer le total pour le moment."},"DASHBOARD_PARTNERS_FETCH_FAILED":{"http":500,"en":"Dashboard partners fetch failed","fr":"Impossible de charger les partenaires."},"DASHBOARD_PARTNER_DRIVERS_FAILED":{"http":500,"en":"Dashboard partner drivers failed","fr":"Échec — chauffeurs"},"DASHBOARD_PROFILES_COUNT_FAILED":{"http":500,"en":"Dashboard profiles count failed","fr":"Échec du comptage — profils"},"DASHBOARD_RECENT_ACTIVITY_COUNT_FAILED":{"http":500,"en":"Dashboard recent activity count failed","fr":"Échec du comptage — récente activité"},"DASHBOARD_RECENT_ACTIVITY_FAILED":{"http":500,"en":"Dashboard recent activity failed","fr":"Échec — récente activité"},"DASHBOARD_REVENUE_FETCH_FAILED":{"http":500,"en":"Dashboard revenue fetch failed","fr":"Impossible de charger le chiffre d’affaires."},"DASHBOARD_REVENUE_SUM_FAILED":{"http":500,"en":"Dashboard revenue sum failed","fr":"Échec du calcul du total — revenus"},"DASHBOARD_RIDES_24H_FAILED":{"http":500,"en":"Dashboard rides 24h failed","fr":"Échec — courses 24 h"},"DASHBOARD_RIDES_COUNT_FAILED":{"http":500,"en":"Dashboard rides count failed","fr":"Échec du comptage — courses"},"DASHBOARD_SCOPE_CITIES_FAILED":{"http":500,"en":"Dashboard scope cities failed","fr":"Une erreur est survenue. Réessayez plus tard."},"DASHBOARD_SCOPE_FRANCHISES_FAILED":{"http":500,"en":"Dashboard scope franchises failed","fr":"Une erreur est survenue. Réessayez plus tard."},"DASHBOARD_SCOPE_FRANCHISE_FAILED":{"http":500,"en":"Dashboard scope franchise failed","fr":"Une erreur est survenue. Réessayez plus tard."},"DASHBOARD_VEHICLES_COUNT_FAILED":{"http":500,"en":"Dashboard vehicles count failed","fr":"Impossible de calculer le total pour le moment."},"DASHBOARD_WALLETS_FETCH_FAILED":{"http":500,"en":"Dashboard wallets fetch failed","fr":"Impossible de charger les portefeuilles."},"DASHBOARD_WITHDRAWALS_FETCH_FAILED":{"http":500,"en":"Dashboard withdrawals fetch failed","fr":"Impossible de charger les retraits."},"DELIVERIES_FETCH_FAILED":{"http":500,"en":"Deliveries fetch failed","fr":"Échec de la récupération — livraisons"},"DELIVERY_ALREADY_CANCELLED":{"http":409,"en":"Delivery already cancelled","fr":"Cette livraison est déjà annulée."},"DELIVERY_ALREADY_DELIVERED":{"http":409,"en":"Delivery already delivered","fr":"Cette livraison a déjà été effectuée."},"DELIVERY_ALREADY_FINAL":{"http":409,"en":"Delivery already final","fr":"Conflit : l'état actuel ne permet pas cette action."},"DELIVERY_CARGO_CONFIG_FETCH_FAILED":{"http":500,"en":"Delivery cargo config fetch failed","fr":"Impossible de charger la livraison."},"DELIVERY_CARGO_CONFIG_UPSERT_FAILED":{"http":400,"en":"Delivery cargo config upsert failed","fr":"Impossible d'enregistrer la livraison."},"DELIVERY_CITIES_FETCH_FAILED":{"http":500,"en":"Delivery cities fetch failed","fr":"Impossible de charger les villes."},"DELIVERY_CITY_FETCH_FAILED":{"http":500,"en":"Delivery city fetch failed","fr":"Impossible de charger la ville."},"DELIVERY_CORRIDORS_FETCH_FAILED":{"http":500,"en":"Delivery corridors fetch failed","fr":"Impossible de charger la livraison."},"DELIVERY_CORRIDOR_FETCH_FAILED":{"http":500,"en":"Delivery corridor fetch failed","fr":"Impossible de charger le corridor."},"DELIVERY_CORRIDOR_NOT_FOUND":{"http":404,"en":"Delivery corridor not found","fr":"Corridor introuvable."},"DELIVERY_CORRIDOR_REQUIRED":{"http":400,"en":"Delivery corridor required","fr":"Une information obligatoire est manquante."},"DELIVERY_CREATE_FAILED":{"http":400,"en":"Delivery create failed","fr":"Impossible de créer — livraison"},"DELIVERY_EVENTS_FETCH_FAILED":{"http":500,"en":"Delivery events fetch failed","fr":"Échec de la récupération — événements"},"DELIVERY_EVENT_FAILED":{"http":500,"en":"Delivery event failed","fr":"Une erreur est survenue. Réessayez plus tard."},"DELIVERY_FETCH_FAILED":{"http":500,"en":"Delivery fetch failed","fr":"Échec de la récupération — livraison"},"DELIVERY_FORBIDDEN":{"http":403,"en":"Delivery forbidden","fr":"Vous n'êtes pas autorisé à effectuer cette action."},"DELIVERY_HAS_STOPS":{"http":409,"en":"Delivery has stops","fr":"Conflit : l'état actuel ne permet pas cette action."},"DELIVERY_INVALID_TRANSITION":{"http":409,"en":"Delivery invalid transition","fr":"Conflit : l'état actuel ne permet pas cette action."},"DELIVERY_IN_PROGRESS":{"http":409,"en":"Delivery in progress","fr":"Conflit : l'état actuel ne permet pas cette action."},"DELIVERY_LOADING_START_INVALID":{"http":409,"en":"Delivery loading start invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"DELIVERY_MODES_FETCH_FAILED":{"http":500,"en":"Delivery modes fetch failed","fr":"Impossible de charger la livraison."},"DELIVERY_NOT_ELIGIBLE_FOR_FAILURE":{"http":409,"en":"Delivery not eligible for failure","fr":"Conflit : l'état actuel ne permet pas cette action."},"DELIVERY_NOT_FOUND":{"http":404,"en":"Delivery not found","fr":"Livraison introuvable"},"DELIVERY_NOT_GROUPED":{"http":409,"en":"Delivery not grouped","fr":"Conflit : l'état actuel ne permet pas cette action."},"DELIVERY_NOT_IN_PROGRESS":{"http":409,"en":"Delivery not in progress","fr":"Conflit : l'état actuel ne permet pas cette action."},"DELIVERY_NOT_REDISPATCHABLE":{"http":409,"en":"Delivery not redispatchable","fr":"Conflit : l'état actuel ne permet pas cette action."},"DELIVERY_POSITION_CHECK_INVALID":{"http":422,"en":"Delivery position check invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"DELIVERY_POSITION_CHECK_UPSERT_FAILED":{"http":400,"en":"Delivery position check upsert failed","fr":"Impossible d'enregistrer la livraison."},"DELIVERY_POSITION_UNAVAILABLE":{"http":422,"en":"Delivery position unavailable","fr":"Certaines informations sont invalides ou manquantes."},"DELIVERY_PROOF_UPDATE_FAILED":{"http":500,"en":"Delivery proof update failed","fr":"Impossible de mettre à jour — preuve"},"DELIVERY_PROOF_URL_REQUIRED":{"http":400,"en":"url or urls are required","fr":"Une ou plusieurs URL de preuve sont requises"},"DELIVERY_RETURNS_FETCH_FAILED":{"http":500,"en":"Delivery returns fetch failed","fr":"Impossible de charger la livraison."},"DELIVERY_RETURN_DEADLINE_PASSED":{"http":409,"en":"Delivery return deadline passed","fr":"Conflit : l'état actuel ne permet pas cette action."},"DELIVERY_RETURN_EXPIRY_FETCH_FAILED":{"http":500,"en":"Delivery return expiry fetch failed","fr":"Impossible de charger la livraison."},"DELIVERY_RETURN_NOT_AVAILABLE":{"http":409,"en":"Delivery return not available","fr":"Cet élément n'est pas disponible."},"DELIVERY_RETURN_NOT_PENDING":{"http":409,"en":"Delivery return not pending","fr":"Cette demande n'est plus en attente."},"DELIVERY_RETURN_NOT_REQUESTED":{"http":409,"en":"Delivery return not requested","fr":"Conflit : l'état actuel ne permet pas cette action."},"DELIVERY_RETURN_SETTINGS_SAVE_FAILED":{"http":500,"en":"Delivery return settings save failed","fr":"Impossible d'enregistrer les paramètres."},"DELIVERY_RETURN_SETTING_INVALID":{"http":400,"en":"Delivery return setting invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"DELIVERY_RETURN_SHARE_EXCEEDS_FEE":{"http":400,"en":"Delivery return share exceeds fee","fr":"Requête invalide. Vérifiez les informations saisies."},"DELIVERY_RETURN_STATUS_INVALID":{"http":400,"en":"Delivery return status invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"DELIVERY_SENDER_PROOF_FORBIDDEN":{"http":403,"en":"Delivery sender proof forbidden","fr":"Vous n'êtes pas autorisé à effectuer cette action."},"DELIVERY_SENDER_PROOF_INVALID_STATUS":{"http":409,"en":"Delivery sender proof invalid status","fr":"Conflit : l'état actuel ne permet pas cette action."},"DELIVERY_SENDER_PROOF_UPDATE_FAILED":{"http":500,"en":"Delivery sender proof update failed","fr":"Impossible de mettre à jour la livraison."},"DELIVERY_SENDER_PROOF_URL_REQUIRED":{"http":400,"en":"Delivery sender proof url required","fr":"Une information obligatoire est manquante."},"DELIVERY_SHARE_ENDED":{"http":410,"en":"Delivery share ended","fr":"Ce lien de suivi n'est plus actif."},"DELIVERY_SHARE_EXPIRED":{"http":410,"en":"Delivery share expired","fr":"Ce lien de suivi a expiré."},"DELIVERY_SHARE_FAILED":{"http":500,"en":"Delivery share failed","fr":"Une erreur est survenue. Réessayez plus tard."},"DELIVERY_SHARE_FETCH_FAILED":{"http":500,"en":"Delivery share fetch failed","fr":"Impossible de charger la livraison."},"DELIVERY_SHARE_NOT_FOUND":{"http":404,"en":"Delivery share not found","fr":"Livraison introuvable."},"DELIVERY_STATUS_CONFLICT":{"http":409,"en":"Delivery status conflict","fr":"L'état de la livraison ne permet pas cette action."},"DELIVERY_STATUS_UPDATE_FAILED":{"http":400,"en":"Delivery status update failed","fr":"Impossible de mettre à jour — statut"},"DELIVERY_STOPS_CREATE_FAILED":{"http":500,"en":"Delivery stops create failed","fr":"Impossible de créer la livraison."},"DELIVERY_STOPS_FETCH_FAILED":{"http":500,"en":"Delivery stops fetch failed","fr":"Impossible de charger la livraison."},"DELIVERY_STOP_ALREADY_FINAL":{"http":409,"en":"Delivery stop already final","fr":"Conflit : l'état actuel ne permet pas cette action."},"DELIVERY_STOP_CONFLICT":{"http":409,"en":"Delivery stop conflict","fr":"Conflit : l'état actuel ne permet pas cette action."},"DELIVERY_STOP_NOT_FOUND":{"http":404,"en":"Delivery stop not found","fr":"Livraison introuvable."},"DELIVERY_STOP_OUT_OF_ORDER":{"http":409,"en":"Delivery stop out of order","fr":"Conflit : l'état actuel ne permet pas cette action."},"DELIVERY_STOP_UPDATE_FAILED":{"http":400,"en":"Delivery stop update failed","fr":"Impossible de mettre à jour la livraison."},"DELIVERY_VEHICLE_TYPES_FETCH_FAILED":{"http":500,"en":"Delivery vehicle types fetch failed","fr":"Impossible de charger le véhicule."},"DESTINATION_FILTER_MISSING_COORDS":{"http":400,"en":"Destination filter missing coords","fr":"Coordonnées de destination requises."},"DEVICES_FETCH_FAILED":{"http":500,"en":"Devices fetch failed","fr":"Échec de la récupération — appareils"},"DEVICE_REGISTER_FAILED":{"http":400,"en":"Device register failed","fr":"Impossible d'enregistrer — appareil"},"DEV_DISPATCH_ADVANCE_INVALID":{"http":400,"en":"advanceStatusTo must be one of: ${Object.keys(DELIVERY_ADVANCE_ACTIONS).join(', ')}","fr":"Avancement dispatch invalide"},"DEV_DISPATCH_CATEGORY_ALIGN_FAILED":{"http":400,"en":"Dev dispatch category align failed","fr":"Échec de l'alignement — dev dispatch catégorie"},"DEV_DISPATCH_DRIVER_FETCH_FAILED":{"http":500,"en":"Dev dispatch driver fetch failed","fr":"Échec de la récupération — dev dispatch chauffeur"},"DEV_DISPATCH_DRIVER_NOT_FOUND":{"http":404,"en":"Dev driver row missing","fr":"Chauffeur dev introuvable"},"DEV_DISPATCH_NO_DRIVER":{"http":409,"en":"Dispatch ended with no_driver — put dev driver online near pickup (ECO category) and retry","fr":"Dispatch terminé sans chauffeur — mettez le chauffeur dev en ligne près du point de prise en charge (catégorie ECO) et réessayez"},"DEV_DISPATCH_ORDER_FETCH_FAILED":{"http":500,"en":"Dev dispatch order fetch failed","fr":"Échec de la récupération — dev dispatch commande"},"DEV_DISPATCH_ORDER_ID_REQUIRED":{"http":400,"en":"orderId is required","fr":"L'identifiant de commande est requis"},"DEV_DISPATCH_ORDER_NOT_FOUND":{"http":404,"en":"Order not found","fr":"Commande introuvable"},"DEV_DISPATCH_PROFILE_FAILED":{"http":500,"en":"Dev dispatch profile failed","fr":"Échec — dev dispatch profil"},"DEV_DISPATCH_SERVICE_INVALID":{"http":400,"en":"serviceType must be ride or delivery","fr":"Le type de service doit être ride ou delivery"},"DEV_DISPATCH_TIMEOUT":{"http":408,"en":"Order still \"${final.status}\" after ${maxTicks} ticks — is the dispatch worker running? Use this simulator (sync ticks) or POST /v1/dispatch/${dispatchType}/${orderId}/start","fr":"Commande toujours « ${final.status} » après ${maxTicks} cycles — le worker dispatch est-il actif ? Utilisez ce simulateur ou POST /v1/dispatch/${dispatchType}/${orderId}/start"},"DEV_DRIVER_FETCH_FAILED":{"http":500,"en":"Dev driver fetch failed","fr":"Échec de la récupération — dev chauffeur"},"DEV_DRIVER_KYC_APPROVE_FAILED":{"http":500,"en":"Dev driver kyc approve failed","fr":"Impossible d'approuver pour le moment."},"DEV_DRIVER_LOOKUP_FAILED":{"http":500,"en":"Dev driver lookup failed","fr":"Impossible de retrouver le chauffeur."},"DEV_DRIVER_NOT_FOUND":{"http":404,"en":"Dev driver profile exists but drivers row is missing","fr":"Profil chauffeur dev présent mais entrée chauffeur manquante"},"DEV_DRIVER_PROFILE_FAILED":{"http":500,"en":"Dev driver profile failed","fr":"Échec — dev profil"},"DEV_DRIVER_SANDBOX_READY_FAILED":{"http":500,"en":"Dev driver sandbox ready failed","fr":"Échec de la préparation — dev bac à sable"},"DEV_DRIVER_VEHICLE_ASSIGN_FAILED":{"http":500,"en":"Dev driver vehicle assign failed","fr":"Impossible d'effectuer l'affectation."},"DEV_DRIVER_VEHICLE_CREATE_FAILED":{"http":500,"en":"Dev driver vehicle create failed","fr":"Impossible de créer le véhicule."},"DEV_DRIVER_WALLET_LEDGER_FAILED":{"http":500,"en":"Dev driver wallet ledger failed","fr":"Une erreur est survenue. Réessayez plus tard."},"DEV_DRIVER_WALLET_UPDATE_FAILED":{"http":500,"en":"Dev driver wallet update failed","fr":"Impossible de mettre à jour le portefeuille."},"DEV_FIXTURE_CHAT_COUNT_FAILED":{"http":500,"en":"Dev fixture chat count failed","fr":"Impossible de calculer le total pour le moment."},"DEV_FIXTURE_CHAT_MESSAGES_FAILED":{"http":500,"en":"Dev fixture chat messages failed","fr":"Une erreur est survenue. Réessayez plus tard."},"DEV_FIXTURE_GOALS_FAILED":{"http":500,"en":"Dev fixture goals failed","fr":"Une erreur est survenue. Réessayez plus tard."},"DEV_FIXTURE_PHOTO_CONTROLS_FAILED":{"http":500,"en":"Dev fixture photo controls failed","fr":"Une erreur est survenue. Réessayez plus tard."},"DEV_FIXTURE_RIDE_LOOKUP_FAILED":{"http":500,"en":"Dev fixture ride lookup failed","fr":"Impossible de retrouver la course."},"DEV_FRANCHISE_MEMBERSHIP_MISSING":{"http":500,"en":"Dev franchise membership missing","fr":"Une information obligatoire est manquante."},"DEV_FRANCHISE_PROFILE_MISSING":{"http":500,"en":"Dev franchise profile missing","fr":"Une information obligatoire est manquante."},"DEV_LOGIN_FAILED":{"http":[],"en":"Dev login failed","fr":"Échec de la connexion dev"},"DEV_MARKET_AUTH_USER":{"http":500,"en":"Dev market auth user","fr":"Une erreur interne est survenue. Réessayez plus tard."},"DEV_MARKET_BF_FRANCHISE":{"http":500,"en":"Dev market bf franchise","fr":"Une erreur interne est survenue. Réessayez plus tard."},"DEV_MARKET_CLIENT":{"http":500,"en":"Dev market client","fr":"Une erreur interne est survenue. Réessayez plus tard."},"DEV_MARKET_DRIVER":{"http":500,"en":"Dev market driver","fr":"Une erreur interne est survenue. Réessayez plus tard."},"DEV_MARKET_PARTNER_ENTITY":{"http":500,"en":"Dev market partner entity","fr":"Une erreur interne est survenue. Réessayez plus tard."},"DEV_MARKET_PARTNER_PROFILE":{"http":500,"en":"Dev market partner profile","fr":"Une erreur interne est survenue. Réessayez plus tard."},"DEV_MARKET_PURGE_LOOKUP":{"http":500,"en":"Dev market purge lookup","fr":"Une erreur interne est survenue. Réessayez plus tard."},"DEV_MARKET_STATS_BREAKDOWN":{"http":500,"en":"Dev market stats breakdown","fr":"Une erreur interne est survenue. Réessayez plus tard."},"DEV_MARKET_STATS_DRIVERS":{"http":500,"en":"Dev market stats drivers","fr":"Une erreur interne est survenue. Réessayez plus tard."},"DEV_MARKET_STATS_PARTNERS":{"http":500,"en":"Dev market stats partners","fr":"Une erreur interne est survenue. Réessayez plus tard."},"DEV_MARKET_VEHICLE_REFS":{"http":500,"en":"Dev market vehicle refs","fr":"Une erreur interne est survenue. Réessayez plus tard."},"DEV_MARKET_ZONE_SEED":{"http":500,"en":"Dev market zone seed","fr":"Une erreur interne est survenue. Réessayez plus tard."},"DEV_ORDER_FETCH_FAILED":{"http":500,"en":"Dev order fetch failed","fr":"Échec de la récupération — dev commande"},"DEV_ORDER_NOT_FOUND":{"http":404,"en":"Order not found","fr":"Commande introuvable"},"DEV_ORDER_SERVICE_INVALID":{"http":400,"en":"serviceType must be ride, delivery, freight, or rental","fr":"Le type de service doit être ride, delivery, freight ou rental"},"DEV_ORDER_STATUS_FINAL":{"http":400,"en":"Order is already at the final status","fr":"La commande est déjà au statut final"},"DEV_ORDER_STATUS_INVALID":{"http":400,"en":"Empty status chain","fr":"Chaîne de statuts invalide"},"DEV_ORDER_UPDATE_FAILED":{"http":400,"en":"Dev order update failed","fr":"Impossible de mettre à jour — dev commande"},"DEV_OTP_PHONE_REQUIRED":{"http":400,"en":"Dev otp phone required","fr":"Le numéro de téléphone est requis."},"DEV_PARTNER_ACTIVE_FAILED":{"http":500,"en":"Dev partner active failed","fr":"Une erreur est survenue. Réessayez plus tard."},"DEV_PARTNER_ENTITY_MISSING":{"http":500,"en":"Dev partner entity missing","fr":"Une information obligatoire est manquante."},"DEV_PARTNER_LOOKUP_FAILED":{"http":500,"en":"Dev partner lookup failed","fr":"Impossible de retrouver le partenaire."},"DEV_PARTNER_PROFILE_MISSING":{"http":500,"en":"Dev partner profile missing","fr":"Une information obligatoire est manquante."},"DEV_PARTNER_PROFILE_UPDATE_FAILED":{"http":500,"en":"Dev partner profile update failed","fr":"Impossible de mettre à jour le profil."},"DEV_PARTNER_VEHICLE_CREATE_FAILED":{"http":500,"en":"Dev partner vehicle create failed","fr":"Impossible de créer le véhicule."},"DEV_PARTNER_WALLET_LEDGER_FAILED":{"http":500,"en":"Dev partner wallet ledger failed","fr":"Une erreur est survenue. Réessayez plus tard."},"DEV_PARTNER_WALLET_UPDATE_FAILED":{"http":500,"en":"Dev partner wallet update failed","fr":"Impossible de mettre à jour le portefeuille."},"DEV_PROFILE_LOOKUP_FAILED":{"http":500,"en":"Dev profile lookup failed","fr":"Impossible de retrouver le profil."},"DEV_ROLE_INVALID":{"http":[],"en":"role must be one of: admin, client, driver","fr":"Rôle dev invalide (admin, client ou chauffeur)"},"DEV_SANDBOX_DISABLED":{"http":403,"en":"Dev sandbox disabled","fr":"Le bac à sable de développement est désactivé."},"DEV_SANDBOX_PROFILE_UPDATE_FAILED":{"http":500,"en":"Dev sandbox profile update failed","fr":"Impossible de mettre à jour le profil (sandbox)."},"DEV_SEED_PASSWORD_MISSING":{"http":503,"en":"Dev seed password missing","fr":"Une information obligatoire est manquante."},"DEV_SIM_DRIVERS_FETCH_FAILED":{"http":500,"en":"Dev sim drivers fetch failed","fr":"Échec de la récupération — dev simulation chauffeurs"},"DEV_SIM_FORBIDDEN":{"http":403,"en":"Invalid or missing X-Dev-Sim-Key header","fr":"En-tête X-Dev-Sim-Key invalide ou manquant"},"DEV_SIM_NO_DRIVERS":{"http":404,"en":"Dev sim no drivers","fr":"Aucun chauffeur disponible pour la simulation dev"},"DEV_SIM_ONLINE_UPDATE_FAILED":{"http":500,"en":"Dev sim online update failed","fr":"Impossible de mettre à jour — dev simulation mise en ligne"},"DEV_SIM_STATUS_FAILED":{"http":500,"en":"Dev sim status failed","fr":"Échec du statut — dev simulation"},"DEV_VEHICLE_REFS_MISSING":{"http":500,"en":"Dev vehicle refs missing","fr":"Une information obligatoire est manquante."},"DIAL_CODES_FETCH_FAILED":{"http":500,"en":"Dial codes fetch failed","fr":"Impossible de charger les données."},"DISPATCHERS_FETCH_FAILED":{"http":500,"en":"Dispatchers fetch failed","fr":"Impossible de charger les répartiteurs."},"DISPATCHER_CREATE_FAILED":{"http":500,"en":"Dispatcher create failed","fr":"Impossible de créer le répartiteur."},"DISPATCHER_NOT_FOUND":{"http":404,"en":"Dispatcher not found","fr":"Répartiteur introuvable."},"DISPATCHER_PATCH_FAILED":{"http":500,"en":"Dispatcher patch failed","fr":"Impossible de mettre à jour le répartiteur."},"DISPATCH_ASSIGN_FAILED":{"http":400,"en":"Dispatch assign failed","fr":"Impossible d'attribuer — dispatch"},"DISPATCH_CONFIG_FETCH_FAILED":{"http":500,"en":"Dispatch config fetch failed","fr":"Échec de la récupération — dispatch configuration"},"DISPATCH_CONFIG_PATCH_FAILED":{"http":500,"en":"Dispatch config patch failed","fr":"Impossible de mettre à jour la répartition."},"DISPATCH_CONFIG_UPDATE_FAILED":{"http":500,"en":"Dispatch config update failed","fr":"Impossible de mettre à jour la répartition."},"DISPATCH_CONFIG_UPSERT_FAILED":{"http":400,"en":"Dispatch config upsert failed","fr":"Impossible d'enregistrer — dispatch configuration"},"DISPATCH_COUNTRY_INVALID":{"http":400,"en":"countryCode is required","fr":"Le code pays est requis"},"DISPATCH_COUNTRY_RESOLVE_FAILED":{"http":500,"en":"Dispatch country resolve failed","fr":"Échec de la résolution — dispatch pays"},"DISPATCH_DRIVER_APP_UNSUPPORTED":{"http":409,"en":"Dispatch driver app unsupported","fr":"Opération non prise en charge."},"DISPATCH_DRIVER_BUSY":{"http":409,"en":"Dispatch driver busy","fr":"Conflit : l'état actuel ne permet pas cette action."},"DISPATCH_DRIVER_CATEGORY_MISMATCH":{"http":409,"en":"Dispatch driver category mismatch","fr":"Conflit : l'état actuel ne permet pas cette action."},"DISPATCH_DRIVER_FETCH_FAILED":{"http":500,"en":"Dispatch driver fetch failed","fr":"Échec de la récupération — dispatch chauffeur"},"DISPATCH_DRIVER_KYC_NOT_APPROVED":{"http":409,"en":"Dispatch driver kyc not approved","fr":"Le compte n'est pas encore validé."},"DISPATCH_DRIVER_MISSING_LOCATION":{"http":409,"en":"Dispatch driver missing location","fr":"Position manquante."},"DISPATCH_DRIVER_MISSING_VEHICLE":{"http":409,"en":"Dispatch driver missing vehicle","fr":"Conflit : l'état actuel ne permet pas cette action."},"DISPATCH_DRIVER_NOT_APPROVED":{"http":409,"en":"Dispatch driver not approved","fr":"Le compte n'est pas encore validé."},"DISPATCH_DRIVER_NOT_AVAILABLE":{"http":409,"en":"Dispatch driver not available","fr":"Cet élément n'est pas disponible."},"DISPATCH_DRIVER_NOT_FOUND":{"http":404,"en":"Driver not found","fr":"Chauffeur introuvable"},"DISPATCH_DRIVER_PROFILE_MISMATCH":{"http":409,"en":"Dispatch driver profile mismatch","fr":"Conflit : l'état actuel ne permet pas cette action."},"DISPATCH_DRIVER_TRIPS_FETCH_FAILED":{"http":500,"en":"Dispatch driver trips fetch failed","fr":"Impossible de charger les trajets."},"DISPATCH_DRIVER_VEHICLE_NOT_ELIGIBLE":{"http":409,"en":"Dispatch driver vehicle not eligible","fr":"Cette opération n'est pas éligible."},"DISPATCH_EVENT_FAILED":{"http":500,"en":"Dispatch event failed","fr":"Impossible d'enregistrer l'événement — dispatch"},"DISPATCH_LOCKED":{"http":409,"en":"Dispatch is already running for this order","fr":"Dispatch déjà en cours pour cette commande"},"DISPATCH_LOGS_FETCH_FAILED":{"http":500,"en":"Dispatch logs fetch failed","fr":"Échec de la récupération — dispatch journaux"},"DISPATCH_LOG_FAILED":{"http":500,"en":"Dispatch log failed","fr":"Impossible d'enregistrer le journal — dispatch"},"DISPATCH_NO_DRIVER_FINALIZE_FAILED":{"http":400,"en":"Dispatch no driver finalize failed","fr":"Une erreur est survenue. Réessayez plus tard."},"DISPATCH_OFFER_ENCODE_FAILED":{"http":500,"en":"Invalid dispatch offer payload","fr":"Échec de l'encodage — dispatch offre"},"DISPATCH_OFFER_EXPIRED":{"http":409,"en":"The offer acceptance window has expired","fr":"Offre expirée — le délai pour accepter cette commande est écoulé."},"DISPATCH_OFFER_FETCH_FAILED":{"http":500,"en":"Dispatch offer fetch failed","fr":"Impossible de charger la répartition."},"DISPATCH_OFFER_FORBIDDEN":{"http":403,"en":"Only the offered driver can accept this dispatch offer","fr":"Seul le chauffeur concerné peut répondre à cette offre"},"DISPATCH_OFFER_INVALID":{"http":400,"en":"Invalid dispatch offer id","fr":"Identifiant d'offre dispatch invalide"},"DISPATCH_OFFER_NOT_FOUND":{"http":404,"en":"Dispatch offer not found","fr":"Offre dispatch introuvable"},"DISPATCH_OFFER_NOT_PENDING":{"http":409,"en":"Dispatch offer is not pending","fr":"L'offre dispatch n'est plus en attente"},"DISPATCH_OFFER_TAKEN":{"http":409,"en":"Another driver already accepted this order","fr":"Commande déjà attribuée — un autre chauffeur a accepté cette commande avant vous."},"DISPATCH_ORDER_CANCELLED":{"http":409,"en":"The order has been cancelled","fr":"Commande annulée — le client a annulé cette commande."},"DISPATCH_ORDER_FETCH_FAILED":{"http":500,"en":"Dispatch order fetch failed","fr":"Échec de la récupération — dispatch commande"},"DISPATCH_ORDER_NOT_DISPATCHABLE":{"http":409,"en":"Dispatch order not dispatchable","fr":"Conflit : l'état actuel ne permet pas cette action."},"DISPATCH_ORDER_NOT_FOUND":{"http":404,"en":"Order not found","fr":"Commande introuvable"},"DISPATCH_ORDER_NO_LONGER_ASSIGNABLE":{"http":409,"en":"Dispatch order no longer assignable","fr":"Conflit : l'état actuel ne permet pas cette action."},"DISPATCH_SERVICE_UNSUPPORTED":{"http":400,"en":"Supported services: RIDE, DELIVERY_CARGO","fr":"Services pris en charge : RIDE, DELIVERY_CARGO"},"DISPATCH_STATE_UPDATE_FAILED":{"http":400,"en":"Dispatch state update failed","fr":"Impossible de mettre à jour — dispatch état"},"DISPUTES_FETCH_FAILED":{"http":500,"en":"Disputes fetch failed","fr":"Échec de la récupération — litiges"},"DISPUTE_ALREADY_ASSIGNED":{"http":409,"en":"Dispute already assigned","fr":"Litige déjà pris par un autre agent."},"DISPUTE_ALREADY_CLOSED":{"http":409,"en":"Dispute already closed","fr":"Cet élément est déjà clôturé."},"DISPUTE_ASSIGN_FAILED":{"http":500,"en":"Dispute assign failed","fr":"Impossible d'effectuer l'affectation."},"DISPUTE_CATEGORIES_FETCH_FAILED":{"http":500,"en":"Dispute categories fetch failed","fr":"Impossible de charger le litige."},"DISPUTE_CREATE_FAILED":{"http":500,"en":"Dispute create failed","fr":"Impossible de créer — litige"},"DISPUTE_FETCH_FAILED":{"http":500,"en":"Dispute fetch failed","fr":"Échec de la récupération — litige"},"DISPUTE_MESSAGE_CREATE_FAILED":{"http":500,"en":"Dispute message create failed","fr":"Impossible de créer le message."},"DISPUTE_NOT_ASSIGNED":{"http":409,"en":"Dispute not assigned","fr":"Litige non assigné — assignez-le d'abord."},"DISPUTE_NOT_FOUND":{"http":404,"en":"Dispute not found","fr":"Litige introuvable"},"DISPUTE_OUTCOME_INVALID":{"http":400,"en":"Dispute outcome invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"DISPUTE_REFUND_AMOUNT_REQUIRED":{"http":400,"en":"Dispute refund amount required","fr":"Une information obligatoire est manquante."},"DISPUTE_REFUND_BENEFICIARY_REQUIRED":{"http":400,"en":"Dispute refund beneficiary required","fr":"Une information obligatoire est manquante."},"DISPUTE_REJECT_FAILED":{"http":500,"en":"Dispute reject failed","fr":"Impossible de rejeter pour le moment."},"DISPUTE_REJECT_REASON_REQUIRED":{"http":400,"en":"Dispute reject reason required","fr":"Une information obligatoire est manquante."},"DISPUTE_RESOLVE_FAILED":{"http":500,"en":"Dispute resolve failed","fr":"Une erreur est survenue. Réessayez plus tard."},"DISPUTE_STATUS_INVALID":{"http":400,"en":"Dispute status invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"DISPUTE_TERMINAL":{"http":409,"en":"Dispute already closed","fr":"Ce litige est déjà clôturé."},"DISPUTE_TRANSITION_FAILED":{"http":500,"en":"Dispute transition failed","fr":"Une erreur est survenue. Réessayez plus tard."},"DISPUTE_UPDATE_FAILED":{"http":500,"en":"Dispute update failed","fr":"Impossible de mettre à jour le litige."},"DISTANCE_MATRIX_EMPTY":{"http":400,"en":"Distance matrix empty","fr":"Origines et destinations requises."},"DISTANCE_MATRIX_TOO_LARGE":{"http":400,"en":"Distance matrix too large","fr":"Le fichier est trop volumineux."},"DOCUMENT_ALREADY_REVIEWED":{"http":409,"en":"Document already reviewed","fr":"Conflit : l'état actuel ne permet pas cette action."},"DOCUMENT_NOT_FOUND":{"http":404,"en":"Document not found","fr":"Document introuvable."},"DOCUMENT_REQUIRED":{"http":400,"en":"Document required","fr":"Un document est requis."},"DOSSIER_ALREADY_CLAIMED":{"http":409,"en":"Dossier already claimed","fr":"Cette récompense a déjà été réclamée."},"DOSSIER_LOCKED_BY_OTHER":{"http":403,"en":"Dossier locked by other","fr":"Vous n'êtes pas autorisé à effectuer cette action."},"DOWNLOAD_SIGNED_URL_FAILED":{"http":500,"en":"Download signed url failed","fr":"Impossible de créer l'URL signée — téléchargement"},"DRIVERS_FETCH_FAILED":{"http":500,"en":"Drivers fetch failed","fr":"Échec de la récupération — chauffeurs"},"DRIVER_ACCOUNT_CLOSED":{"http":409,"en":"Driver account closed","fr":"Le compte de ce chauffeur est fermé ou archivé."},"DRIVER_ACCOUNT_INCOMPLETE":{"http":409,"en":"Driver registration was never completed","fr":"Votre inscription chauffeur n'a pas été finalisée. Contactez le support."},"DRIVER_ACTIVATE_FAILED":{"http":500,"en":"Driver activate failed","fr":"Impossible d'activer pour le moment."},"DRIVER_ACTIVE_DELIVERIES_FETCH_FAILED":{"http":500,"en":"Driver active deliveries fetch failed","fr":"Impossible de charger les livraisons."},"DRIVER_ACTIVE_RIDES_FETCH_FAILED":{"http":500,"en":"Driver active rides fetch failed","fr":"Impossible de charger les courses."},"DRIVER_ACTIVITY_VIEW_MISSING":{"http":500,"en":"Driver activity view missing","fr":"Une information obligatoire est manquante."},"DRIVER_ADOPT_FAILED":{"http":400,"en":"Driver adopt failed","fr":"Une erreur est survenue. Réessayez plus tard."},"DRIVER_ALREADY_APPROVED":{"http":409,"en":"Driver already approved","fr":"Conflit : l'état actuel ne permet pas cette action."},"DRIVER_ALREADY_EXISTS":{"http":409,"en":"Driver already exists","fr":"Un chauffeur existe déjà avec ces informations."},"DRIVER_APP_CONFIG_FETCH_FAILED":{"http":500,"en":"Driver app config fetch failed","fr":"Impossible de charger le chauffeur."},"DRIVER_APP_CONFIG_UPSERT_FAILED":{"http":400,"en":"Driver app config upsert failed","fr":"Impossible d'enregistrer le chauffeur."},"DRIVER_AUTH_CREATE_FAILED":{"http":400,"en":"Driver auth create failed","fr":"Impossible de créer le chauffeur."},"DRIVER_AVAILABILITY_INVALID":{"http":400,"en":"Driver availability invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"DRIVER_BANNED":{"http":403,"en":"Driver banned","fr":"Vous n'êtes pas autorisé à effectuer cette action."},"DRIVER_BREAK_UPDATE_FAILED":{"http":500,"en":"Driver break update failed","fr":"Impossible de mettre à jour — pause"},"DRIVER_CASH_RECONCILIATIONS_FETCH_FAILED":{"http":500,"en":"Driver cash reconciliations fetch failed","fr":"Échec de la récupération — espèces rapprochements"},"DRIVER_CASH_RECONCILIATION_CREATE_FAILED":{"http":500,"en":"Driver cash reconciliation create failed","fr":"Impossible de créer — espèces rapprochement"},"DRIVER_CATEGORY_CHANGES_SERVICE_PROFILE":{"http":409,"en":"This category belongs to another service profile","fr":"Cette catégorie correspond à un autre métier. Changez d'abord le métier du chauffeur (VTC ou livreur)."},"DRIVER_CATEGORY_UPGRADE_FORBIDDEN":{"http":403,"en":"Cannot upgrade above your vehicle category","fr":"Vous ne pouvez pas passer à une gamme supérieure à celle de votre véhicule. Contactez le support."},"DRIVER_CATEGORY_UPGRADE_REQUIRES_FORCE":{"http":422,"en":"Target ride category is above the driver's vehicle category: confirm with force=true","fr":"La gamme demandée est supérieure à la catégorie du véhicule du chauffeur. Confirmez la montée en gamme pour l'appliquer."},"DRIVER_COUNTRY_CITIES_FAILED":{"http":500,"en":"Driver country cities failed","fr":"Une erreur est survenue. Réessayez plus tard."},"DRIVER_COUNTRY_FRANCHISES_FAILED":{"http":500,"en":"Driver country franchises failed","fr":"Une erreur est survenue. Réessayez plus tard."},"DRIVER_COUNTRY_PARTNERS_FAILED":{"http":500,"en":"Driver country partners failed","fr":"Une erreur est survenue. Réessayez plus tard."},"DRIVER_COUNTRY_UNKNOWN":{"http":400,"en":"Driver country unknown","fr":"Requête invalide. Vérifiez les informations saisies."},"DRIVER_CREATE_FAILED":{"http":400,"en":"Driver create failed","fr":"Impossible de créer le chauffeur."},"DRIVER_CURRENTLY_ACTIVE":{"http":409,"en":"Driver currently active","fr":"Ce chauffeur est actuellement actif."},"DRIVER_DATA_REQUIRED":{"http":400,"en":"Driver data required","fr":"Les informations du chauffeur sont requises."},"DRIVER_DEACTIVATED":{"http":403,"en":"Driver deactivated","fr":"Vous n'êtes pas autorisé à effectuer cette action."},"DRIVER_DELETE_FAILED":{"http":500,"en":"Driver delete failed","fr":"Impossible de supprimer le chauffeur."},"DRIVER_DELIVERIES_FETCH_FAILED":{"http":500,"en":"Driver deliveries fetch failed","fr":"Échec de la récupération — livraisons"},"DRIVER_DELIVERY_CLASS_SYNC_FAILED":{"http":400,"en":"Driver delivery class sync failed","fr":"Une erreur est survenue. Réessayez plus tard."},"DRIVER_EARNINGS_DELIVERIES_FAILED":{"http":500,"en":"Driver earnings deliveries failed","fr":"Échec — gains livraisons"},"DRIVER_EARNINGS_FETCH_FAILED":{"http":500,"en":"Driver earnings fetch failed","fr":"Échec de la récupération — gains"},"DRIVER_EARNINGS_RIDES_FAILED":{"http":500,"en":"Driver earnings rides failed","fr":"Échec — gains courses"},"DRIVER_FETCH_FAILED":{"http":500,"en":"Driver fetch failed","fr":"Échec de la récupération — chauffeur"},"DRIVER_GOALS_FETCH_FAILED":{"http":500,"en":"Driver goals fetch failed","fr":"Échec de la récupération — objectifs"},"DRIVER_HAS_ACTIVE_ORDER":{"http":409,"en":"Driver has an order in progress","fr":"Ce chauffeur a une commande en cours. Attendez qu'elle soit terminée."},"DRIVER_HAS_ACTIVE_RIDE":{"http":409,"en":"Driver has active ride","fr":"Ce chauffeur a une course en cours."},"DRIVER_HAS_NO_PARTNER":{"http":409,"en":"Driver has no partner","fr":"Conflit : l'état actuel ne permet pas cette action."},"DRIVER_HEATMAP_FETCH_FAILED":{"http":500,"en":"Driver heatmap fetch failed","fr":"Échec de la récupération — carte de chaleur"},"DRIVER_ID_REQUIRED":{"http":400,"en":"driverId is required","fr":"L'identifiant chauffeur est requis"},"DRIVER_INSUFFICIENT_BALANCE":{"http":403,"en":"Driver insufficient balance","fr":"Vous n'êtes pas autorisé à effectuer cette action."},"DRIVER_KYC_FETCH_FAILED":{"http":500,"en":"Driver kyc fetch failed","fr":"Impossible de charger le dossier KYC."},"DRIVER_LICENSE_SAVE_FAILED":{"http":400,"en":"Driver license save failed","fr":"Impossible d'enregistrer le permis."},"DRIVER_LOCATIONS_FETCH_FAILED":{"http":500,"en":"Driver locations fetch failed","fr":"Échec de la récupération — positions"},"DRIVER_LOOKUP_FAILED":{"http":500,"en":"Driver lookup failed","fr":"Impossible de retrouver le chauffeur."},"DRIVER_NOT_APPROVED":{"http":403,"en":"Driver not approved","fr":"Le compte n'est pas encore validé."},"DRIVER_NOT_FOUND":{"http":404,"en":"Driver not found","fr":"Chauffeur introuvable"},"DRIVER_NOT_IN_FRANCHISE":{"http":403,"en":"Driver does not belong to this franchise","fr":"Ce chauffeur n'appartient pas à cette franchise."},"DRIVER_NO_PARTNER":{"http":400,"en":"Driver no partner","fr":"Requête invalide. Vérifiez les informations saisies."},"DRIVER_NO_VEHICLE":{"http":409,"en":"Driver no vehicle","fr":"Aucun véhicule n'est associé à ce chauffeur."},"DRIVER_ONBOARDING_FAILED":{"http":400,"en":"Driver onboarding failed","fr":"Impossible de démarrer l'inscription chauffeur — chauffeur"},"DRIVER_ONLINE_REQUIRES_VALID_VEHICLE":{"http":409,"en":"Driver online requires valid vehicle","fr":"Conflit : l'état actuel ne permet pas cette action."},"DRIVER_ONLINE_REQUIRES_VEHICLE":{"http":409,"en":"Driver online requires vehicle","fr":"Conflit : l'état actuel ne permet pas cette action."},"DRIVER_ONLY":{"http":403,"en":"Driver only","fr":"Vous n'êtes pas autorisé à effectuer cette action."},"DRIVER_ON_ACTIVE_TRIP":{"http":409,"en":"Driver on active trip","fr":"Ce chauffeur est actuellement en course."},"DRIVER_ON_TRIP_FILTER_FAILED":{"http":500,"en":"Driver on trip filter failed","fr":"Une erreur est survenue. Réessayez plus tard."},"DRIVER_ORDER_ALREADY_STARTED":{"http":409,"en":"Driver order already started","fr":"Conflit : l'état actuel ne permet pas cette action."},"DRIVER_PANIC_CREATE_FAILED":{"http":500,"en":"Driver panic create failed","fr":"Impossible de créer — alerte"},"DRIVER_PHONE_INVALID":{"http":400,"en":"Driver phone invalid","fr":"Ce numéro de téléphone n'est pas valide. Saisissez-le avec son indicatif (+225…) ou précisez le pays."},"DRIVER_PHONE_LOGIN_UNREACHABLE":{"http":409,"en":"Driver phone login unreachable","fr":"Ce numéro est déjà rattaché à un autre compte : le chauffeur ne pourrait pas se connecter avec. Contactez le support technique."},"DRIVER_PHONE_REASON_REQUIRED":{"http":400,"en":"Driver phone reason required","fr":"Indiquez le motif du changement de numéro (ex. puce perdue)."},"DRIVER_PHONE_REQUIRED":{"http":400,"en":"Driver phone required","fr":"Indiquez le nouveau numéro du chauffeur."},"DRIVER_PHONE_TAKEN":{"http":409,"en":"Driver phone taken","fr":"Ce numéro est déjà utilisé par un autre compte chauffeur."},"DRIVER_PREFERENCES_FETCH_FAILED":{"http":500,"en":"Driver preferences fetch failed","fr":"Échec de la récupération — préférences"},"DRIVER_PREFERENCES_INIT_FAILED":{"http":400,"en":"Driver preferences init failed","fr":"Une erreur est survenue. Réessayez plus tard."},"DRIVER_PREFERENCES_UPDATE_FAILED":{"http":[400,500],"en":"Driver preferences update failed","fr":"Impossible de mettre à jour — préférences"},"DRIVER_PROFILE_ALREADY_EXISTS":{"http":409,"en":"Driver profile already exists","fr":"Un profil chauffeur existe déjà."},"DRIVER_PROFILE_LOOKUP_FAILED":{"http":500,"en":"Driver profile lookup failed","fr":"Impossible de retrouver le profil."},"DRIVER_PROFILE_UPDATE_FAILED":{"http":500,"en":"Driver profile update failed","fr":"Impossible de mettre à jour le profil."},"DRIVER_PROVISIONING_FAILED":{"http":500,"en":"Driver profile could not be created","fr":"Le profil chauffeur n'a pas pu être créé. Merci de réessayer."},"DRIVER_RAFFLE_CAMPAIGNS_FETCH_FAILED":{"http":500,"en":"Driver raffle campaigns fetch failed","fr":"Impossible de charger les campagnes."},"DRIVER_RAFFLE_CAMPAIGN_FETCH_FAILED":{"http":500,"en":"Driver raffle campaign fetch failed","fr":"Impossible de charger la campagne."},"DRIVER_RAFFLE_CAMPAIGN_INACTIVE":{"http":400,"en":"Driver raffle campaign inactive","fr":"Requête invalide. Vérifiez les informations saisies."},"DRIVER_RAFFLE_CAMPAIGN_NOT_FOUND":{"http":404,"en":"Driver raffle campaign not found","fr":"Campagne introuvable."},"DRIVER_RAFFLE_CAMPAIGN_UPSERT_FAILED":{"http":400,"en":"Driver raffle campaign upsert failed","fr":"Impossible d'enregistrer la campagne."},"DRIVER_RAFFLE_CODE_REQUIRED":{"http":400,"en":"Driver raffle code required","fr":"Une information obligatoire est manquante."},"DRIVER_RAFFLE_ENTRIES_FETCH_FAILED":{"http":500,"en":"Driver raffle entries fetch failed","fr":"Impossible de charger la tombola."},"DRIVER_RAFFLE_ENTRY_FAILED":{"http":400,"en":"Driver raffle entry failed","fr":"Une erreur est survenue. Réessayez plus tard."},"DRIVER_RAFFLE_GEO_MISMATCH":{"http":403,"en":"Driver raffle geo mismatch","fr":"La position ne correspond pas."},"DRIVER_RAFFLE_TITLE_REQUIRED":{"http":400,"en":"Driver raffle title required","fr":"Une information obligatoire est manquante."},"DRIVER_RATING_INVALID":{"http":400,"en":"Driver rating invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"DRIVER_RATING_OUT_OF_RANGE":{"http":400,"en":"Driver rating out of range","fr":"Requête invalide. Vérifiez les informations saisies."},"DRIVER_RATING_REASON_REQUIRED":{"http":400,"en":"Driver rating reason required","fr":"Une information obligatoire est manquante."},"DRIVER_RATING_UPDATE_FAILED":{"http":400,"en":"Driver rating update failed","fr":"Impossible de mettre à jour l'évaluation."},"DRIVER_REGISTER_CATEGORY_REQUIRED":{"http":400,"en":"Driver register category required","fr":"La catégorie de service est requise."},"DRIVER_REGISTER_LICENSE_REQUIRED":{"http":400,"en":"Driver register license required","fr":"Le permis de conduire est requis."},"DRIVER_REGISTER_LICENSE_REQUIRED_FOR_CARGO":{"http":400,"en":"Driving license required for cargo truck/van","fr":"Le permis de conduire est obligatoire pour un camion ou utilitaire (livraison Cargo)."},"DRIVER_REGISTER_SELFIE_REQUIRED":{"http":400,"en":"Driver selfie photo required","fr":"La photo du chauffeur (selfie) est obligatoire pour finaliser l'inscription."},"DRIVER_REGISTER_VEHICLE_REQUIRED":{"http":400,"en":"Driver register vehicle required","fr":"Une information obligatoire est manquante."},"DRIVER_RIDES_FETCH_FAILED":{"http":500,"en":"Driver rides fetch failed","fr":"Échec de la récupération — courses"},"DRIVER_SAVED_PLACES_FETCH_FAILED":{"http":500,"en":"Driver saved places fetch failed","fr":"Échec de la récupération — favori lieux"},"DRIVER_SAVED_PLACE_CREATE_FAILED":{"http":400,"en":"Driver saved place create failed","fr":"Impossible de créer — favori lieu"},"DRIVER_SAVED_PLACE_DELETE_FAILED":{"http":500,"en":"Driver saved place delete failed","fr":"Impossible de supprimer le chauffeur."},"DRIVER_SAVED_PLACE_ID_REQUIRED":{"http":400,"en":"Driver saved place id required","fr":"Une information obligatoire est manquante."},"DRIVER_SAVED_PLACE_NOT_FOUND":{"http":404,"en":"Driver saved place not found","fr":"Chauffeur introuvable."},"DRIVER_SERVICE_CLASSES_FETCH_FAILED":{"http":500,"en":"Driver service classes fetch failed","fr":"Impossible de charger le chauffeur."},"DRIVER_SERVICE_CLASS_DELETE_FAILED":{"http":400,"en":"Driver service class delete failed","fr":"Impossible de supprimer — catégorie"},"DRIVER_SERVICE_CLASS_FAILED":{"http":400,"en":"Driver service class failed","fr":"Impossible d'activer la catégorie de service — chauffeur"},"DRIVER_SERVICE_CLASS_INCOMPATIBLE":{"http":403,"en":"Service class above your vehicle category","fr":"Cette classe de service est au-dessus de la catégorie de votre véhicule. Contactez le support pour une montée en gamme."},"DRIVER_SERVICE_CLASS_REQUIRED":{"http":400,"en":"serviceClassCode is required","fr":"Le code de classe de service est requis."},"DRIVER_SERVICE_CLASS_SYNC_FAILED":{"http":400,"en":"Driver service class sync failed","fr":"Une erreur est survenue. Réessayez plus tard."},"DRIVER_SERVICE_CLASS_UNKNOWN":{"http":400,"en":"Unknown service class","fr":"Classe de service inconnue."},"DRIVER_SERVICE_CLASS_UPDATE_FAILED":{"http":500,"en":"Driver service class update failed","fr":"Impossible de mettre à jour le chauffeur."},"DRIVER_SERVICE_PROFILE_INVALID":{"http":400,"en":"Invalid driver service profile","fr":"Métier invalide : choisissez DELIVERY (livreur) ou TAXI (chauffeur VTC)."},"DRIVER_SERVICE_PROFILE_REASON_REQUIRED":{"http":400,"en":"A reason is required to change the driver service profile","fr":"Un motif est obligatoire pour changer le métier d'un chauffeur."},"DRIVER_STATUS_REQUIRED":{"http":400,"en":"status is required","fr":"Le statut est requis"},"DRIVER_STATUS_UPDATE_FAILED":{"http":400,"en":"Driver status update failed","fr":"Impossible de mettre à jour — statut"},"DRIVER_SUSPENDED":{"http":403,"en":"Driver suspended","fr":"Vous n'êtes pas autorisé à effectuer cette action."},"DRIVER_SUSPEND_FAILED":{"http":500,"en":"Driver suspend failed","fr":"Impossible de suspendre pour le moment."},"DRIVER_TIMEZONE_FETCH_FAILED":{"http":500,"en":"Driver timezone fetch failed","fr":"Impossible de charger le chauffeur."},"DRIVER_TIMEZONE_UNRESOLVED":{"http":[409,500],"en":"Driver timezone unresolved","fr":"Impossible de déterminer le fuseau horaire du chauffeur."},"DRIVER_UPDATE_EMPTY":{"http":400,"en":"Driver update empty","fr":"Aucune modification fournie."},"DRIVER_UPDATE_FAILED":{"http":[400,500],"en":"Driver update failed","fr":"Impossible de mettre à jour — chauffeur"},"DRIVER_VEHICLE_DETACH_FAILED":{"http":500,"en":"Driver vehicle detach failed","fr":"Le chauffeur n'a pas pu être détaché du véhicule. Réessayez."},"DRIVER_VEHICLE_NOT_DELIVERY_CAPABLE":{"http":409,"en":"Driver vehicle cannot do deliveries","fr":"Le véhicule de ce chauffeur ne permet pas la livraison. Corrigez d'abord la catégorie du véhicule."},"DRIVER_VEHICLE_NOT_RIDE_CAPABLE":{"http":409,"en":"Driver vehicle cannot do VTC rides","fr":"Le véhicule de ce chauffeur ne permet pas les courses VTC. Corrigez d'abord la catégorie du véhicule."},"DRIVER_VIEW_FORBIDDEN":{"http":403,"en":"Not allowed to view this driver profile","fr":"Consultation de ce profil chauffeur non autorisée"},"DRIVER_WALLETS_FETCH_FAILED":{"http":500,"en":"Driver wallets fetch failed","fr":"Échec de la récupération — portefeuilles"},"DRIVER_WALLET_CONFIG_FETCH_FAILED":{"http":500,"en":"Driver wallet config fetch failed","fr":"Impossible de charger le portefeuille."},"DRIVER_WALLET_CONFIG_UPDATE_FAILED":{"http":500,"en":"Driver wallet config update failed","fr":"Impossible de mettre à jour le portefeuille."},"DROPS_ORDER_INVALID":{"http":400,"en":"Drops order invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"DUPLICATE_RECORD":{"http":409,"en":"Duplicate record","fr":"Cet enregistrement existe déjà."},"EMAIL_INVALID":{"http":400,"en":"Email invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"EMAIL_OR_NAME_REQUIRED":{"http":400,"en":"Email or name required","fr":"Un e-mail ou un nom est requis."},"EMAIL_VERIFY_FAILED":{"http":400,"en":"Email verify failed","fr":"Lien de vérification e-mail invalide ou expiré."},"ESTIMATE_FETCH_FAILED":{"http":500,"en":"Estimate fetch failed","fr":"Échec de la récupération — estimation"},"ESTIMATE_LOG_FAILED":{"http":500,"en":"Estimate log failed","fr":"Impossible d'enregistrer le journal — estimation"},"ESTIMATE_NOT_FOUND":{"http":404,"en":"Quote not found","fr":"Devis introuvable"},"EXPORT_EXPIRED":{"http":410,"en":"Export expired","fr":"Le fichier d'export a expiré et n'est plus disponible."},"EXPORT_FORMAT_NOT_SUPPORTED":{"http":422,"en":"Export format not supported","fr":"Format d'export indisponible pour ce rapport."},"EXPORT_GENERATION_FAILED":{"http":500,"en":"Export generation failed","fr":"La génération de l'export a échoué."},"EXPORT_NOT_FOUND":{"http":404,"en":"Export not found","fr":"Export introuvable ou non accessible."},"EXPORT_NOT_READY":{"http":409,"en":"Export not ready","fr":"Le fichier d'export n'est pas encore disponible."},"FAILURE_COMMENT_REQUIRED":{"http":422,"en":"Failure comment required","fr":"Une information obligatoire est manquante."},"FAILURE_REASON_INVALID":{"http":422,"en":"Failure reason invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"FAILURE_REASON_REQUIRED":{"http":422,"en":"Failure reason required","fr":"Une information obligatoire est manquante."},"FEATURE_FLAGS_CONFIG_FETCH_FAILED":{"http":500,"en":"Feature flags config fetch failed","fr":"Impossible de charger les données."},"FEATURE_FLAGS_CONFIG_UPDATE_FAILED":{"http":500,"en":"Feature flags config update failed","fr":"Impossible d'enregistrer les modifications."},"FILE_NOT_FOUND":{"http":404,"en":"File not found","fr":"Fichier introuvable."},"FINANCE_AUDIT_FETCH_FAILED":{"http":500,"en":"Finance audit fetch failed","fr":"Impossible de charger les données."},"FINANCE_RD_UPDATE_FAILED":{"http":500,"en":"Finance rd update failed","fr":"Impossible d'enregistrer les modifications."},"FLEET_HYGIENE_SCAN_FAILED":{"http":500,"en":"Fleet hygiene scan failed","fr":"Une erreur est survenue. Réessayez plus tard."},"FLEET_VEHICLES_FETCH_FAILED":{"http":500,"en":"Fleet vehicles fetch failed","fr":"Impossible de charger les véhicules."},"FLEET_VEHICLE_FETCH_FAILED":{"http":500,"en":"Fleet vehicle fetch failed","fr":"Impossible de charger le véhicule."},"FORBIDDEN":{"http":403,"en":"Forbidden","fr":"Vous n'êtes pas autorisé à effectuer cette action."},"FRANCHISES_FETCH_FAILED":{"http":500,"en":"Franchises fetch failed","fr":"Impossible de charger les franchises."},"FRANCHISE_ACCESS_DENIED":{"http":403,"en":"Franchise access denied","fr":"Accès franchise refusé"},"FRANCHISE_ACCESS_REQUIRED":{"http":403,"en":"Franchise account required","fr":"Compte franchise requis"},"FRANCHISE_BANNER_CREATE_FAILED":{"http":400,"en":"Franchise banner create failed","fr":"Impossible de créer la franchise."},"FRANCHISE_BANNER_DELETE_FAILED":{"http":400,"en":"Franchise banner delete failed","fr":"Impossible de supprimer la franchise."},"FRANCHISE_BANNER_FETCH_FAILED":{"http":500,"en":"Franchise banner fetch failed","fr":"Impossible de charger la franchise."},"FRANCHISE_BANNER_NOT_FOUND":{"http":404,"en":"Franchise banner not found","fr":"Franchise introuvable."},"FRANCHISE_BANNER_UPDATE_FAILED":{"http":400,"en":"Franchise banner update failed","fr":"Impossible de mettre à jour la franchise."},"FRANCHISE_BY_COUNTRY_FETCH_FAILED":{"http":500,"en":"Franchise by country fetch failed","fr":"Impossible de charger le pays."},"FRANCHISE_CAMPAIGN_CREATE_FAILED":{"http":400,"en":"Franchise campaign create failed","fr":"Impossible de créer la campagne."},"FRANCHISE_CAMPAIGN_DELETE_FAILED":{"http":400,"en":"Franchise campaign delete failed","fr":"Impossible de supprimer la campagne."},"FRANCHISE_CAMPAIGN_FETCH_FAILED":{"http":500,"en":"Franchise campaign fetch failed","fr":"Impossible de charger la campagne."},"FRANCHISE_CAMPAIGN_NOT_FOUND":{"http":404,"en":"Franchise campaign not found","fr":"Campagne introuvable."},"FRANCHISE_CAMPAIGN_UPDATE_FAILED":{"http":400,"en":"Franchise campaign update failed","fr":"Impossible de mettre à jour la campagne."},"FRANCHISE_CLIENTS_FETCH_FAILED":{"http":500,"en":"Franchise clients fetch failed","fr":"Impossible de charger les clients."},"FRANCHISE_COMMISSION_FETCH_FAILED":{"http":500,"en":"Franchise commission fetch failed","fr":"Impossible de charger la commission."},"FRANCHISE_COMMISSION_NOT_FOUND":{"http":404,"en":"Franchise commission not found","fr":"Commission introuvable."},"FRANCHISE_COUNTRY_REQUIRED":{"http":409,"en":"Franchise country required","fr":"Une information obligatoire est manquante."},"FRANCHISE_DRIVER_FETCH_FAILED":{"http":500,"en":"Franchise driver fetch failed","fr":"Impossible de charger le chauffeur."},"FRANCHISE_DRIVER_IDS_FETCH_FAILED":{"http":500,"en":"Franchise driver ids fetch failed","fr":"Impossible de charger le chauffeur."},"FRANCHISE_DRIVER_TRIPS_FAILED":{"http":500,"en":"Franchise driver trips failed","fr":"Une erreur est survenue. Réessayez plus tard."},"FRANCHISE_FETCH_FAILED":{"http":500,"en":"Franchise fetch failed","fr":"Échec de la récupération — franchise"},"FRANCHISE_FIELD_FORBIDDEN":{"http":403,"en":"Franchise field forbidden","fr":"Vous n'êtes pas autorisé à effectuer cette action."},"FRANCHISE_ID_REQUIRED":{"http":400,"en":"Franchise id required","fr":"Une information obligatoire est manquante."},"FRANCHISE_INSUFFICIENT_BALANCE":{"http":400,"en":"Franchise insufficient balance","fr":"Requête invalide. Vérifiez les informations saisies."},"FRANCHISE_LEDGER_FETCH_FAILED":{"http":500,"en":"Franchise ledger fetch failed","fr":"Impossible de charger le journal comptable."},"FRANCHISE_LIVEMAP_DELIVERIES_FAILED":{"http":500,"en":"Franchise livemap deliveries failed","fr":"Une erreur est survenue. Réessayez plus tard."},"FRANCHISE_LIVEMAP_ORDERS_FAILED":{"http":500,"en":"Franchise livemap orders failed","fr":"Une erreur est survenue. Réessayez plus tard."},"FRANCHISE_LOOKUP_FAILED":{"http":500,"en":"Franchise lookup failed","fr":"Échec de la recherche — franchise"},"FRANCHISE_MEMBERSHIP_FETCH_FAILED":{"http":500,"en":"Franchise membership fetch failed","fr":"Impossible de charger la franchise."},"FRANCHISE_MEMBERS_FETCH_FAILED":{"http":500,"en":"Franchise members fetch failed","fr":"Impossible de charger la franchise."},"FRANCHISE_MEMBER_CREATE_FAILED":{"http":[400,500],"en":"Franchise member create failed","fr":"Impossible de créer — membre"},"FRANCHISE_MEMBER_FETCH_FAILED":{"http":500,"en":"Franchise member fetch failed","fr":"Échec de la récupération — membre"},"FRANCHISE_MEMBER_NOT_FOUND":{"http":404,"en":"Franchise member not found","fr":"Membre introuvable."},"FRANCHISE_MEMBER_UPDATE_FAILED":{"http":500,"en":"Franchise member update failed","fr":"Impossible de mettre à jour — membre"},"FRANCHISE_NAME_REQUIRED":{"http":400,"en":"Franchise name required","fr":"Une information obligatoire est manquante."},"FRANCHISE_NOT_FOUND":{"http":404,"en":"Franchise membership not found","fr":"Adhésion franchise introuvable"},"FRANCHISE_OPS_DRIVERS_FAILED":{"http":500,"en":"Franchise ops drivers failed","fr":"Une erreur est survenue. Réessayez plus tard."},"FRANCHISE_OPS_RIDES_FAILED":{"http":500,"en":"Franchise ops rides failed","fr":"Une erreur est survenue. Réessayez plus tard."},"FRANCHISE_ORDERS_FETCH_FAILED":{"http":500,"en":"Franchise orders fetch failed","fr":"Échec de la récupération — commandes"},"FRANCHISE_ORDER_SCOPE_FAILED":{"http":500,"en":"Franchise order scope failed","fr":"Une erreur est survenue. Réessayez plus tard."},"FRANCHISE_OUT_OF_COUNTRY":{"http":422,"en":"The requested franchise is unknown or outside your country","fr":"La franchise demandée est inconnue ou n'appartient pas à votre pays."},"FRANCHISE_PARTNERS_FETCH_FAILED":{"http":500,"en":"Franchise partners fetch failed","fr":"Impossible de charger les partenaires."},"FRANCHISE_PARTNER_DRIVERS_FAILED":{"http":500,"en":"Franchise partner drivers failed","fr":"Une erreur est survenue. Réessayez plus tard."},"FRANCHISE_PARTNER_FETCH_FAILED":{"http":500,"en":"Franchise partner fetch failed","fr":"Impossible de charger le partenaire."},"FRANCHISE_PARTNER_REVENUE_FAILED":{"http":500,"en":"Franchise partner revenue failed","fr":"Une erreur est survenue. Réessayez plus tard."},"FRANCHISE_PARTNER_TRIPS_FAILED":{"http":500,"en":"Franchise partner trips failed","fr":"Une erreur est survenue. Réessayez plus tard."},"FRANCHISE_PARTNER_VEHICLES_FAILED":{"http":500,"en":"Franchise partner vehicles failed","fr":"Une erreur est survenue. Réessayez plus tard."},"FRANCHISE_PRICING_FETCH_FAILED":{"http":500,"en":"Franchise pricing fetch failed","fr":"Impossible de charger la franchise."},"FRANCHISE_PRICING_UPDATE_FAILED":{"http":500,"en":"Franchise pricing update failed","fr":"Impossible de mettre à jour la franchise."},"FRANCHISE_PROMO_CREATE_FAILED":{"http":400,"en":"Franchise promo create failed","fr":"Impossible de créer le code promo."},"FRANCHISE_PROMO_DELETE_FAILED":{"http":400,"en":"Franchise promo delete failed","fr":"Impossible de supprimer le code promo."},"FRANCHISE_PROMO_FETCH_FAILED":{"http":500,"en":"Franchise promo fetch failed","fr":"Impossible de charger le code promo."},"FRANCHISE_PROMO_NOT_FOUND":{"http":404,"en":"Franchise promo not found","fr":"Code promo introuvable."},"FRANCHISE_PROMO_SETTINGS_FETCH_FAILED":{"http":500,"en":"Franchise promo settings fetch failed","fr":"Impossible de charger les réglages des codes promo."},"FRANCHISE_PROMO_SETTINGS_SAVE_FAILED":{"http":500,"en":"Franchise promo settings save failed","fr":"Impossible d’enregistrer les réglages des codes promo."},"FRANCHISE_PROMO_UPDATE_FAILED":{"http":400,"en":"Franchise promo update failed","fr":"Impossible de mettre à jour le code promo."},"FRANCHISE_PROMO_USAGES_FETCH_FAILED":{"http":500,"en":"Franchise promo usages fetch failed","fr":"Impossible de charger le code promo."},"FRANCHISE_RECONCILIATION_ENTRY_FETCH_FAILED":{"http":500,"en":"Franchise reconciliation entry fetch failed","fr":"Impossible de charger l'entrée."},"FRANCHISE_RECONCILIATION_ENTRY_NOT_FOUND":{"http":404,"en":"Franchise reconciliation entry not found","fr":"Entrée introuvable."},"FRANCHISE_RECONCILIATION_FETCH_FAILED":{"http":500,"en":"Franchise reconciliation fetch failed","fr":"Impossible de charger la franchise."},"FRANCHISE_RECONCILIATION_LEDGER_FAILED":{"http":500,"en":"Franchise reconciliation ledger failed","fr":"Une erreur est survenue. Réessayez plus tard."},"FRANCHISE_RECONCILIATION_PARTNERS_FAILED":{"http":500,"en":"Franchise reconciliation partners failed","fr":"Une erreur est survenue. Réessayez plus tard."},"FRANCHISE_REQUIRED":{"http":422,"en":"A franchise is required to attach this partner","fr":"Une franchise est requise pour rattacher ce partenaire."},"FRANCHISE_RESOLVE_FAILED":{"http":500,"en":"Franchise resolve failed","fr":"Une erreur est survenue. Réessayez plus tard."},"FRANCHISE_RESTRICTED":{"http":403,"en":"Franchise restricted","fr":"Vous n'êtes pas autorisé à effectuer cette action."},"FRANCHISE_REVENUE_DELIVERIES_FAILED":{"http":500,"en":"Franchise revenue deliveries failed","fr":"Une erreur est survenue. Réessayez plus tard."},"FRANCHISE_REVENUE_RIDES_FAILED":{"http":500,"en":"Franchise revenue rides failed","fr":"Une erreur est survenue. Réessayez plus tard."},"FRANCHISE_SCOPE_CITIES_FAILED":{"http":500,"en":"Franchise scope cities failed","fr":"Une erreur est survenue. Réessayez plus tard."},"FRANCHISE_SCOPE_FETCH_FAILED":{"http":500,"en":"Franchise scope fetch failed","fr":"Impossible de charger la franchise."},"FRANCHISE_SCOPE_MISMATCH":{"http":[400,403],"en":"Franchise scope mismatch","fr":"Cet élément n'appartient pas au périmètre de votre franchise."},"FRANCHISE_SCOPE_REQUIRED":{"http":403,"en":"Franchise scope required","fr":"Utilisateur non rattaché à une franchise."},"FRANCHISE_SETTINGS_FETCH_FAILED":{"http":500,"en":"Franchise settings fetch failed","fr":"Impossible de charger les paramètres."},"FRANCHISE_STATUS_INVALID":{"http":400,"en":"Franchise status invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"FRANCHISE_SUPPORT_MESSAGE_CREATE_FAILED":{"http":500,"en":"Franchise support message create failed","fr":"Impossible de créer le message."},"FRANCHISE_SUPPORT_RIDES_FETCH_FAILED":{"http":500,"en":"Franchise support rides fetch failed","fr":"Impossible de charger les courses."},"FRANCHISE_SUPPORT_TICKETS_FETCH_FAILED":{"http":500,"en":"Franchise support tickets fetch failed","fr":"Impossible de charger la franchise."},"FRANCHISE_SUPPORT_TICKET_FETCH_FAILED":{"http":500,"en":"Franchise support ticket fetch failed","fr":"Impossible de charger le ticket."},"FRANCHISE_SUPPORT_TICKET_NOT_FOUND":{"http":404,"en":"Franchise support ticket not found","fr":"Ticket introuvable."},"FRANCHISE_SUSPENDED":{"http":403,"en":"Franchise suspended","fr":"Votre franchise est suspendue. Contactez l'administration UPJUNOO."},"FRANCHISE_TERRITORY_CITIES_FAILED":{"http":500,"en":"Franchise territory cities failed","fr":"Une erreur est survenue. Réessayez plus tard."},"FRANCHISE_TERRITORY_UNKNOWN":{"http":422,"en":"This franchise has no country attached: its users cannot be targeted","fr":"Cette franchise n'a pas de pays rattaché : impossible de cibler ses usagers."},"FRANCHISE_TERRITORY_ZONES_FAILED":{"http":500,"en":"Franchise territory zones failed","fr":"Une erreur est survenue. Réessayez plus tard."},"FRANCHISE_TRANSFERS_FETCH_FAILED":{"http":500,"en":"Franchise transfers fetch failed","fr":"Impossible de charger la franchise."},"FRANCHISE_TRANSFERS_SEARCH_FAILED":{"http":500,"en":"Franchise transfers search failed","fr":"La recherche a échoué. Réessayez."},"FRANCHISE_UPDATE_FAILED":{"http":500,"en":"Franchise update failed","fr":"Impossible de mettre à jour — franchise"},"FRANCHISE_WALLETS_FETCH_FAILED":{"http":500,"en":"Franchise wallets fetch failed","fr":"Impossible de charger les portefeuilles."},"FRANCHISE_WALLET_OWNER_FETCH_FAILED":{"http":500,"en":"Franchise wallet owner fetch failed","fr":"Impossible de charger le portefeuille."},"FRANCHISE_WITHDRAWALS_FETCH_FAILED":{"http":500,"en":"Franchise withdrawals fetch failed","fr":"Impossible de charger les retraits."},"FRANCHISE_WITHDRAWAL_FETCH_FAILED":{"http":500,"en":"Franchise withdrawal fetch failed","fr":"Impossible de charger le retrait."},"FREIGHTS_FETCH_FAILED":{"http":500,"en":"Freights fetch failed","fr":"Échec de la récupération — frets"},"FREIGHT_ASSIGNMENTS_FAILED":{"http":500,"en":"Freight assignments failed","fr":"Une erreur est survenue. Réessayez plus tard."},"FREIGHT_CANCEL_AFTER_DEPOSIT":{"http":409,"en":"Freight cancel after deposit","fr":"Conflit : l'état actuel ne permet pas cette action."},"FREIGHT_COMMISSION_ALLOCATION_INVALID":{"http":400,"en":"Freight commission allocation invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"FREIGHT_COMMISSION_LEDGER_POST_FAILED":{"http":500,"en":"Freight commission ledger post failed","fr":"Une erreur est survenue. Réessayez plus tard."},"FREIGHT_COMMISSION_STORE_FAILED":{"http":500,"en":"Freight commission store failed","fr":"Une erreur est survenue. Réessayez plus tard."},"FREIGHT_CONVERSATION_LOCKED":{"http":409,"en":"Freight conversation locked","fr":"Conflit : l'état actuel ne permet pas cette action."},"FREIGHT_CREATE_FAILED":{"http":500,"en":"Freight create failed","fr":"Impossible de créer — fret"},"FREIGHT_DEPOSIT_FAILED":{"http":500,"en":"Freight deposit failed","fr":"Une erreur est survenue. Réessayez plus tard."},"FREIGHT_DRIVERS_FETCH_FAILED":{"http":500,"en":"Freight drivers fetch failed","fr":"Impossible de charger les chauffeurs."},"FREIGHT_DRIVER_CREATE_FAILED":{"http":500,"en":"Freight driver create failed","fr":"Impossible de créer le chauffeur."},"FREIGHT_DRIVER_DELETE_FAILED":{"http":500,"en":"Freight driver delete failed","fr":"Impossible de supprimer le chauffeur."},"FREIGHT_DRIVER_FETCH_FAILED":{"http":500,"en":"Freight driver fetch failed","fr":"Impossible de charger le chauffeur."},"FREIGHT_DRIVER_NOT_FOUND":{"http":404,"en":"Freight driver not found","fr":"Chauffeur introuvable."},"FREIGHT_DRIVER_UPDATE_FAILED":{"http":500,"en":"Freight driver update failed","fr":"Impossible de mettre à jour le chauffeur."},"FREIGHT_DROPOFF_REQUIRED":{"http":400,"en":"dropoff latitude/longitude or dropoff_address is required","fr":"Coordonnées ou adresse de destination requises"},"FREIGHT_FEE_RATE_OUT_OF_RANGE":{"http":422,"en":"Freight fee rate out of range","fr":"Certaines informations sont invalides ou manquantes."},"FREIGHT_FEE_UPDATE_FAILED":{"http":500,"en":"Freight fee update failed","fr":"Impossible de mettre à jour le fret."},"FREIGHT_FETCH_FAILED":{"http":500,"en":"Freight fetch failed","fr":"Échec de la récupération — fret"},"FREIGHT_INVALID_STATUS":{"http":409,"en":"Freight invalid status","fr":"Conflit : l'état actuel ne permet pas cette action."},"FREIGHT_MESSAGE_CLIENT_INVALID":{"http":500,"en":"Freight message client invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"FREIGHT_MESSAGE_FORBIDDEN":{"http":403,"en":"Freight message forbidden","fr":"Vous n'êtes pas autorisé à effectuer cette action."},"FREIGHT_NOT_ACCEPTED":{"http":409,"en":"Freight not accepted","fr":"Conflit : l'état actuel ne permet pas cette action."},"FREIGHT_NOT_BIDDABLE":{"http":409,"en":"Freight not biddable","fr":"Conflit : l'état actuel ne permet pas cette action."},"FREIGHT_NOT_CANCELLABLE":{"http":409,"en":"Freight not cancellable","fr":"Conflit : l'état actuel ne permet pas cette action."},"FREIGHT_NOT_FOUND":{"http":404,"en":"Freight request not found","fr":"Demande de fret introuvable"},"FREIGHT_NOT_OWNED":{"http":403,"en":"Freight not owned","fr":"Vous n'êtes pas autorisé à effectuer cette action."},"FREIGHT_OFFER_CREATE_FAILED":{"http":500,"en":"Freight offer create failed","fr":"Impossible de créer — offre"},"FREIGHT_OFFER_FETCH_FAILED":{"http":500,"en":"Freight offer fetch failed","fr":"Impossible de charger le fret."},"FREIGHT_OFFER_NOT_FOUND":{"http":404,"en":"Freight offer not found","fr":"Fret introuvable."},"FREIGHT_OFFER_STATUS_INVALID":{"http":400,"en":"Freight offer status invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"FREIGHT_OFFER_UPDATE_FAILED":{"http":500,"en":"Freight offer update failed","fr":"Impossible de mettre à jour — offre"},"FREIGHT_PARTNER_FETCH_FAILED":{"http":500,"en":"Freight partner fetch failed","fr":"Impossible de charger le partenaire."},"FREIGHT_PARTNER_NOT_FOUND":{"http":404,"en":"Freight partner not found","fr":"Partenaire introuvable."},"FREIGHT_PARTNER_QUOTES_FAILED":{"http":500,"en":"Freight partner quotes failed","fr":"Une erreur est survenue. Réessayez plus tard."},"FREIGHT_PARTNER_RATINGS_FAILED":{"http":500,"en":"Freight partner ratings failed","fr":"Une erreur est survenue. Réessayez plus tard."},"FREIGHT_PARTNER_STATS_FAILED":{"http":500,"en":"Freight partner stats failed","fr":"Une erreur est survenue. Réessayez plus tard."},"FREIGHT_PICKUP_REQUIRED":{"http":400,"en":"pickup latitude/longitude or pickup_address is required","fr":"Coordonnées ou adresse de prise en charge requises"},"FREIGHT_PROOF_FAILED":{"http":500,"en":"Freight proof failed","fr":"Échec de la preuve — fret"},"FREIGHT_QUOTES_FETCH_FAILED":{"http":500,"en":"Freight quotes fetch failed","fr":"Échec de la récupération — devis"},"FREIGHT_QUOTE_ACCEPT_FAILED":{"http":500,"en":"Freight quote accept failed","fr":"Impossible d'accepter — devis"},"FREIGHT_QUOTE_CREATE_FAILED":{"http":500,"en":"Freight quote create failed","fr":"Impossible de créer — devis"},"FREIGHT_QUOTE_FETCH_FAILED":{"http":500,"en":"Freight quote fetch failed","fr":"Impossible de charger le fret."},"FREIGHT_QUOTE_MISSING":{"http":409,"en":"Freight quote missing","fr":"Une information obligatoire est manquante."},"FREIGHT_QUOTE_NO_PARTNER":{"http":409,"en":"Freight quote no partner","fr":"Conflit : l'état actuel ne permet pas cette action."},"FREIGHT_REFERENCE_FAILED":{"http":500,"en":"Freight reference failed","fr":"Une erreur est survenue. Réessayez plus tard."},"FREIGHT_STATUS_UPDATE_FAILED":{"http":500,"en":"Freight status update failed","fr":"Impossible de mettre à jour — statut"},"FREIGHT_VEHICLES_FETCH_FAILED":{"http":500,"en":"Freight vehicles fetch failed","fr":"Impossible de charger les véhicules."},"FREIGHT_VEHICLE_CREATE_FAILED":{"http":500,"en":"Freight vehicle create failed","fr":"Impossible de créer le véhicule."},"FREIGHT_VEHICLE_DELETE_FAILED":{"http":500,"en":"Freight vehicle delete failed","fr":"Impossible de supprimer le véhicule."},"FREIGHT_VEHICLE_FETCH_FAILED":{"http":500,"en":"Freight vehicle fetch failed","fr":"Impossible de charger le véhicule."},"FREIGHT_VEHICLE_NOT_FOUND":{"http":404,"en":"Freight vehicle not found","fr":"Véhicule introuvable."},"FREIGHT_VEHICLE_UPDATE_FAILED":{"http":500,"en":"Freight vehicle update failed","fr":"Impossible de mettre à jour le véhicule."},"GENERAL_SETTINGS_FETCH_FAILED":{"http":500,"en":"General settings fetch failed","fr":"Impossible de charger les paramètres."},"GENERAL_SETTINGS_UPDATE_FAILED":{"http":500,"en":"General settings update failed","fr":"Impossible de mettre à jour les paramètres."},"GEO_CI_COMMUNE_REQUIRED":{"http":400,"en":"Geo ci commune required","fr":"Une information obligatoire est manquante."},"GEO_CI_QUERY_REQUIRED":{"http":400,"en":"Geo ci query required","fr":"Une information obligatoire est manquante."},"GEO_CI_UPSTREAM_ERROR":{"http":502,"en":"Geo ci upstream error","fr":"Service momentanément indisponible. Réessayez plus tard."},"GEO_CI_UPSTREAM_UNAVAILABLE":{"http":502,"en":"Geo ci upstream unavailable","fr":"Service momentanément indisponible. Réessayez plus tard."},"GEO_COORDINATES_REQUIRED":{"http":400,"en":"lat and lng are required","fr":"Latitude et longitude requises"},"GEO_HOT_ZONES_FAILED":{"http":500,"en":"Geo hot zones failed","fr":"Échec — géolocalisation zones chaudes zones"},"GOAL_ALREADY_CLAIMED":{"http":409,"en":"Goal already claimed","fr":"Cette récompense a déjà été réclamée."},"GOAL_CLAIM_FAILED":{"http":[409,500],"en":"Goal claim failed","fr":"Une erreur est survenue. Réessayez plus tard."},"GOAL_EXPIRED":{"http":409,"en":"Goal period is over","fr":"La période de cet objectif est terminée."},"GOAL_FETCH_FAILED":{"http":500,"en":"Goal fetch failed","fr":"Impossible de charger l'objectif."},"GOAL_FUNDING_INSUFFICIENT":{"http":409,"en":"Franchise funds are insufficient for this goal reward","fr":"La prime de cet objectif ne peut pas être financée pour le moment."},"GOAL_FUNDING_UNAVAILABLE":{"http":409,"en":"No franchise to fund this goal reward","fr":"Aucune franchise ne peut financer la prime de cet objectif."},"GOAL_NOT_ACHIEVED":{"http":409,"en":"Goal not achieved","fr":"Objectif non atteint."},"GOAL_NOT_AVAILABLE":{"http":503,"en":"Goal rewards are not available","fr":"Les primes d’objectif ne sont pas disponibles pour le moment."},"GOAL_NOT_FOUND":{"http":404,"en":"Goal not found","fr":"Objectif introuvable."},"GPS_DEVICES_FETCH_FAILED":{"http":500,"en":"Gps devices fetch failed","fr":"Échec de la récupération — appareils"},"GPS_DEVICE_CREATE_FAILED":{"http":500,"en":"Gps device create failed","fr":"Impossible de créer — appareil"},"GPS_DEVICE_FETCH_FAILED":{"http":500,"en":"Gps device fetch failed","fr":"Impossible de charger l'appareil GPS."},"GPS_DEVICE_NOT_FOUND":{"http":404,"en":"Gps device not found","fr":"Appareil GPS introuvable."},"GPS_DEVICE_SCOPE_REQUIRED":{"http":400,"en":"Gps device scope required","fr":"Utilisateur non rattaché à un périmètre GPS."},"GPS_DEVICE_UPDATE_FAILED":{"http":500,"en":"Gps device update failed","fr":"Impossible de mettre à jour — appareil"},"GROUPED_DELIVERY_DISABLED":{"http":503,"en":"Grouped delivery disabled","fr":"Cette fonctionnalité est désactivée."},"GROUPED_DELIVERY_MIN_DROPS":{"http":400,"en":"Grouped delivery min drops","fr":"Requête invalide. Vérifiez les informations saisies."},"GROUPED_DELIVERY_MODE_UNSUPPORTED":{"http":400,"en":"Grouped delivery mode unsupported","fr":"Opération non prise en charge."},"GROUPED_DELIVERY_SETTINGS_SAVE_FAILED":{"http":500,"en":"Grouped delivery settings save failed","fr":"Impossible d'enregistrer les paramètres."},"GROUPED_DELIVERY_SETTING_INVALID":{"http":400,"en":"Grouped delivery setting invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"GROUPED_DROPS_INVALID":{"http":400,"en":"Grouped drops invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"GROUPED_DROPS_WITH_STOPS":{"http":400,"en":"Grouped drops with stops","fr":"Requête invalide. Vérifiez les informations saisies."},"GROUPED_DROP_INVALID":{"http":400,"en":"Grouped drop invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"GROUPED_TOUR_DRIVERS_FETCH_FAILED":{"http":500,"en":"Grouped tour drivers fetch failed","fr":"Impossible de charger les chauffeurs."},"HELD_PARCELS_FETCH_FAILED":{"http":500,"en":"Held parcels fetch failed","fr":"Impossible de charger les données."},"HOLIDAYS_FETCH_FAILED":{"http":500,"en":"Holidays fetch failed","fr":"Impossible de charger les données."},"HOLIDAY_COEFFICIENT_INVALID":{"http":400,"en":"Holiday coefficient invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"HOLIDAY_COEFFICIENT_OUT_OF_BOUNDS":{"http":400,"en":"Holiday coefficient out of bounds","fr":"Requête invalide. Vérifiez les informations saisies."},"HOLIDAY_COUNTRY_REQUIRED":{"http":400,"en":"Holiday country required","fr":"Une information obligatoire est manquante."},"HOLIDAY_COUNTRY_UNKNOWN":{"http":400,"en":"Holiday country unknown","fr":"Requête invalide. Vérifiez les informations saisies."},"HOLIDAY_CREATE_FAILED":{"http":400,"en":"Holiday create failed","fr":"Impossible de créer cet élément."},"HOLIDAY_DATE_INVALID":{"http":400,"en":"Holiday date invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"HOLIDAY_DELETE_FAILED":{"http":400,"en":"Holiday delete failed","fr":"Impossible de supprimer cet élément."},"HOLIDAY_FIELD_FORBIDDEN":{"http":400,"en":"Holiday field forbidden","fr":"Vous n'êtes pas autorisé à effectuer cette action."},"HOLIDAY_LABEL_REQUIRED":{"http":400,"en":"Holiday label required","fr":"Une information obligatoire est manquante."},"HOLIDAY_NOT_FOUND":{"http":404,"en":"Holiday not found","fr":"Ressource introuvable."},"HOLIDAY_PATCH_EMPTY":{"http":400,"en":"Holiday patch empty","fr":"Aucune modification fournie."},"HOLIDAY_UPDATE_FAILED":{"http":400,"en":"Holiday update failed","fr":"Impossible d'enregistrer les modifications."},"HOME_NOT_CONFIGURED":{"http":400,"en":"Home not configured","fr":"Aucune adresse « domicile » n'est configurée."},"HOME_REQUIRES_ZONE_OR_LOCATION":{"http":400,"en":"Home requires zone or location","fr":"Indiquez une zone ou une position pour le domicile."},"HOME_SHORTCUTS_CONFIG_FETCH_FAILED":{"http":500,"en":"Home shortcuts config fetch failed","fr":"Impossible de charger les données."},"HOME_SHORTCUTS_CONFIG_UPDATE_FAILED":{"http":500,"en":"Home shortcuts config update failed","fr":"Impossible d'enregistrer les modifications."},"HOME_SHORTCUT_IMAGE_FILE_REQUIRED":{"http":422,"en":"The uploaded image is empty","fr":"L'image envoyée est vide."},"HOME_SHORTCUT_IMAGE_TOO_LARGE":{"http":413,"en":"Image too large (max 2 MB)","fr":"Image trop volumineuse (2 Mo maximum)."},"HOME_SHORTCUT_IMAGE_TYPE_NOT_ALLOWED":{"http":415,"en":"Allowed image types: PNG, JPG, WebP, SVG","fr":"Format d'image non autorisé (PNG, JPG, WebP ou SVG)."},"HOME_SHORTCUT_IMAGE_UNSAFE_SVG":{"http":400,"en":"This SVG contains active content and was rejected","fr":"Ce SVG contient du contenu actif (script) : exportez-le en PNG."},"HOME_SHORTCUT_IMAGE_UPLOAD_FAILED":{"http":500,"en":"Unable to store the image","fr":"L'image n'a pas pu être enregistrée. Merci de réessayer."},"HOUSE_FLEET_FETCH_FAILED":{"http":500,"en":"House fleet fetch failed","fr":"Impossible de charger les données."},"HYGIENE_FETCH_FAILED":{"http":500,"en":"Hygiene fetch failed","fr":"Impossible de charger les données."},"HYGIENE_UPDATE_FAILED":{"http":500,"en":"Hygiene update failed","fr":"Impossible de mettre les chauffeurs hors ligne."},"IDEMPOTENCY_FETCH_FAILED":{"http":500,"en":"Idempotency fetch failed","fr":"La requête n'a pas pu être vérifiée. Réessayez."},"IDEMPOTENCY_IN_PROGRESS":{"http":409,"en":"Idempotency in progress","fr":"Conflit : l'état actuel ne permet pas cette action."},"IDEMPOTENCY_KEY_REUSED":{"http":422,"en":"Idempotency key reused","fr":"Certaines informations sont invalides ou manquantes."},"IDEMPOTENCY_STORE_FAILED":{"http":500,"en":"Idempotency store failed","fr":"Une erreur est survenue. Réessayez plus tard."},"INTERNAL_SERVER_ERROR":{"http":500,"en":"Internal server error","fr":"Erreur interne du serveur"},"INVALID_CACHE_TTL":{"http":400,"en":"Invalid cache ttl","fr":"Requête invalide. Vérifiez les informations saisies."},"INVALID_DATE_FILTER":{"http":400,"en":"Invalid date filter","fr":"Le filtre de date n'est pas une date valide (format attendu : AAAA-MM-JJ)."},"INVALID_DATE_RANGE":{"http":400,"en":"Invalid date range","fr":"La période demandée est invalide : la date de début doit précéder la date de fin."},"INVALID_GEO_POINT":{"http":400,"en":"${label} latitude/longitude are required","fr":"Coordonnées GPS requises pour ${label}"},"INVALID_HEAT_THRESHOLD":{"http":400,"en":"Invalid heat threshold","fr":"Requête invalide. Vérifiez les informations saisies."},"INVALID_RIDE_CATEGORY":{"http":400,"en":"Invalid ride category","fr":"Requête invalide. Vérifiez les informations saisies."},"INVALID_ROUTE_VERSION":{"http":400,"en":"Invalid route version","fr":"Requête invalide. Vérifiez les informations saisies."},"INVALID_SCHEMA_VERSION":{"http":400,"en":"Invalid schema version","fr":"Requête invalide. Vérifiez les informations saisies."},"INVALID_STOPS":{"http":400,"en":"Invalid stops","fr":"Liste des arrêts invalide."},"INVALID_TIMEZONE":{"http":500,"en":"Invalid timezone","fr":"Une erreur interne est survenue. Réessayez plus tard."},"INVALID_UUID":{"http":400,"en":"A provided identifier is not a valid UUID.","fr":"Identifiant invalide : le format attendu est un UUID."},"INVALID_VEHICLE_CATEGORY":{"http":400,"en":"Invalid vehicle category","fr":"Requête invalide. Vérifiez les informations saisies."},"INVALID_VEHICLE_MAX_WEIGHT":{"http":400,"en":"Invalid vehicle max weight","fr":"Requête invalide. Vérifiez les informations saisies."},"INVOICES_FETCH_FAILED":{"http":500,"en":"Invoices fetch failed","fr":"Échec de la récupération — factures"},"INVOICE_FETCH_FAILED":{"http":500,"en":"Invoice fetch failed","fr":"Échec de la récupération — facture"},"INVOICE_NOT_FOUND":{"http":404,"en":"Invoice not found","fr":"Facture introuvable"},"KB_CONTENT_REQUIRED":{"http":422,"en":"content is required","fr":"Le contenu du document est requis."},"KB_SLUG_REQUIRED":{"http":422,"en":"slug is required","fr":"Le slug du document est requis."},"KB_TITLE_REQUIRED":{"http":422,"en":"title is required","fr":"Le titre du document est requis."},"KYC_COUNTRY_UNSET":{"http":403,"en":"Kyc country unset","fr":"Vous n'êtes pas autorisé à effectuer cette action."},"KYC_DOCUMENTS_FETCH_FAILED":{"http":500,"en":"Kyc documents fetch failed","fr":"Échec de la récupération — documents"},"KYC_DOCUMENT_APPROVED_LOCKED":{"http":409,"en":"Kyc document approved locked","fr":"Conflit : l'état actuel ne permet pas cette action."},"KYC_DOCUMENT_CREATE_FAILED":{"http":400,"en":"Kyc document create failed","fr":"Impossible de créer — document"},"KYC_DOCUMENT_DELETE_FAILED":{"http":400,"en":"Kyc document delete failed","fr":"Impossible de supprimer le document."},"KYC_DOCUMENT_FETCH_FAILED":{"http":500,"en":"Kyc document fetch failed","fr":"Impossible de charger le document."},"KYC_DOCUMENT_NOT_FOUND":{"http":404,"en":"KYC document not found","fr":"Document KYC introuvable"},"KYC_DOCUMENT_NOT_IN_FRANCHISE":{"http":403,"en":"Kyc document not in franchise","fr":"Vous n'êtes pas autorisé à effectuer cette action."},"KYC_DOCUMENT_REPLACE_FAILED":{"http":500,"en":"Kyc document replace failed","fr":"Le remplacement de la pièce n'a pas pu être enregistré. Réessayez."},"KYC_DOCUMENT_TYPE_REQUIRED":{"http":400,"en":"documentTypeCode is required","fr":"Le type de document est requis"},"KYC_DOCUMENT_UPDATE_FAILED":{"http":400,"en":"Kyc document update failed","fr":"Impossible de mettre à jour — document"},"KYC_DRIVER_COUNTRY_FAILED":{"http":500,"en":"Kyc driver country failed","fr":"Une erreur est survenue. Réessayez plus tard."},"KYC_DRIVER_FETCH_FAILED":{"http":500,"en":"Kyc driver fetch failed","fr":"Impossible de charger le chauffeur."},"KYC_FILE_REQUIRED":{"http":400,"en":"uploadId, fileUrl or fileUrls is required (flow: signed-url → upload → documents)","fr":"Fichier requis"},"KYC_FRANCHISE_SCOPE_FAILED":{"http":500,"en":"Kyc franchise scope failed","fr":"Une erreur est survenue. Réessayez plus tard."},"KYC_PHOTO_CONTROLS_FETCH_FAILED":{"http":500,"en":"Kyc photo controls fetch failed","fr":"Échec de la récupération — photo controls"},"KYC_PHOTO_CONTROL_NOT_FOUND":{"http":404,"en":"Photo control not found","fr":"Contrôle photo introuvable"},"KYC_PHOTO_FILE_CREATE_FAILED":{"http":400,"en":"Kyc photo file create failed","fr":"Impossible de créer — photo fichier"},"KYC_PHOTO_FILE_REQUIRED":{"http":400,"en":"fileUrl is required","fr":"L'URL du fichier est requise"},"KYC_REJECTION_REASON_CODE_UNKNOWN":{"http":422,"en":"Kyc rejection reason code unknown","fr":"Certaines informations sont invalides ou manquantes."},"KYC_REJECTION_REASON_REQUIRED":{"http":422,"en":"Kyc rejection reason required","fr":"Une information obligatoire est manquante."},"KYC_REJECTION_REASON_TOO_SHORT":{"http":422,"en":"Kyc rejection reason too short","fr":"La valeur saisie est trop courte."},"KYC_REVIEW_SCOPE_DENIED":{"http":403,"en":"This document belongs to a driver outside your fleet","fr":"Ce document concerne un chauffeur qui n'est pas rattaché à votre parc."},"KYC_SCOPE_FETCH_FAILED":{"http":500,"en":"Kyc scope fetch failed","fr":"Impossible de charger le dossier KYC."},"LEDGER_ALREADY_REVERSED":{"http":409,"en":"Ledger already reversed","fr":"Cette écriture a déjà été contre-passée."},"LEDGER_ENTRIES_FETCH_FAILED":{"http":500,"en":"Ledger entries fetch failed","fr":"Impossible de charger le journal comptable."},"LEDGER_ENTRY_FETCH_FAILED":{"http":500,"en":"Ledger entry fetch failed","fr":"Impossible de charger l'entrée."},"LEDGER_ENTRY_NOT_FOUND":{"http":404,"en":"Ledger entry not found","fr":"Entrée introuvable."},"LEDGER_EXPORT_FAILED":{"http":500,"en":"Ledger export failed","fr":"Une erreur est survenue. Réessayez plus tard."},"LEDGER_FETCH_FAILED":{"http":500,"en":"Ledger fetch failed","fr":"Échec de la récupération — grand livre"},"LEDGER_IS_REVERSAL":{"http":400,"en":"Ledger is reversal","fr":"Requête invalide. Vérifiez les informations saisies."},"LEDGER_LIST_FAILED":{"http":500,"en":"Ledger list failed","fr":"Impossible de charger le journal comptable."},"LEDGER_OWNER_FETCH_FAILED":{"http":500,"en":"Ledger owner fetch failed","fr":"Impossible de charger le journal comptable."},"LEDGER_POST_FAILED":{"http":400,"en":"Ledger post failed","fr":"Impossible de poster l'écriture — grand livre"},"LEGAL_PAGE_ALREADY_EXISTS":{"http":409,"en":"Legal page already exists","fr":"Cet élément existe déjà."},"LEGAL_PAGE_CONTENT_INVALID":{"http":400,"en":"Legal page content invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"LEGAL_PAGE_CREATE_FAILED":{"http":400,"en":"Legal page create failed","fr":"Impossible de créer cet élément."},"LEGAL_PAGE_DELETE_FAILED":{"http":400,"en":"Legal page delete failed","fr":"Impossible de supprimer cet élément."},"LEGAL_PAGE_EFFECTIVE_DATE_INVALID":{"http":400,"en":"Legal page effective date invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"LEGAL_PAGE_FETCH_FAILED":{"http":500,"en":"Legal page fetch failed","fr":"Impossible de charger les données."},"LEGAL_PAGE_LIST_FAILED":{"http":500,"en":"Legal page list failed","fr":"Impossible de charger la liste."},"LEGAL_PAGE_NOT_FOUND":{"http":404,"en":"Legal page not found","fr":"Ressource introuvable."},"LEGAL_PAGE_PATCH_EMPTY":{"http":400,"en":"Legal page patch empty","fr":"Aucune modification fournie."},"LEGAL_PAGE_PUBLISHED_INVALID":{"http":400,"en":"Legal page published invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"LEGAL_PAGE_SLUG_INVALID":{"http":400,"en":"Legal page slug invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"LEGAL_PAGE_TITLE_INVALID":{"http":400,"en":"Legal page title invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"LEGAL_PAGE_TITLE_REQUIRED":{"http":400,"en":"Legal page title required","fr":"Une information obligatoire est manquante."},"LEGAL_PAGE_UPDATE_FAILED":{"http":400,"en":"Legal page update failed","fr":"Impossible d'enregistrer les modifications."},"LIVE_ACTIVITY_TOKEN_REQUIRED":{"http":422,"en":"Live activity token required","fr":"Une information obligatoire est manquante."},"LIVE_ACTIVITY_TOKEN_SAVE_FAILED":{"http":500,"en":"Live activity token save failed","fr":"Impossible d'enregistrer."},"LOCATION_BATCH_EMPTY":{"http":400,"en":"Location batch empty","fr":"Aucune donnée fournie."},"LOCATION_BATCH_TOO_LARGE":{"http":400,"en":"Location batch too large","fr":"Le fichier est trop volumineux."},"LOCATION_FETCH_FAILED":{"http":500,"en":"Location fetch failed","fr":"Échec de la récupération — position"},"LOCATION_INVALID":{"http":400,"en":"latitude and longitude are required","fr":"Latitude et longitude requises"},"LOCATION_NOT_FOUND":{"http":404,"en":"No location found for driver","fr":"Aucune position trouvée pour ce chauffeur"},"LOCATION_UPDATE_FAILED":{"http":400,"en":"Location update failed","fr":"Impossible de mettre à jour — position"},"MAP_CITIES_FETCH_FAILED":{"http":500,"en":"Map cities fetch failed","fr":"Échec de la récupération — carte villes"},"MAP_CITY_FETCH_FAILED":{"http":500,"en":"Map city fetch failed","fr":"Impossible de charger la ville."},"MAP_COORDINATES_INVALID":{"http":400,"en":"latitude and longitude are required","fr":"Latitude et longitude requises"},"MAP_FEEDBACK_CREATE_FAILED":{"http":400,"en":"Map feedback create failed","fr":"Impossible de créer — carte retour"},"MAP_POINT_INVALID":{"http":400,"en":"${label} latitude/longitude are required","fr":"Coordonnées GPS invalides pour ${label}"},"MAP_ZONES_FETCH_FAILED":{"http":500,"en":"Map zones fetch failed","fr":"Échec de la récupération — carte zones"},"MARKETING_CAMPAIGN_CREATE_FAILED":{"http":400,"en":"Marketing campaign create failed","fr":"Impossible de créer la campagne."},"MARKETING_CAMPAIGN_UPDATE_FAILED":{"http":400,"en":"Marketing campaign update failed","fr":"Impossible de mettre à jour la campagne."},"MARKETING_SMS_CONFIG_FETCH_FAILED":{"http":500,"en":"Marketing sms config fetch failed","fr":"Impossible de charger les données."},"MARKETING_SMS_CONFIG_UPDATE_FAILED":{"http":500,"en":"Marketing sms config update failed","fr":"Impossible d'enregistrer les modifications."},"MARKETING_SMS_DISABLED":{"http":409,"en":"Marketing sms disabled","fr":"Cette fonctionnalité est désactivée."},"MARKETING_SMS_QUOTA_EXCEEDED":{"http":429,"en":"Marketing sms quota exceeded","fr":"Trop de tentatives. Réessayez dans un instant."},"MARKET_COUNTRY_FETCH_FAILED":{"http":500,"en":"Market country fetch failed","fr":"Impossible de charger le pays."},"MARKET_COUNTRY_NOT_FOUND":{"http":404,"en":"Market country not found","fr":"Pays introuvable."},"MARKET_DIAL_CODE_UPDATE_FAILED":{"http":400,"en":"Market dial code update failed","fr":"Impossible d'enregistrer les modifications."},"MARKET_NOT_READY":{"http":409,"en":"Market not ready","fr":"Conflit : l'état actuel ne permet pas cette action."},"MARKET_PHONE_FORMAT_INVALID":{"http":400,"en":"Market phone format invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"MARKET_PHONE_FORMAT_UPDATE_FAILED":{"http":400,"en":"Market phone format update failed","fr":"Impossible d'enregistrer les modifications."},"MARKET_READINESS_COUNT_FAILED":{"http":500,"en":"Market readiness count failed","fr":"Impossible de calculer le total pour le moment."},"MARKET_SIDE_REQUIRED":{"http":400,"en":"Market side required","fr":"Une information obligatoire est manquante."},"MARKET_UPDATE_FAILED":{"http":400,"en":"Market update failed","fr":"Impossible d'enregistrer les modifications."},"MARKET_USE_DEDICATED_ENDPOINT":{"http":409,"en":"Market use dedicated endpoint","fr":"Conflit : l'état actuel ne permet pas cette action."},"MESSAGE_CHANNELS_FETCH_FAILED":{"http":500,"en":"Message channels fetch failed","fr":"Échec de la récupération — canaux"},"MESSAGE_CHANNEL_FIELDS_REQUIRED":{"http":400,"en":"Message channel fields required","fr":"Une information obligatoire est manquante."},"MESSAGE_CHANNEL_UPSERT_FAILED":{"http":400,"en":"Message channel upsert failed","fr":"Impossible d'enregistrer le message."},"MESSAGE_CONTENT_INVALID":{"http":422,"en":"Message content invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"METHOD_NOT_ALLOWED":{"http":405,"en":"Method not allowed","fr":"Cette action n'est pas autorisée ici."},"MULTIPART_REQUIRED":{"http":415,"en":"Send multipart/form-data with a `file` field","fr":"Envoyez le fichier en multipart/form-data (champ « file »)."},"NEAREST_DRIVERS_COLORS_FAILED":{"http":500,"en":"Nearest drivers colors failed","fr":"Une erreur est survenue. Réessayez plus tard."},"NEAREST_DRIVERS_PROFILES_FAILED":{"http":500,"en":"Nearest drivers profiles failed","fr":"Une erreur est survenue. Réessayez plus tard."},"NEAREST_DRIVERS_VEHICLES_FAILED":{"http":500,"en":"Nearest drivers vehicles failed","fr":"Une erreur est survenue. Réessayez plus tard."},"NEW_PASSWORD_REQUIRED":{"http":400,"en":"New password required","fr":"Une information obligatoire est manquante."},"NOTIFICATIONS_CLEAR_FAILED":{"http":400,"en":"Notifications clear failed","fr":"Une erreur est survenue. Réessayez plus tard."},"NOTIFICATIONS_CONFIG_FETCH_FAILED":{"http":500,"en":"Notifications config fetch failed","fr":"Impossible de charger les données."},"NOTIFICATIONS_CONFIG_UPSERT_FAILED":{"http":400,"en":"Notifications config upsert failed","fr":"Impossible d'enregistrer les modifications."},"NOTIFICATIONS_COUNT_FAILED":{"http":500,"en":"Notifications count failed","fr":"Échec du comptage — notifications"},"NOTIFICATIONS_FETCH_FAILED":{"http":500,"en":"Notifications fetch failed","fr":"Échec de la récupération — notifications"},"NOTIFICATIONS_READ_ALL_FAILED":{"http":400,"en":"Notifications read all failed","fr":"Échec du marquage de toutes les notifications comme lues"},"NOTIFICATION_BODY_REQUIRED":{"http":400,"en":"Notification body required","fr":"Une information obligatoire est manquante."},"NOTIFICATION_BODY_TOO_LONG":{"http":400,"en":"Notification body too long","fr":"Requête invalide. Vérifiez les informations saisies."},"NOTIFICATION_CREATE_FAILED":{"http":400,"en":"Notification create failed","fr":"Impossible de créer — notification"},"NOTIFICATION_DELETE_FAILED":{"http":400,"en":"Notification delete failed","fr":"Impossible de supprimer cet élément."},"NOTIFICATION_FETCH_FAILED":{"http":500,"en":"Notification fetch failed","fr":"Impossible de charger les données."},"NOTIFICATION_NOT_FOUND":{"http":404,"en":"Notification not found","fr":"Notification introuvable"},"NOTIFICATION_READ_FAILED":{"http":400,"en":"Notification read failed","fr":"Impossible de marquer comme lu — notification"},"NOTIFICATION_TARGET_REQUIRED":{"http":400,"en":"Notification target required","fr":"Une information obligatoire est manquante."},"NOTIFICATION_TEMPLATES_FETCH_FAILED":{"http":500,"en":"Notification templates fetch failed","fr":"Échec de la récupération — modèles"},"NOTIFICATION_TEMPLATE_CREATE_FAILED":{"http":400,"en":"Notification template create failed","fr":"Impossible de créer — modèle"},"NOTIFICATION_TEMPLATE_INVALID":{"http":400,"en":"code, channel and body are required","fr":"Les champs code, canal et corps du message sont requis"},"NOTIFICATION_TITLE_REQUIRED":{"http":400,"en":"Notification title required","fr":"Une information obligatoire est manquante."},"NOTIFICATION_TITLE_TOO_LONG":{"http":400,"en":"Notification title too long","fr":"Requête invalide. Vérifiez les informations saisies."},"NOT_DELIVERY_DRIVER":{"http":403,"en":"Not delivery driver","fr":"Vous n'êtes pas autorisé à effectuer cette action."},"NOT_FOUND":{"http":404,"en":"Dev sandbox disabled on this environment","fr":"Ressource introuvable"},"NOT_IMPLEMENTED":{"http":501,"en":"Not implemented","fr":"Cette fonctionnalité sera disponible prochainement."},"NO_ELIGIBLE_PARTNER":{"http":400,"en":"No eligible partner","fr":"Requête invalide. Vérifiez les informations saisies."},"NPS_COMMENT_TOO_LONG":{"http":422,"en":"Nps comment too long","fr":"Certaines informations sont invalides ou manquantes."},"NPS_DISMISSAL_FAILED":{"http":500,"en":"Nps dismissal failed","fr":"Une erreur est survenue. Réessayez plus tard."},"NPS_LOOKUP_FAILED":{"http":500,"en":"Nps lookup failed","fr":"Recherche impossible pour le moment."},"NPS_NOT_ELIGIBLE":{"http":409,"en":"Nps not eligible","fr":"Cette opération n'est pas éligible."},"NPS_ORDER_LOOKUP_FAILED":{"http":500,"en":"Nps order lookup failed","fr":"Impossible de retrouver la commande."},"NPS_RESPONSE_FAILED":{"http":500,"en":"Nps response failed","fr":"Une erreur est survenue. Réessayez plus tard."},"NPS_SCORE_INVALID":{"http":422,"en":"Nps score invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"OCR_DISABLED":{"http":503,"en":"Ocr disabled","fr":"La lecture automatique de documents est désactivée."},"OCR_EMPTY_RESPONSE":{"http":502,"en":"Ocr empty response","fr":"La lecture du document n’a rien renvoyé. Réessayez."},"OCR_IMAGE_FETCH_FAILED":{"http":502,"en":"Ocr image fetch failed","fr":"Impossible de récupérer l'image. Réessayez."},"OCR_IMAGE_INVALID":{"http":400,"en":"Ocr image invalid","fr":"Image illisible. Envoyez une photo plus nette."},"OCR_IMAGE_NOT_FOUND":{"http":404,"en":"Ocr image not found","fr":"Image introuvable."},"OCR_IMAGE_REQUIRED":{"http":400,"en":"Ocr image required","fr":"Une image du document est requise."},"OCR_IMAGE_TOO_LARGE":{"http":413,"en":"Ocr image too large","fr":"L'image envoyée est trop volumineuse."},"OCR_MULTIPART_REQUIRED":{"http":415,"en":"Ocr multipart required","fr":"Une information obligatoire est manquante."},"OCR_NOT_CONFIGURED":{"http":503,"en":"Ocr not configured","fr":"La lecture automatique de documents n'est pas configurée."},"OCR_PARSE_FAILED":{"http":502,"en":"Ocr parse failed","fr":"Impossible de lire le document. Réessayez avec une photo plus nette."},"OCR_PDF_UNSUPPORTED":{"http":415,"en":"Ocr pdf unsupported","fr":"Opération non prise en charge."},"OCR_PROVIDER_ERROR":{"http":502,"en":"Ocr provider error","fr":"Service momentanément indisponible. Réessayez plus tard."},"OCR_PROVIDER_UNREACHABLE":{"http":502,"en":"Ocr provider unreachable","fr":"Service de lecture de documents injoignable. Réessayez plus tard."},"OCR_TOO_MANY_FILES":{"http":400,"en":"Ocr too many files","fr":"Trop de documents envoyés en une fois."},"ONBOARDING_VEHICLE_INCOMPLETE":{"http":400,"en":"Onboarding vehicle incomplete","fr":"Requête invalide. Vérifiez les informations saisies."},"ORDERS_FETCH_FAILED":{"http":500,"en":"Orders fetch failed","fr":"Échec de la récupération — commandes"},"ORDER_ACCESS_CHECK_FAILED":{"http":500,"en":"Order access check failed","fr":"Échec — access vérification"},"ORDER_EVENTS_FETCH_FAILED":{"http":500,"en":"Order events fetch failed","fr":"Échec de la récupération — événements"},"ORDER_EVENT_FAILED":{"http":500,"en":"Order event failed","fr":"Impossible d'enregistrer l'événement — commande"},"ORDER_FETCH_FAILED":{"http":500,"en":"Order fetch failed","fr":"Échec de la récupération — commande"},"ORDER_FORBIDDEN":{"http":403,"en":"Order forbidden","fr":"Vous n'êtes pas autorisé pour cette commande."},"ORDER_FRANCHISE_RESOLVE_FAILED":{"http":500,"en":"Order franchise resolve failed","fr":"Une erreur est survenue. Réessayez plus tard."},"ORDER_ISSUE_CREATE_FAILED":{"http":500,"en":"Order issue create failed","fr":"Impossible de créer — signalement"},"ORDER_NOT_FOUND":{"http":404,"en":"Order not found","fr":"Commande introuvable"},"ORDER_NOT_RATEABLE":{"http":409,"en":"Order not rateable","fr":"Cette commande ne peut pas être notée."},"ORDER_NOT_TIPPABLE":{"http":409,"en":"Order not tippable","fr":"Cette commande n'accepte pas de pourboire."},"ORDER_PAYMENT_UPDATE_FAILED":{"http":500,"en":"Order payment update failed","fr":"Impossible de mettre à jour le paiement."},"ORDER_PICKUP_MISSING":{"http":400,"en":"Order pickup latitude/longitude are required","fr":"Coordonnées GPS du point de prise en charge requises"},"ORDER_RATING_CREATE_FAILED":{"http":500,"en":"Order rating create failed","fr":"Impossible de créer — notation"},"ORDER_RECEIPT_FETCH_FAILED":{"http":500,"en":"Order receipt fetch failed","fr":"Échec de la récupération — reçu"},"ORDER_RECEIPT_NOT_FOUND":{"http":404,"en":"Receipt not found","fr":"Reçu de commande introuvable"},"ORDER_REPEAT_GEO_INVALID":{"http":400,"en":"Order repeat geo invalid","fr":"Coordonnées invalides."},"ORDER_REPEAT_GEO_REQUIRED":{"http":400,"en":"Order repeat geo required","fr":"Une information obligatoire est manquante."},"ORDER_REPEAT_RENTAL_DATES_INVALID":{"http":400,"en":"Order repeat rental dates invalid","fr":"Dates invalides."},"ORDER_REPEAT_UNSUPPORTED":{"http":400,"en":"Order repeat unsupported","fr":"Opération non prise en charge."},"ORDER_RETRY_FAILED":{"http":500,"en":"Order retry failed","fr":"Une erreur est survenue. Réessayez plus tard."},"ORDER_SERVICE_TYPE_INVALID":{"http":400,"en":"Unsupported service type","fr":"Type de service non pris en charge"},"ORDER_TRACKING_ENDED":{"http":410,"en":"Order tracking ended","fr":"Le suivi de cette commande n'est plus actif."},"ORDER_TRACKING_FETCH_FAILED":{"http":500,"en":"Order tracking fetch failed","fr":"Échec de la récupération — suivi"},"ORDER_TRACKING_FORBIDDEN":{"http":403,"en":"Order tracking forbidden","fr":"Vous n'êtes pas autorisé à suivre cette commande."},"OTP_ACCOUNT_MISMATCH":{"http":409,"en":"Otp account mismatch","fr":"Conflit : l'état actuel ne permet pas cette action."},"OTP_EXPIRED":{"http":400,"en":"Code expired or already used. Request a new code.","fr":"Code expiré ou déjà utilisé. Demandez un nouveau code."},"OTP_LOG_FETCH_FAILED":{"http":500,"en":"Otp log fetch failed","fr":"Impossible de charger les données."},"OTP_LOG_NOT_AVAILABLE":{"http":503,"en":"Otp log not available","fr":"Cet élément n'est pas disponible."},"OTP_MISMATCH":{"http":400,"en":"Incorrect code. Check the latest SMS code and try again.","fr":"Code incorrect. Vérifiez le dernier code reçu par SMS et réessayez."},"OTP_PASSWORD_SET_FAILED":{"http":400,"en":"Otp password set failed","fr":"Une erreur est survenue. Réessayez plus tard."},"OTP_PHONE_INVALID":{"http":400,"en":"phone is required","fr":"Numéro de téléphone requis"},"OTP_REQUIRED":{"http":400,"en":"Otp required","fr":"Un code de vérification est requis."},"OTP_SEND_FAILED":{"http":400,"en":"Otp send failed","fr":"Impossible d'envoyer le code. Réessayez."},"OTP_SESSION_FAILED":{"http":400,"en":"Unable to generate session","fr":"Impossible de générer la session"},"OTP_SMS_COOLDOWN":{"http":429,"en":"Otp sms cooldown","fr":"Trop de tentatives. Réessayez dans un instant."},"OTP_SMS_NOT_CONFIGURED":{"http":503,"en":"Orange SMS OTP is not configured","fr":"Service SMS OTP non configuré"},"OTP_SMS_RATE_LIMITED":{"http":429,"en":"Otp sms rate limited","fr":"Trop de demandes de code. Patientez avant de réessayer."},"OTP_TARGET_REQUIRED":{"http":400,"en":"Otp target required","fr":"Un e-mail ou un numéro de téléphone est requis."},"OTP_TOO_MANY_ATTEMPTS":{"http":429,"en":"Otp too many attempts","fr":"Trop de tentatives. Réessayez dans un instant."},"OTP_USER_CREATE_FAILED":{"http":400,"en":"Otp user create failed","fr":"Impossible de créer — code OTP utilisateur"},"OTP_USER_LOOKUP_FAILED":{"http":500,"en":"Otp user lookup failed","fr":"Échec de la recherche — code OTP utilisateur"},"OTP_VERIFY_FAILED":{"http":400,"en":"Otp verify failed","fr":"Code de vérification invalide ou expiré."},"PARTNERS_FETCH_FAILED":{"http":500,"en":"Partners fetch failed","fr":"Impossible de charger les partenaires."},"PARTNER_ACCESS_CHECK_FAILED":{"http":500,"en":"Partner access check failed","fr":"Vos droits sur ce partenaire n'ont pas pu être vérifiés. Réessayez."},"PARTNER_ACCESS_DENIED":{"http":403,"en":"Partner access denied","fr":"Accès partenaire refusé"},"PARTNER_ACCESS_REQUIRED":{"http":403,"en":"Partner account required","fr":"Compte partenaire requis"},"PARTNER_ACCOUNT_NOT_A_PARTNER_USER":{"http":409,"en":"Partner account not a partner user","fr":"Conflit : l'état actuel ne permet pas cette action."},"PARTNER_ACCOUNT_PROFILE_MISSING":{"http":409,"en":"Partner account profile missing","fr":"Une information obligatoire est manquante."},"PARTNER_ACCOUNT_REQUIRED":{"http":403,"en":"Partner account required","fr":"Une information obligatoire est manquante."},"PARTNER_ARCHIVED":{"http":410,"en":"Partner archived","fr":"Ce partenaire est archivé."},"PARTNER_ARCHIVE_DRIVERS_FAILED":{"http":500,"en":"Partner archive drivers failed","fr":"Une erreur est survenue. Réessayez plus tard."},"PARTNER_ARCHIVE_FAILED":{"http":400,"en":"Partner archive failed","fr":"Impossible d'archiver le partenaire."},"PARTNER_ARCHIVE_MEMBERS_FAILED":{"http":500,"en":"Partner archive members failed","fr":"Une erreur est survenue. Réessayez plus tard."},"PARTNER_ARCHIVE_PROFILE_FAILED":{"http":500,"en":"Partner archive profile failed","fr":"Une erreur est survenue. Réessayez plus tard."},"PARTNER_ARCHIVE_ROLES_FAILED":{"http":500,"en":"Partner archive roles failed","fr":"Une erreur est survenue. Réessayez plus tard."},"PARTNER_BOOKINGS_FETCH_FAILED":{"http":500,"en":"Partner bookings fetch failed","fr":"Impossible de charger les réservations."},"PARTNER_BOOKING_CANCEL_FAILED":{"http":400,"en":"Partner booking cancel failed","fr":"Impossible d'annuler pour le moment."},"PARTNER_BOOKING_CREATE_FAILED":{"http":400,"en":"Partner booking create failed","fr":"Impossible de créer la réservation."},"PARTNER_BOOKING_FETCH_FAILED":{"http":500,"en":"Partner booking fetch failed","fr":"Impossible de charger la réservation."},"PARTNER_BOOKING_REFERENCE_FAILED":{"http":500,"en":"Partner booking reference failed","fr":"Une erreur est survenue. Réessayez plus tard."},"PARTNER_CANCELLATIONS_FETCH_FAILED":{"http":500,"en":"Partner cancellations fetch failed","fr":"Impossible de charger le partenaire."},"PARTNER_CHANGE_REQUEST_FAILED":{"http":400,"en":"Partner change request failed","fr":"Impossible de demander le changement — partenaire"},"PARTNER_COMMISSIONS_FETCH_FAILED":{"http":500,"en":"Partner commissions fetch failed","fr":"Impossible de charger les commissions."},"PARTNER_COMMISSIONS_STATS_FAILED":{"http":500,"en":"Partner commissions stats failed","fr":"Une erreur est survenue. Réessayez plus tard."},"PARTNER_COMMISSION_FETCH_FAILED":{"http":500,"en":"Partner commission fetch failed","fr":"Impossible de charger la commission."},"PARTNER_COMMISSION_INVALID":{"http":400,"en":"Partner commission invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"PARTNER_CONTACT_EMAIL_REQUIRED":{"http":400,"en":"Partner contact email required","fr":"Une information obligatoire est manquante."},"PARTNER_COUNTRY_MISMATCH":{"http":400,"en":"Partner country mismatch","fr":"Requête invalide. Vérifiez les informations saisies."},"PARTNER_COUNTRY_RESOLVE_FAILED":{"http":500,"en":"Partner country resolve failed","fr":"Une erreur est survenue. Réessayez plus tard."},"PARTNER_CREATE_FAILED":{"http":500,"en":"Partner create failed","fr":"Impossible de créer — partenaire"},"PARTNER_CREATE_FORBIDDEN":{"http":403,"en":"Partner create forbidden","fr":"Vous n'êtes pas autorisé à effectuer cette action."},"PARTNER_DASHBOARD_FETCH_FAILED":{"http":500,"en":"Partner dashboard fetch failed","fr":"Échec de la récupération — tableau de bord"},"PARTNER_DOCUMENTS_FETCH_FAILED":{"http":500,"en":"Partner documents fetch failed","fr":"Impossible de charger les documents."},"PARTNER_DOCUMENT_CREATE_FAILED":{"http":400,"en":"Partner document create failed","fr":"Impossible de créer le document."},"PARTNER_DOCUMENT_FETCH_FAILED":{"http":500,"en":"Partner document fetch failed","fr":"Impossible de charger le document."},"PARTNER_DRIVERS_FETCH_FAILED":{"http":500,"en":"Partner drivers fetch failed","fr":"Impossible de charger les chauffeurs."},"PARTNER_DRIVERS_PROFILES_FAILED":{"http":500,"en":"Partner drivers profiles failed","fr":"Une erreur est survenue. Réessayez plus tard."},"PARTNER_DRIVERS_VEHICLES_FAILED":{"http":500,"en":"Partner drivers vehicles failed","fr":"Une erreur est survenue. Réessayez plus tard."},"PARTNER_DRIVER_ADOPT_FAILED":{"http":400,"en":"Partner driver adopt failed","fr":"Une erreur est survenue. Réessayez plus tard."},"PARTNER_DRIVER_AUTH_CREATE_FAILED":{"http":400,"en":"Partner driver auth create failed","fr":"Impossible de créer le chauffeur."},"PARTNER_DRIVER_CREATE_FAILED":{"http":400,"en":"Partner driver create failed","fr":"Impossible de créer le chauffeur."},"PARTNER_DRIVER_FETCH_FAILED":{"http":500,"en":"Partner driver fetch failed","fr":"Impossible de charger le chauffeur."},"PARTNER_DRIVER_LIVE_FAILED":{"http":500,"en":"Partner driver live failed","fr":"Une erreur est survenue. Réessayez plus tard."},"PARTNER_DRIVER_PERF_PROFILES_FAILED":{"http":500,"en":"Partner driver perf profiles failed","fr":"Une erreur est survenue. Réessayez plus tard."},"PARTNER_DRIVER_PROFILE_FAILED":{"http":500,"en":"Partner driver profile failed","fr":"Une erreur est survenue. Réessayez plus tard."},"PARTNER_DRIVER_TRANSFERS_FETCH_FAILED":{"http":500,"en":"Partner driver transfers fetch failed","fr":"Impossible de charger le chauffeur."},"PARTNER_DRIVER_TRANSFER_STATS_FAILED":{"http":500,"en":"Partner driver transfer stats failed","fr":"Une erreur est survenue. Réessayez plus tard."},"PARTNER_DRIVER_TRIPS_FAILED":{"http":500,"en":"Partner driver trips failed","fr":"Une erreur est survenue. Réessayez plus tard."},"PARTNER_DRIVER_VEHICLE_FAILED":{"http":500,"en":"Partner driver vehicle failed","fr":"Une erreur est survenue. Réessayez plus tard."},"PARTNER_DRIVER_WALLETS_FETCH_FAILED":{"http":500,"en":"Partner driver wallets fetch failed","fr":"Impossible de charger les portefeuilles."},"PARTNER_EMAIL_ALREADY_EXISTS":{"http":409,"en":"Partner email already exists","fr":"Cet e-mail est déjà rattaché à un compte existant. Si le partenaire correspondant a été archivé, réactivez-le plutôt que d'en créer un nouveau."},"PARTNER_FETCH_FAILED":{"http":500,"en":"Partner fetch failed","fr":"Échec de la récupération — partenaire"},"PARTNER_FLEET_PERF_VEHICLES_FAILED":{"http":500,"en":"Partner fleet perf vehicles failed","fr":"Une erreur est survenue. Réessayez plus tard."},"PARTNER_HAS_NO_LOGIN_ACCOUNT":{"http":409,"en":"Partner has no login account","fr":"Conflit : l'état actuel ne permet pas cette action."},"PARTNER_ID_REQUIRED":{"http":400,"en":"Partner id required","fr":"Le partenaire est requis."},"PARTNER_LEGAL_FORM_INVALID":{"http":400,"en":"Partner legal form invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"PARTNER_LEGAL_NAME_REQUIRED":{"http":400,"en":"Partner legal name required","fr":"Une information obligatoire est manquante."},"PARTNER_LOOKUP_FAILED":{"http":500,"en":"Partner lookup failed","fr":"Échec de la recherche — partenaire"},"PARTNER_MEMBER_CREATE_FAILED":{"http":500,"en":"Partner member create failed","fr":"Impossible de créer — membre"},"PARTNER_MEMBER_FETCH_FAILED":{"http":500,"en":"Partner member fetch failed","fr":"Échec de la récupération — membre"},"PARTNER_MEMBER_NOT_FOUND":{"http":404,"en":"Partner member not found","fr":"Membre introuvable."},"PARTNER_MEMBER_REMOVE_FAILED":{"http":500,"en":"Partner member remove failed","fr":"Impossible de retirer — membre"},"PARTNER_MEMBER_UPDATE_FAILED":{"http":500,"en":"Partner member update failed","fr":"Impossible de mettre à jour — membre"},"PARTNER_MESSAGE_CONVERSATIONS_LIST_FAILED":{"http":500,"en":"Partner message conversations list failed","fr":"Échec de la récupération — inbox messages loueur"},"PARTNER_MESSAGE_CONVERSATION_CREATE_FAILED":{"http":500,"en":"Partner message conversation create failed","fr":"Impossible de créer la conversation avec le loueur"},"PARTNER_MESSAGE_CONVERSATION_FETCH_FAILED":{"http":500,"en":"Partner message conversation fetch failed","fr":"Échec de la récupération — conversation loueur"},"PARTNER_MESSAGE_CONVERSATION_INVALID":{"http":500,"en":"Partner message conversation invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"PARTNER_MESSAGE_CONVERSATION_NOT_FOUND":{"http":404,"en":"Partner message conversation not found","fr":"Conversation introuvable"},"PARTNER_MESSAGE_INSERT_FAILED":{"http":500,"en":"Partner message insert failed","fr":"Impossible d'envoyer le message"},"PARTNER_MESSAGE_LIST_FAILED":{"http":500,"en":"Partner message list failed","fr":"Échec de la récupération — messages loueur"},"PARTNER_MESSAGE_PARTNER_FETCH_FAILED":{"http":500,"en":"Partner fetch failed for messaging","fr":"Échec de la récupération — loueur"},"PARTNER_MESSAGE_PARTNER_NOT_FOUND":{"http":404,"en":"Partner not found or unavailable for messaging","fr":"Loueur introuvable ou indisponible"},"PARTNER_MESSAGE_READ_FAILED":{"http":500,"en":"Partner message read mark failed","fr":"Impossible de marquer la conversation comme lue"},"PARTNER_MESSAGE_TEXT_REQUIRED":{"http":422,"en":"Message text is required","fr":"Le texte du message est requis"},"PARTNER_NOTIFICATION_PREFS_UPDATE_FAILED":{"http":500,"en":"Partner notification prefs update failed","fr":"Impossible de mettre à jour le partenaire."},"PARTNER_NOT_ELIGIBLE":{"http":400,"en":"Partner not eligible","fr":"Cette opération n'est pas éligible."},"PARTNER_NOT_FOUND":{"http":404,"en":"Partner not found","fr":"Partenaire introuvable"},"PARTNER_NOT_IN_FRANCHISE":{"http":403,"en":"Partner not in franchise","fr":"Vous n'êtes pas autorisé à effectuer cette action."},"PARTNER_OPS_DELIVERIES_FAILED":{"http":500,"en":"Partner ops deliveries failed","fr":"Une erreur est survenue. Réessayez plus tard."},"PARTNER_OPS_DRIVERS_FAILED":{"http":500,"en":"Partner ops drivers failed","fr":"Une erreur est survenue. Réessayez plus tard."},"PARTNER_OPS_ORDERS_FAILED":{"http":500,"en":"Partner ops orders failed","fr":"Une erreur est survenue. Réessayez plus tard."},"PARTNER_ORDERS_FETCH_FAILED":{"http":500,"en":"Partner orders fetch failed","fr":"Impossible de charger les commandes."},"PARTNER_PASSWORD_INVALID":{"http":401,"en":"Partner password invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"PARTNER_PASSWORD_REQUIRED":{"http":400,"en":"Partner password required","fr":"Le mot de passe est requis."},"PARTNER_PASSWORD_TOO_SHORT":{"http":400,"en":"Partner password too short","fr":"Le mot de passe est trop court."},"PARTNER_PASSWORD_UPDATE_FAILED":{"http":422,"en":"Partner password update failed","fr":"Impossible de mettre à jour le partenaire."},"PARTNER_PROFILE_FETCH_FAILED":{"http":500,"en":"Partner profile fetch failed","fr":"Impossible de charger le profil."},"PARTNER_RECENT_TRIPS_FETCH_FAILED":{"http":500,"en":"Partner recent trips fetch failed","fr":"Impossible de charger les trajets."},"PARTNER_RECRUITED_LIST_FAILED":{"http":500,"en":"Partner recruited list failed","fr":"Impossible de charger le partenaire."},"PARTNER_RECURRING_BOOKINGS_FETCH_FAILED":{"http":500,"en":"Partner recurring bookings fetch failed","fr":"Impossible de charger les réservations."},"PARTNER_RENTALS_FETCH_FAILED":{"http":500,"en":"Partner rentals fetch failed","fr":"Impossible de charger le partenaire."},"PARTNER_RENTALS_STATS_FAILED":{"http":500,"en":"Partner rentals stats failed","fr":"Une erreur est survenue. Réessayez plus tard."},"PARTNER_RENTAL_ALERTS_FAILED":{"http":500,"en":"Partner rental alerts failed","fr":"Une erreur est survenue. Réessayez plus tard."},"PARTNER_RENTAL_CALENDAR_FAILED":{"http":500,"en":"Partner rental calendar failed","fr":"Une erreur est survenue. Réessayez plus tard."},"PARTNER_RENTAL_CUSTOMERS_FAILED":{"http":500,"en":"Partner rental customers failed","fr":"Une erreur est survenue. Réessayez plus tard."},"PARTNER_RENTAL_FETCH_FAILED":{"http":500,"en":"Partner rental fetch failed","fr":"Impossible de charger la location."},"PARTNER_RENTAL_FINANCE_FAILED":{"http":500,"en":"Partner rental finance failed","fr":"Une erreur est survenue. Réessayez plus tard."},"PARTNER_RENTAL_NOT_FOUND":{"http":404,"en":"Partner rental not found","fr":"Location introuvable."},"PARTNER_RENTAL_REPORTS_FAILED":{"http":500,"en":"Partner rental reports failed","fr":"Une erreur est survenue. Réessayez plus tard."},"PARTNER_RENTAL_SETTLEMENTS_FAILED":{"http":500,"en":"Partner rental settlements failed","fr":"Une erreur est survenue. Réessayez plus tard."},"PARTNER_REPORTS_FAILED":{"http":500,"en":"Partner reports failed","fr":"Une erreur est survenue. Réessayez plus tard."},"PARTNER_REPORT_PERIODS_FAILED":{"http":500,"en":"Partner report periods failed","fr":"Une erreur est survenue. Réessayez plus tard."},"PARTNER_RESTORE_FAILED":{"http":400,"en":"Partner restore failed","fr":"Une erreur est survenue. Réessayez plus tard."},"PARTNER_RESTORE_MEMBERS_FAILED":{"http":500,"en":"Partner restore members failed","fr":"Une erreur est survenue. Réessayez plus tard."},"PARTNER_RESTORE_PROFILE_FAILED":{"http":500,"en":"Partner restore profile failed","fr":"Une erreur est survenue. Réessayez plus tard."},"PARTNER_RESTORE_ROLES_FAILED":{"http":500,"en":"Partner restore roles failed","fr":"Une erreur est survenue. Réessayez plus tard."},"PARTNER_REVENUE_FETCH_FAILED":{"http":500,"en":"Partner revenue fetch failed","fr":"Impossible de charger le chiffre d’affaires."},"PARTNER_RIDES_COUNT_FAILED":{"http":500,"en":"Partner rides count failed","fr":"Impossible de calculer le total pour le moment."},"PARTNER_ROLE_ASSIGN_FAILED":{"http":500,"en":"Partner role assign failed","fr":"Impossible d'effectuer l'affectation."},"PARTNER_ROLE_LOOKUP_FAILED":{"http":500,"en":"Partner role lookup failed","fr":"Impossible de retrouver le rôle."},"PARTNER_ROTATION_LOOKUP_FAILED":{"http":500,"en":"Partner rotation lookup failed","fr":"Impossible de retrouver la rotation."},"PARTNER_SHIFTS_PROFILES_FAILED":{"http":500,"en":"Partner shifts profiles failed","fr":"Une erreur est survenue. Réessayez plus tard."},"PARTNER_SHIFTS_VEHICLES_FAILED":{"http":500,"en":"Partner shifts vehicles failed","fr":"Une erreur est survenue. Réessayez plus tard."},"PARTNER_SHIFT_CREATE_FAILED":{"http":400,"en":"Partner shift create failed","fr":"Impossible de créer le créneau."},"PARTNER_SHIFT_DELETE_FAILED":{"http":400,"en":"Partner shift delete failed","fr":"Impossible de supprimer le créneau."},"PARTNER_STATS_FAILED":{"http":500,"en":"Partner stats failed","fr":"Une erreur est survenue. Réessayez plus tard."},"PARTNER_STATUS_ARCHIVE_FORBIDDEN":{"http":400,"en":"Partner status archive forbidden","fr":"Vous n'êtes pas autorisé à effectuer cette action."},"PARTNER_STATUS_INVALID":{"http":400,"en":"Partner status invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"PARTNER_SUPPORT_CHAT_FETCH_FAILED":{"http":500,"en":"Partner support chat fetch failed","fr":"Impossible de charger la conversation."},"PARTNER_SUPPORT_MESSAGE_FAILED":{"http":400,"en":"Partner support message failed","fr":"Une erreur est survenue. Réessayez plus tard."},"PARTNER_SUPPORT_RIDES_FAILED":{"http":500,"en":"Partner support rides failed","fr":"Une erreur est survenue. Réessayez plus tard."},"PARTNER_TOPUP_CHANNEL_INVALID":{"http":400,"en":"Partner topup channel invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"PARTNER_TOPUP_INVALID_AMOUNT":{"http":400,"en":"Partner topup invalid amount","fr":"Requête invalide. Vérifiez les informations saisies."},"PARTNER_TRANSFER_CROSS_FRANCHISE_FORBIDDEN":{"http":403,"en":"Partner transfer cross franchise forbidden","fr":"Vous n'êtes pas autorisé à effectuer cette action."},"PARTNER_TRANSFER_DRIVER_FAILED":{"http":400,"en":"Partner transfer driver failed","fr":"Une erreur est survenue. Réessayez plus tard."},"PARTNER_TRANSFER_RIDE_CHECK_FAILED":{"http":500,"en":"Partner transfer ride check failed","fr":"Une erreur est survenue. Réessayez plus tard."},"PARTNER_TRANSFER_SAME":{"http":400,"en":"Partner transfer same","fr":"Le partenaire source et destination sont identiques."},"PARTNER_TRANSFER_TARGET_NOT_FLEET":{"http":400,"en":"A driver can only be transferred to a fleet (FLEET) partner.","fr":"Un chauffeur ne peut être transféré que vers une flotte. Les partenaires fret/location ne gèrent pas de chauffeurs."},"PARTNER_TRANSFER_VEHICLES_FETCH_FAILED":{"http":500,"en":"Partner transfer vehicles fetch failed","fr":"Impossible de charger les véhicules."},"PARTNER_TRANSFER_VEHICLE_FAILED":{"http":400,"en":"Partner transfer vehicle failed","fr":"Une erreur est survenue. Réessayez plus tard."},"PARTNER_TRIPS_FETCH_FAILED":{"http":500,"en":"Partner trips fetch failed","fr":"Impossible de charger les trajets."},"PARTNER_TRIP_FETCH_FAILED":{"http":500,"en":"Partner trip fetch failed","fr":"Impossible de charger le trajet."},"PARTNER_TRIP_NOT_FOUND":{"http":404,"en":"Partner trip not found","fr":"Trajet introuvable."},"PARTNER_TYPE_INVALID":{"http":400,"en":"Partner type invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"PARTNER_TYPE_REQUIRED":{"http":400,"en":"Partner type required","fr":"Une information obligatoire est manquante."},"PARTNER_UPDATE_EMPTY":{"http":400,"en":"Partner update empty","fr":"Aucune modification fournie."},"PARTNER_UPDATE_FAILED":{"http":500,"en":"Partner update failed","fr":"Impossible de mettre à jour — partenaire"},"PARTNER_USER_PROVISION_FAILED":{"http":422,"en":"Partner user provision failed","fr":"Une erreur est survenue. Réessayez plus tard."},"PARTNER_VEHICLES_DRIVERS_FAILED":{"http":500,"en":"Partner vehicles drivers failed","fr":"Une erreur est survenue. Réessayez plus tard."},"PARTNER_VEHICLES_FETCH_FAILED":{"http":500,"en":"Partner vehicles fetch failed","fr":"Échec de la récupération — véhicules"},"PARTNER_VEHICLES_PROFILES_FAILED":{"http":500,"en":"Partner vehicles profiles failed","fr":"Une erreur est survenue. Réessayez plus tard."},"PARTNER_VEHICLE_ASSIGN_FAILED":{"http":400,"en":"Partner vehicle assign failed","fr":"Impossible d'effectuer l'affectation."},"PARTNER_VEHICLE_CREATE_FAILED":{"http":400,"en":"Partner vehicle create failed","fr":"Impossible de créer le véhicule."},"PARTNER_VEHICLE_DELETE_FAILED":{"http":400,"en":"Partner vehicle delete failed","fr":"Impossible de supprimer le véhicule."},"PARTNER_VEHICLE_DOCUMENTS_FAILED":{"http":500,"en":"Partner vehicle documents failed","fr":"Une erreur est survenue. Réessayez plus tard."},"PARTNER_VEHICLE_DRIVER_FAILED":{"http":500,"en":"Partner vehicle driver failed","fr":"Une erreur est survenue. Réessayez plus tard."},"PARTNER_VEHICLE_DRIVER_REQUIRED":{"http":400,"en":"Partner vehicle driver required","fr":"Une information obligatoire est manquante."},"PARTNER_VEHICLE_FETCH_FAILED":{"http":500,"en":"Partner vehicle fetch failed","fr":"Impossible de charger le véhicule."},"PARTNER_VEHICLE_UNASSIGN_FAILED":{"http":400,"en":"Partner vehicle unassign failed","fr":"Une erreur est survenue. Réessayez plus tard."},"PARTNER_VEHICLE_UPDATE_FAILED":{"http":400,"en":"Partner vehicle update failed","fr":"Impossible de mettre à jour le véhicule."},"PARTNER_WALLET_FETCH_FAILED":{"http":500,"en":"Partner wallet fetch failed","fr":"Échec de la récupération — portefeuille"},"PARTNER_WALLET_INSUFFICIENT_FUNDS":{"http":400,"en":"Partner wallet insufficient funds","fr":"Solde du portefeuille partenaire insuffisant."},"PARTNER_WALLET_NOT_FOUND":{"http":404,"en":"Partner wallet not found","fr":"Portefeuille partenaire introuvable"},"PARTNER_WITHDRAWALS_FETCH_FAILED":{"http":500,"en":"Partner withdrawals fetch failed","fr":"Impossible de charger les retraits."},"PARTNER_WITHDRAWAL_CREATE_FAILED":{"http":400,"en":"Partner withdrawal create failed","fr":"Impossible de créer le retrait."},"PASSKEY_CREATE_FAILED":{"http":400,"en":"Passkey create failed","fr":"Impossible d'enregistrer la clé d'accès."},"PASSKEY_DELETE_FAILED":{"http":400,"en":"Passkey delete failed","fr":"Impossible de supprimer la clé d'accès."},"PASSWORD_CHANGE_FAILED":{"http":400,"en":"Password change failed","fr":"Impossible de changer le mot de passe."},"PASSWORD_CHANGE_INVALID":{"http":400,"en":"Password change invalid","fr":"Le nouveau mot de passe est requis."},"PASSWORD_REQUIRED":{"http":400,"en":"Password required","fr":"Une information obligatoire est manquante."},"PASSWORD_RESET_COOLDOWN":{"http":429,"en":"Password reset cooldown","fr":"Trop de tentatives. Réessayez dans un instant."},"PASSWORD_RESET_EMAIL_DISABLED":{"http":503,"en":"Password reset email disabled","fr":"Cette fonctionnalité est désactivée."},"PASSWORD_RESET_FAILED":{"http":400,"en":"Password reset failed","fr":"Impossible de réinitialiser le mot de passe."},"PASSWORD_RESET_INVALID":{"http":400,"en":"Password reset invalid","fr":"Identifiant et mot de passe requis."},"PASSWORD_RESET_MAIL_UNAVAILABLE":{"http":502,"en":"Password reset mail unavailable","fr":"Service momentanément indisponible. Réessayez plus tard."},"PASSWORD_RESET_RATE_LIMITED":{"http":429,"en":"Password reset rate limited","fr":"Trop de tentatives. Réessayez dans quelques minutes."},"PASSWORD_RESET_REQUEST_FAILED":{"http":400,"en":"Password reset request failed","fr":"Impossible d'envoyer l'e-mail de réinitialisation."},"PASSWORD_TOO_SHORT":{"http":400,"en":"Password too short","fr":"La valeur saisie est trop courte."},"PASSWORD_UNCHANGED":{"http":400,"en":"Password unchanged","fr":"Requête invalide. Vérifiez les informations saisies."},"PAYDUNYA_AMOUNT_EXCEEDS_LIMIT":{"http":400,"en":"Paydunya amount exceeds limit","fr":"Requête invalide. Vérifiez les informations saisies."},"PAYDUNYA_BAD_RESPONSE":{"http":502,"en":"Invalid PayDunya API response","fr":"Réponse PayDunya invalide"},"PAYDUNYA_CARD_CHECKOUT_UNAVAILABLE":{"http":409,"en":"Paydunya card checkout unavailable","fr":"Conflit : l'état actuel ne permet pas cette action."},"PAYDUNYA_CARD_REDIRECT_REQUIRED":{"http":409,"en":"Paydunya card redirect required","fr":"Une information obligatoire est manquante."},"PAYDUNYA_CHANNEL_COUNTRY_MISMATCH":{"http":400,"en":"PayDunya channel does not match country","fr":"Canal PayDunya incompatible avec le pays"},"PAYDUNYA_CHANNEL_DISABLED":{"http":403,"en":"PayDunya channel disabled for country","fr":"Canal PayDunya désactivé pour ce pays"},"PAYDUNYA_CHANNEL_REQUIRED":{"http":400,"en":"PayDunya channelId is required","fr":"channelId PayDunya requis"},"PAYDUNYA_CHANNEL_UNKNOWN":{"http":400,"en":"Unknown PayDunya channel","fr":"Canal PayDunya inconnu"},"PAYDUNYA_CONFIG_FETCH_FAILED":{"http":500,"en":"PayDunya config fetch failed","fr":"Échec lecture config PayDunya"},"PAYDUNYA_CONFIG_UPSERT_FAILED":{"http":400,"en":"PayDunya config save failed","fr":"Échec enregistrement config PayDunya"},"PAYDUNYA_FIELD_REQUIRED":{"http":400,"en":"Required PayDunya SoftPay field missing","fr":"Champ SoftPay PayDunya manquant"},"PAYDUNYA_HTTP_ERROR":{"http":502,"en":"PayDunya HTTP error","fr":"Erreur HTTP PayDunya"},"PAYDUNYA_INVOICE_FAILED":{"http":502,"en":"PayDunya invoice creation failed","fr":"Échec création facture PayDunya"},"PAYDUNYA_INVOICE_TOKEN_MISSING":{"http":400,"en":"PayDunya invoice token missing on transaction","fr":"Token facture PayDunya manquant"},"PAYDUNYA_NOT_CONFIGURED":{"http":503,"en":"PayDunya API keys not configured","fr":"PayDunya non configuré"},"PAYDUNYA_REQUEST_FAILED":{"http":502,"en":"PayDunya request failed","fr":"Requête PayDunya échouée"},"PAYDUNYA_SOFTPAY_DECLINED":{"http":402,"en":"PayDunya SoftPay payment declined","fr":"Paiement SoftPay refusé"},"PAYDUNYA_TIMEOUT":{"http":504,"en":"PayDunya request timed out","fr":"Timeout PayDunya"},"PAYDUNYA_WEBHOOK_UNAUTHORIZED":{"http":401,"en":"Invalid PayDunya IPN signature","fr":"Signature IPN PayDunya invalide"},"PAYDUNYA_WIZALL_CONFIRM_FAILED":{"http":402,"en":"Wizall confirm step failed","fr":"Échec confirmation Wizall"},"PAYDUNYA_WIZALL_CONFIRM_INCOMPLETE":{"http":400,"en":"Wizall confirm fields incomplete","fr":"Champs confirmation Wizall incomplets"},"PAYLOAD_TOO_LARGE":{"http":413,"en":"Payload too large","fr":"Le contenu envoyé est trop volumineux."},"PAYMENT_CONFIRM_FAILED":{"http":400,"en":"Unable to confirm payment","fr":"Impossible de confirmer — paiement"},"PAYMENT_FETCH_FAILED":{"http":500,"en":"Payment fetch failed","fr":"Échec de la récupération — paiement"},"PAYMENT_FULFILLMENT_FAILED":{"http":500,"en":"Payment fulfillment failed","fr":"Une erreur est survenue. Réessayez plus tard."},"PAYMENT_FULFILLMENT_PERSIST_FAILED":{"http":500,"en":"Payment fulfillment persist failed","fr":"Impossible d'enregistrer les données."},"PAYMENT_ID_MISSING":{"http":400,"en":"Payment id missing","fr":"Une information obligatoire est manquante."},"PAYMENT_INIT_FAILED":{"http":400,"en":"Payment init failed","fr":"Impossible d'initier — paiement"},"PAYMENT_LINK_RECHARGE_FAILED":{"http":500,"en":"Payment link recharge failed","fr":"Une erreur est survenue. Réessayez plus tard."},"PAYMENT_METHODS_FETCH_FAILED":{"http":500,"en":"Payment methods fetch failed","fr":"Échec de la récupération — moyens de paiement"},"PAYMENT_METHOD_CREATE_FAILED":{"http":400,"en":"Payment method create failed","fr":"Impossible de créer — moyen de paiement"},"PAYMENT_METHOD_FETCH_FAILED":{"http":500,"en":"Payment method fetch failed","fr":"Impossible de charger le paiement."},"PAYMENT_METHOD_NOT_FOUND":{"http":404,"en":"Payment method not found","fr":"Paiement introuvable."},"PAYMENT_METHOD_UPDATE_FAILED":{"http":500,"en":"Payment method update failed","fr":"Impossible de mettre à jour le paiement."},"PAYMENT_NOT_FOUND":{"http":[400,404],"en":"Payment transaction not found","fr":"Paiement introuvable"},"PAYMENT_USER_MISSING":{"http":400,"en":"Payment user missing","fr":"Une information obligatoire est manquante."},"PAYMENT_WEBHOOK_FAILED":{"http":[400,500],"en":"Payment webhook failed","fr":"Échec du webhook — paiement"},"PAYMENT_WEBHOOK_FETCH_FAILED":{"http":500,"en":"Payment webhook fetch failed","fr":"Impossible de charger le paiement."},"PAYOUTS_FETCH_FAILED":{"http":500,"en":"Payouts fetch failed","fr":"Échec de la récupération — versements"},"PAYOUT_ACCOUNTS_FETCH_FAILED":{"http":500,"en":"Payout accounts fetch failed","fr":"Impossible de charger les données."},"PAYOUT_ACCOUNT_ALIAS_INVALID":{"http":400,"en":"Payout account alias invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"PAYOUT_ACCOUNT_ALIAS_REQUIRED":{"http":400,"en":"Payout account alias required","fr":"Une information obligatoire est manquante."},"PAYOUT_ACCOUNT_FETCH_FAILED":{"http":500,"en":"Payout account fetch failed","fr":"Impossible de charger le compte."},"PAYOUT_ACCOUNT_NOT_FOUND":{"http":404,"en":"Payout account not found","fr":"Compte introuvable."},"PAYOUT_ACCOUNT_SAVE_FAILED":{"http":500,"en":"Payout account save failed","fr":"Impossible d'enregistrer le compte."},"PAYOUT_ACCOUNT_STATUS_FAILED":{"http":500,"en":"Payout account status failed","fr":"Une erreur est survenue. Réessayez plus tard."},"PAYOUT_BANK_FIELDS_REQUIRED":{"http":400,"en":"Payout bank fields required","fr":"Une information obligatoire est manquante."},"PAYOUT_FEES_CONFIG_FETCH_FAILED":{"http":500,"en":"Payout fees config fetch failed","fr":"Impossible de charger les données."},"PAYOUT_FEES_CONFIG_UPDATE_FAILED":{"http":500,"en":"Payout fees config update failed","fr":"Impossible d'enregistrer les modifications."},"PAYOUT_HISTORY_FETCH_FAILED":{"http":500,"en":"Payout history fetch failed","fr":"Impossible de charger les données."},"PAYOUT_IBAN_INVALID":{"http":400,"en":"Payout iban invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"PAYOUT_LEDGER_FETCH_FAILED":{"http":500,"en":"Payout ledger fetch failed","fr":"Impossible de charger le journal comptable."},"PAYOUT_LINES_FETCH_FAILED":{"http":500,"en":"Payout lines fetch failed","fr":"Impossible de charger les données."},"PAYOUT_LINE_CLAIM_FAILED":{"http":500,"en":"Payout line claim failed","fr":"Une erreur est survenue. Réessayez plus tard."},"PAYOUT_LINE_CONFIRM_FAILED":{"http":500,"en":"Payout line confirm failed","fr":"Une erreur est survenue. Réessayez plus tard."},"PAYOUT_LINE_CREATE_FAILED":{"http":500,"en":"Payout line create failed","fr":"Impossible de créer cet élément."},"PAYOUT_LINE_FETCH_FAILED":{"http":500,"en":"Payout line fetch failed","fr":"Impossible de charger les données."},"PAYOUT_LINE_NOT_AWAITING":{"http":409,"en":"Payout line not awaiting","fr":"Conflit : l'état actuel ne permet pas cette action."},"PAYOUT_LINE_NOT_BANK":{"http":409,"en":"Payout line not bank","fr":"Conflit : l'état actuel ne permet pas cette action."},"PAYOUT_LINE_NOT_DEBITED":{"http":409,"en":"Payout line not debited","fr":"Conflit : l'état actuel ne permet pas cette action."},"PAYOUT_LINE_NOT_FAILED":{"http":409,"en":"Payout line not failed","fr":"Cette opération n'est pas en échec : rien à relancer."},"PAYOUT_LINE_NOT_FOUND":{"http":404,"en":"Payout line not found","fr":"Ressource introuvable."},"PAYOUT_LINE_UPDATE_FAILED":{"http":500,"en":"Payout line update failed","fr":"Impossible d'enregistrer les modifications."},"PAYOUT_METHOD_NOT_ALLOWED":{"http":400,"en":"Payout method not allowed","fr":"Cette action n'est pas autorisée."},"PAYOUT_NOT_FOUND":{"http":404,"en":"Payout not found","fr":"Versement introuvable"},"PAYOUT_OPERATOR_REQUIRED":{"http":400,"en":"Payout operator required","fr":"Une information obligatoire est manquante."},"PAYOUT_OPERATOR_UNSUPPORTED":{"http":400,"en":"Payout operator unsupported","fr":"Opération non prise en charge."},"PAYOUT_PARTNERS_FETCH_FAILED":{"http":500,"en":"Payout partners fetch failed","fr":"Impossible de charger les partenaires."},"PAYOUT_PERIOD_BOUNDS_INVALID":{"http":400,"en":"Payout period bounds invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"PAYOUT_PERIOD_BOUNDS_REQUIRED":{"http":400,"en":"Payout period bounds required","fr":"Une information obligatoire est manquante."},"PAYOUT_PERIOD_END_IN_FUTURE":{"http":400,"en":"Payout period end in future","fr":"Requête invalide. Vérifiez les informations saisies."},"PAYOUT_PERIOD_ORDER_INVALID":{"http":400,"en":"Payout period order invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"PAYOUT_PERIOD_OVERLAP":{"http":409,"en":"Payout period overlap","fr":"Conflit : l'état actuel ne permet pas cette action."},"PAYOUT_RUNS_FETCH_FAILED":{"http":500,"en":"Payout runs fetch failed","fr":"Impossible de charger les données."},"PAYOUT_RUN_ALREADY_EXECUTING":{"http":409,"en":"Payout run already executing","fr":"Conflit : l'état actuel ne permet pas cette action."},"PAYOUT_RUN_APPROVE_FAILED":{"http":500,"en":"Payout run approve failed","fr":"Impossible d'approuver pour le moment."},"PAYOUT_RUN_CANCEL_FAILED":{"http":500,"en":"Payout run cancel failed","fr":"Impossible d'annuler pour le moment."},"PAYOUT_RUN_CLAIM_FAILED":{"http":500,"en":"Payout run claim failed","fr":"Une erreur est survenue. Réessayez plus tard."},"PAYOUT_RUN_CREATE_FAILED":{"http":500,"en":"Payout run create failed","fr":"Impossible de créer cet élément."},"PAYOUT_RUN_FETCH_FAILED":{"http":500,"en":"Payout run fetch failed","fr":"Impossible de charger les données."},"PAYOUT_RUN_FRANCHISE_OWNED":{"http":403,"en":"Payout run franchise owned","fr":"Vous n'êtes pas autorisé à effectuer cette action."},"PAYOUT_RUN_NOT_APPROVED":{"http":409,"en":"Payout run not approved","fr":"Le compte n'est pas encore validé."},"PAYOUT_RUN_NOT_DRAFT":{"http":409,"en":"Payout run not draft","fr":"Conflit : l'état actuel ne permet pas cette action."},"PAYOUT_RUN_NOT_FOUND":{"http":404,"en":"Payout run not found","fr":"Ressource introuvable."},"PAYOUT_RUN_SUPERSEDED":{"http":409,"en":"Payout run superseded","fr":"Conflit : l'état actuel ne permet pas cette action."},"PAYOUT_RUN_TAKEN_OVER":{"http":403,"en":"Payout run taken over","fr":"Vous n'êtes pas autorisé à effectuer cette action."},"PAYOUT_SOURCE_FETCH_FAILED":{"http":500,"en":"Payout source fetch failed","fr":"Impossible de charger les données."},"PAYOUT_SOURCE_NOT_CONFIGURED":{"http":409,"en":"Payout source not configured","fr":"Ce service n'est pas disponible pour le moment."},"PAYOUT_SOURCE_SAVE_FAILED":{"http":500,"en":"Payout source save failed","fr":"Impossible d'enregistrer."},"PAYOUT_TRANSFER_REFERENCE_REQUIRED":{"http":400,"en":"Payout transfer reference required","fr":"Une information obligatoire est manquante."},"PERIODS_LIST_FAILED":{"http":500,"en":"Periods list failed","fr":"Impossible de charger les périodes."},"PERIOD_ALREADY_CLOSED":{"http":409,"en":"Period already closed","fr":"Cet élément est déjà clôturé."},"PERIOD_ALREADY_LOCKED":{"http":409,"en":"Period already locked","fr":"Cet élément est déjà verrouillé."},"PERIOD_CLOSE_FAILED":{"http":400,"en":"Period close failed","fr":"Impossible de clôturer pour le moment."},"PERIOD_CONTROLS_FETCH_FAILED":{"http":500,"en":"Period controls fetch failed","fr":"Les contrôles de clôture n'ont pas pu être vérifiés : la période n'est pas verrouillée. Réessayez."},"PERIOD_FETCH_FAILED":{"http":500,"en":"Period fetch failed","fr":"Impossible de charger la période."},"PERIOD_LOCKED":{"http":409,"en":"Period locked","fr":"Cette période est verrouillée."},"PERIOD_LOCK_FAILED":{"http":400,"en":"Period lock failed","fr":"Impossible de verrouiller pour le moment."},"PERIOD_NOT_FOUND":{"http":404,"en":"Period not found","fr":"Période introuvable."},"PERIOD_REQUIRED":{"http":400,"en":"Period required","fr":"La période est requise."},"PERMISSION_DENIED":{"http":403,"en":"Missing permission for this endpoint","fr":"Vous n'avez pas la permission requise pour cette page."},"PHONE_ALREADY_REGISTERED":{"http":409,"en":"Phone already registered","fr":"Ce numéro est déjà associé à un compte Upjunoo."},"PHONE_NOT_REGISTERED":{"http":404,"en":"Phone not registered","fr":"Ce numéro n'est pas enregistré."},"PHONE_VERIFY_FAILED":{"http":400,"en":"Phone verify failed","fr":"Code de vérification du numéro invalide ou expiré."},"PHOTO_CONTROLS_CONFIG_FETCH_FAILED":{"http":500,"en":"Photo controls config fetch failed","fr":"Impossible de charger les données."},"PHOTO_CONTROLS_CONFIG_UPSERT_FAILED":{"http":400,"en":"Photo controls config upsert failed","fr":"Impossible d'enregistrer les modifications."},"PICKUP_BONUS_ACTIVE_INVALID":{"http":400,"en":"Pickup bonus active invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"PICKUP_BONUS_AWARDS_FETCH_FAILED":{"http":500,"en":"Pickup bonus awards fetch failed","fr":"Impossible de charger le bonus."},"PICKUP_BONUS_AWARD_FETCH_FAILED":{"http":500,"en":"Pickup bonus award fetch failed","fr":"Impossible de charger le bonus."},"PICKUP_BONUS_AWARD_NOT_FOUND":{"http":404,"en":"Pickup bonus award not found","fr":"Bonus introuvable."},"PICKUP_BONUS_AWARD_NOT_HELD":{"http":409,"en":"Pickup bonus award not held","fr":"Conflit : l'état actuel ne permet pas cette action."},"PICKUP_BONUS_BOUND_INVALID":{"http":400,"en":"Pickup bonus bound invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"PICKUP_BONUS_BUCKET_INVALID":{"http":400,"en":"Pickup bonus bucket invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"PICKUP_BONUS_CAP_INVALID":{"http":400,"en":"Pickup bonus cap invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"PICKUP_BONUS_CENTRAL_FUNDED_RULE":{"http":409,"en":"Pickup bonus central funded rule","fr":"Conflit : l'état actuel ne permet pas cette action."},"PICKUP_BONUS_COUNTRY_REQUIRED":{"http":400,"en":"Pickup bonus country required","fr":"Une information obligatoire est manquante."},"PICKUP_BONUS_DECISION_INVALID":{"http":400,"en":"Pickup bonus decision invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"PICKUP_BONUS_ENABLED_INVALID":{"http":400,"en":"Pickup bonus enabled invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"PICKUP_BONUS_FETCH_FAILED":{"http":500,"en":"Pickup bonus fetch failed","fr":"Impossible de charger le bonus."},"PICKUP_BONUS_FIELD_FORBIDDEN":{"http":400,"en":"Pickup bonus field forbidden","fr":"Vous n'êtes pas autorisé à effectuer cette action."},"PICKUP_BONUS_FRANCHISE_REQUIRED":{"http":400,"en":"Pickup bonus franchise required","fr":"Une information obligatoire est manquante."},"PICKUP_BONUS_FUNDER_INVALID":{"http":400,"en":"Pickup bonus funder invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"PICKUP_BONUS_LOCATION_AGE_INVALID":{"http":400,"en":"Pickup bonus location age invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"PICKUP_BONUS_OUT_OF_BOUNDS":{"http":400,"en":"Pickup bonus out of bounds","fr":"Requête invalide. Vérifiez les informations saisies."},"PICKUP_BONUS_PARTNER_REQUIRED":{"http":400,"en":"Pickup bonus partner required","fr":"Une information obligatoire est manquante."},"PICKUP_BONUS_REASON_REQUIRED":{"http":400,"en":"Pickup bonus reason required","fr":"Une information obligatoire est manquante."},"PICKUP_BONUS_RELEASE_FAILED":{"http":500,"en":"Pickup bonus release failed","fr":"Le bonus de prise en charge n'a pas pu être libéré. Réessayez."},"PICKUP_BONUS_REWARD_TOO_HIGH":{"http":400,"en":"Pickup bonus reward too high","fr":"Requête invalide. Vérifiez les informations saisies."},"PICKUP_BONUS_RULES_FETCH_FAILED":{"http":500,"en":"Pickup bonus rules fetch failed","fr":"Impossible de charger le bonus."},"PICKUP_BONUS_RULE_DELETE_FAILED":{"http":500,"en":"Pickup bonus rule delete failed","fr":"Impossible de supprimer le bonus."},"PICKUP_BONUS_RULE_FETCH_FAILED":{"http":500,"en":"Pickup bonus rule fetch failed","fr":"Impossible de charger le bonus."},"PICKUP_BONUS_RULE_NOT_FOUND":{"http":404,"en":"Pickup bonus rule not found","fr":"Bonus introuvable."},"PICKUP_BONUS_RULE_WRITE_FAILED":{"http":400,"en":"Pickup bonus rule write failed","fr":"Une erreur est survenue. Réessayez plus tard."},"PICKUP_BONUS_SCOPE_INVALID":{"http":400,"en":"Pickup bonus scope invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"PICKUP_BONUS_SERVICE_TYPE_INVALID":{"http":400,"en":"Pickup bonus service type invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"PICKUP_BONUS_SETTINGS_FETCH_FAILED":{"http":500,"en":"Pickup bonus settings fetch failed","fr":"Impossible de charger les paramètres."},"PICKUP_BONUS_SETTINGS_UPDATE_FAILED":{"http":500,"en":"Pickup bonus settings update failed","fr":"Impossible de mettre à jour les paramètres."},"PICKUP_BONUS_SPEED_INVALID":{"http":400,"en":"Pickup bonus speed invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"PICKUP_BONUS_STATUS_INVALID":{"http":400,"en":"Pickup bonus status invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"PICKUP_BONUS_SWEEP_FAILED":{"http":500,"en":"Pickup bonus sweep failed","fr":"Une erreur est survenue. Réessayez plus tard."},"PICKUP_BONUS_TIERS_DUPLICATE":{"http":400,"en":"Pickup bonus tiers duplicate","fr":"Requête invalide. Vérifiez les informations saisies."},"PICKUP_BONUS_TIERS_INVALID":{"http":400,"en":"Pickup bonus tiers invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"PICKUP_WINDOW_INVALID":{"http":400,"en":"Pickup window invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"PLATFORM_INVALID":{"http":422,"en":"Invalid platform","fr":"Plateforme invalide (ios ou android attendu)."},"PORTAL_LOGIN_EMAIL_TAKEN":{"http":409,"en":"Portal login email taken","fr":"Conflit : l'état actuel ne permet pas cette action."},"PREFERENCES_FETCH_FAILED":{"http":500,"en":"Preferences fetch failed","fr":"Échec de la récupération — préférences"},"PREFERENCES_UPDATE_FAILED":{"http":400,"en":"Preferences update failed","fr":"Impossible de mettre à jour — préférences"},"PRICING_CONFIG_FETCH_FAILED":{"http":500,"en":"Pricing config fetch failed","fr":"Impossible de charger les données."},"PRICING_CONFIG_UPSERT_FAILED":{"http":400,"en":"Pricing config upsert failed","fr":"Impossible d'enregistrer les modifications."},"PRICING_COUNTRY_INVALID":{"http":400,"en":"Pricing country invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"PRICING_COUNTRY_RESOLVE_FAILED":{"http":500,"en":"Pricing country resolve failed","fr":"Une erreur est survenue. Réessayez plus tard."},"PRICING_FIELD_FORBIDDEN":{"http":400,"en":"Pricing field forbidden","fr":"Vous n'êtes pas autorisé à effectuer cette action."},"PRICING_OUT_OF_BOUNDS":{"http":400,"en":"Pricing out of bounds","fr":"Requête invalide. Vérifiez les informations saisies."},"PRICING_PATCH_EMPTY":{"http":400,"en":"Pricing patch empty","fr":"Aucune modification fournie."},"PRICING_REASON_REQUIRED":{"http":400,"en":"Pricing reason required","fr":"Une information obligatoire est manquante."},"PRICING_RULES_FETCH_FAILED":{"http":500,"en":"Pricing rules fetch failed","fr":"Impossible de charger les données."},"PRICING_RULE_ALREADY_EXISTS":{"http":409,"en":"Pricing rule already exists","fr":"Cet élément existe déjà."},"PRICING_RULE_CITY_OUT_OF_SCOPE":{"http":400,"en":"Pricing rule city out of scope","fr":"Requête invalide. Vérifiez les informations saisies."},"PRICING_RULE_CREATE_FAILED":{"http":400,"en":"Pricing rule create failed","fr":"Impossible de créer cet élément."},"PRICING_RULE_FETCH_FAILED":{"http":500,"en":"Pricing rule fetch failed","fr":"Échec de la récupération — tarification règle"},"PRICING_RULE_FIELD_FORBIDDEN":{"http":400,"en":"Pricing rule field forbidden","fr":"Vous n'êtes pas autorisé à effectuer cette action."},"PRICING_RULE_NOT_FOUND":{"http":404,"en":"Pricing rule not found","fr":"Ressource introuvable."},"PRICING_RULE_OUT_OF_BOUNDS":{"http":400,"en":"Pricing rule out of bounds","fr":"Requête invalide. Vérifiez les informations saisies."},"PRICING_RULE_REASON_REQUIRED":{"http":400,"en":"Pricing rule reason required","fr":"Une information obligatoire est manquante."},"PRICING_RULE_REFERENCE_MISSING":{"http":409,"en":"Pricing rule reference missing","fr":"Une information obligatoire est manquante."},"PRICING_RULE_RIDE_VIA_CALIBRATION":{"http":409,"en":"Pricing rule ride via calibration","fr":"Conflit : l'état actuel ne permet pas cette action."},"PRICING_RULE_UPDATE_FAILED":{"http":400,"en":"Pricing rule update failed","fr":"Impossible d'enregistrer les modifications."},"PRICING_RULE_VALUE_INVALID":{"http":400,"en":"Pricing rule value invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"PRICING_RULE_VEHICLE_ORDER":{"http":409,"en":"Pricing rule vehicle order","fr":"Conflit : l'état actuel ne permet pas cette action."},"PRICING_RULE_VEHICLE_REQUIRED":{"http":400,"en":"Pricing rule vehicle required","fr":"Une information obligatoire est manquante."},"PRICING_VALUE_INVALID":{"http":400,"en":"Pricing value invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"PRICING_WAITING_CAP_MISMATCH":{"http":400,"en":"Pricing waiting cap mismatch","fr":"Requête invalide. Vérifiez les informations saisies."},"PRIORITY_CLIENT_FETCH_FAILED":{"http":500,"en":"Priority client fetch failed","fr":"Impossible de charger le client."},"PRIORITY_CLIENT_NOT_A_CLIENT":{"http":409,"en":"Priority client not a client","fr":"Conflit : l'état actuel ne permet pas cette action."},"PRIORITY_CLIENT_OPEN_DELAY_INVALID":{"http":400,"en":"Priority client open delay invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"PRIORITY_CLIENT_SETTINGS_SAVE_FAILED":{"http":500,"en":"Priority client settings save failed","fr":"Impossible d'enregistrer les paramètres."},"PRIORITY_CLIENT_THRESHOLD_INVALID":{"http":400,"en":"Priority client threshold invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"PRIORITY_FLAG_INVALID":{"http":400,"en":"Priority flag invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"PROFILES_FETCH_FAILED":{"http":500,"en":"Profiles fetch failed","fr":"Impossible de charger les profils."},"PROFILE_AVATAR_DELETE_FAILED":{"http":400,"en":"Profile avatar delete failed","fr":"Impossible de supprimer le profil."},"PROFILE_CREATE_FAILED":{"http":500,"en":"Profile create failed","fr":"Impossible de créer le profil."},"PROFILE_FETCH_FAILED":{"http":500,"en":"Profile fetch failed","fr":"Échec de la récupération — profil"},"PROFILE_NOT_FOUND":{"http":404,"en":"Profile not found","fr":"Profil introuvable"},"PROFILE_UPDATE_FAILED":{"http":400,"en":"Profile update failed","fr":"Impossible de mettre à jour — profil"},"PROMOTIONS_DISABLED":{"http":422,"en":"Promo codes are disabled","fr":"Les codes promo ne sont pas disponibles pour le moment."},"PROMOTIONS_FETCH_FAILED":{"http":500,"en":"Promotions fetch failed","fr":"Impossible de charger les codes promo."},"PROMOTION_ALREADY_USED":{"http":409,"en":"Promotion already used by this user","fr":"Vous avez déjà utilisé ce code promo."},"PROMOTION_CODE_REQUIRED":{"http":400,"en":"Promo code is required","fr":"Saisissez un code promo."},"PROMOTION_EXHAUSTED":{"http":409,"en":"Promotion usage limit reached","fr":"Ce code n'est plus disponible."},"PROMOTION_EXPIRED":{"http":400,"en":"Promotion has expired","fr":"Ce code promo a expiré."},"PROMOTION_FETCH_FAILED":{"http":500,"en":"Promotion fetch failed","fr":"Échec de la récupération — promotion"},"PROMOTION_INACTIVE":{"http":400,"en":"Promotion is not active","fr":"Ce code promo n'est plus actif."},"PROMOTION_MIN_ORDER":{"http":422,"en":"Minimum order amount not reached","fr":"Le montant minimum pour ce code n'est pas atteint."},"PROMOTION_NOT_APPLICABLE":{"http":400,"en":"Promotion is not applicable","fr":"Ce code ne s’applique pas à cette commande."},"PROMOTION_NOT_ELIGIBLE":{"http":403,"en":"Promotion restricted to targeted users","fr":"Ce code promo ne vous est pas destiné."},"PROMOTION_NOT_FOUND":{"http":404,"en":"Promotion not found","fr":"Ce code promo n'existe pas."},"PROMOTION_NOT_STARTED":{"http":400,"en":"Promotion has not started","fr":"Ce code promo n'est pas encore valable."},"PROMOTION_OUT_OF_TERRITORY":{"http":422,"en":"Promotion not valid in this area","fr":"Ce code promo n'est pas valable dans votre zone."},"PROMOTION_REDEEM_FAILED":{"http":500,"en":"Promotion redeem failed","fr":"Impossible d'utiliser — promotion"},"PROMOTION_RESERVE_FAILED":{"http":500,"en":"Promotion reservation failed","fr":"Impossible d'appliquer le code promo. Réessayez."},"PROMOTION_SERVICE_DISABLED":{"http":422,"en":"Promo codes disabled for this service in this area","fr":"Les codes promo ne sont pas disponibles pour ce service dans votre zone."},"PROMOTION_SETTLE_FAILED":{"http":500,"en":"Promotion settlement failed","fr":"Une erreur interne est survenue. Réessayez plus tard."},"PROMOTION_SPEND_FETCH_FAILED":{"http":500,"en":"Promotion spend fetch failed","fr":"Impossible de charger le suivi des codes promo."},"PROMOTION_SWEEP_FAILED":{"http":500,"en":"Promotion sweep failed","fr":"Une erreur interne est survenue. Réessayez plus tard."},"PROMOTION_USAGE_COUNT_FAILED":{"http":500,"en":"Promotion usage count failed","fr":"Impossible de vérifier le code promo. Réessayez."},"PROMOTION_WRONG_SERVICE":{"http":422,"en":"Promotion not valid for this service","fr":"Ce code promo n'est pas valable pour ce service."},"PROMO_ABOVE_CENTRAL_CAP":{"http":400,"en":"Above central cap","fr":"La réduction dépasse le plafond fixé par la centrale."},"PROMO_ACTIVATION_FAILED":{"http":500,"en":"Promo activation failed","fr":"Une erreur est survenue. Réessayez plus tard."},"PROMO_ACTIVATION_FETCH_FAILED":{"http":500,"en":"Promo activation fetch failed","fr":"Impossible de charger le code promo."},"PROMO_ALREADY_ACTIVATED":{"http":409,"en":"Promo already activated","fr":"Ce code promo a déjà été activé."},"PROMO_ASSIGNED_USERS_INVALID":{"http":400,"en":"Promo assigned users invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"PROMO_CAP_INVALID":{"http":400,"en":"Invalid cap","fr":"Le plafond doit être un montant entier positif (en F)."},"PROMO_CODES_FETCH_FAILED":{"http":500,"en":"Promo codes fetch failed","fr":"Impossible de charger le code promo."},"PROMO_CODE_GENERATION_FAILED":{"http":503,"en":"Promo code generation failed","fr":"Échec de la génération. Réessayez."},"PROMO_CODE_REQUIRED":{"http":400,"en":"Promo code required","fr":"Une information obligatoire est manquante."},"PROMO_CODE_TAKEN":{"http":409,"en":"Promo code already exists","fr":"Ce code existe déjà : choisissez-en un autre."},"PROMO_CONFIG_FETCH_FAILED":{"http":500,"en":"Promo config fetch failed","fr":"Impossible de charger les réglages des codes promo."},"PROMO_CONFIG_SAVE_FAILED":{"http":400,"en":"Promo config save failed","fr":"Impossible d’enregistrer les réglages des codes promo."},"PROMO_DISCOUNT_INVALID":{"http":400,"en":"Invalid discount","fr":"La réduction doit être un nombre positif (100 % au plus)."},"PROMO_DISCOUNT_TYPE_INVALID":{"http":400,"en":"Invalid discount type","fr":"Type de réduction : pourcentage ou montant fixe."},"PROMO_ENABLED_INVALID":{"http":400,"en":"enabled must be a boolean","fr":"La valeur de l’interrupteur est invalide."},"PROMO_EXPIRED":{"http":400,"en":"Promo expired","fr":"Ce code promo a expiré."},"PROMO_FETCH_FAILED":{"http":500,"en":"Promo fetch failed","fr":"Impossible de charger le code promo."},"PROMO_FRANCHISE_ONLY":{"http":403,"en":"Promo codes are created by franchises","fr":"Les codes promo sont créés et modifiés par les franchises."},"PROMO_IN_USE":{"http":409,"en":"Promo already used","fr":"Ce code a déjà été utilisé : désactivez-le plutôt que de le supprimer."},"PROMO_MAX_DISCOUNT_REQUIRED":{"http":400,"en":"Max discount required","fr":"Un code en pourcentage doit avoir un plafond par commande."},"PROMO_NOT_FOUND":{"http":404,"en":"Promo not found","fr":"Code promo introuvable."},"PROMO_NOT_YET_ACTIVE":{"http":400,"en":"Promo not yet active","fr":"Ce code promo n'est pas encore actif."},"PROMO_REDEMPTION_FETCH_FAILED":{"http":500,"en":"Promo redemption fetch failed","fr":"Impossible de charger le code promo."},"PROMO_RISK_CONFIRMATION_REQUIRED":{"http":409,"en":"Risk confirmation required","fr":"Ce réglage est risqué : confirmez que vous en comprenez les conséquences."},"PROMO_SERVICE_REQUIRED":{"http":400,"en":"Service is required","fr":"Choisissez le service du code : courses ou livraisons."},"PROMO_SWITCH_INVALID":{"http":400,"en":"Switch must be a boolean","fr":"La valeur de l’interrupteur est invalide."},"PROMO_USAGE_LIMIT_REQUIRED":{"http":400,"en":"Usage limit required","fr":"Indiquez le nombre total d'utilisations du code (1 au minimum)."},"PROVENANCE_CHANNEL_INVALID":{"http":422,"en":"Provenance channel invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"PROVENANCE_CODE_DUPLICATE":{"http":409,"en":"Provenance code duplicate","fr":"Conflit : l'état actuel ne permet pas cette action."},"PROVENANCE_CODE_REQUIRED":{"http":422,"en":"Provenance code required","fr":"Une information obligatoire est manquante."},"PROVENANCE_COUNTRY_UNKNOWN":{"http":422,"en":"Provenance country unknown","fr":"Certaines informations sont invalides ou manquantes."},"PROVENANCE_CREATE_FAILED":{"http":400,"en":"Provenance create failed","fr":"Impossible de créer cet élément."},"PROVENANCE_DELETE_FAILED":{"http":400,"en":"Provenance delete failed","fr":"Impossible de supprimer cet élément."},"PROVENANCE_LABEL_REQUIRED":{"http":422,"en":"Provenance label required","fr":"Une information obligatoire est manquante."},"PROVENANCE_LIST_FAILED":{"http":500,"en":"Provenance list failed","fr":"Impossible de charger la liste."},"PROVENANCE_NOT_FOUND":{"http":404,"en":"Provenance not found","fr":"Ressource introuvable."},"PROVENANCE_UPDATE_FAILED":{"http":400,"en":"Provenance update failed","fr":"Impossible d'enregistrer les modifications."},"PROVIDER_ACCOUNTS_FETCH_FAILED":{"http":500,"en":"Provider accounts fetch failed","fr":"Impossible de charger les données."},"PROVIDER_ACCOUNT_DISABLED":{"http":409,"en":"Provider account disabled","fr":"Cette fonctionnalité est désactivée."},"PROVIDER_ACCOUNT_FETCH_FAILED":{"http":500,"en":"Provider account fetch failed","fr":"Impossible de charger le compte."},"PROVIDER_ACCOUNT_NOT_DRAFT":{"http":409,"en":"Provider account not draft","fr":"Conflit : l'état actuel ne permet pas cette action."},"PROVIDER_ACCOUNT_NOT_FOUND":{"http":404,"en":"Provider account not found","fr":"Compte introuvable."},"PROVIDER_ACCOUNT_NO_SECRETS":{"http":409,"en":"Provider account no secrets","fr":"Conflit : l'état actuel ne permet pas cette action."},"PROVIDER_ACCOUNT_SAVE_FAILED":{"http":500,"en":"Provider account save failed","fr":"Impossible d'enregistrer le compte."},"PROVIDER_CAPABILITIES_INVALID":{"http":400,"en":"Provider capabilities invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"PROVIDER_CODE_INVALID":{"http":400,"en":"Provider code invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"PROVIDER_COUNTRY_INVALID":{"http":400,"en":"Provider country invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"PROVIDER_CURRENCY_INVALID":{"http":400,"en":"Provider currency invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"PROVIDER_LOG_FAILED":{"http":500,"en":"Provider log failed","fr":"Une erreur est survenue. Réessayez plus tard."},"PROVIDER_LOG_FETCH_FAILED":{"http":500,"en":"Provider log fetch failed","fr":"Impossible de charger les données."},"PROVIDER_PRIORITY_INVALID":{"http":400,"en":"Provider priority invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"PROVIDER_PRIORITY_TAKEN":{"http":409,"en":"Provider priority taken","fr":"Conflit : l'état actuel ne permet pas cette action."},"PROVIDER_PUBLIC_CONFIG_SECRET":{"http":400,"en":"Provider public config secret","fr":"Requête invalide. Vérifiez les informations saisies."},"PROVIDER_PUBLIC_CONFIG_TOO_LARGE":{"http":400,"en":"Provider public config too large","fr":"Le fichier est trop volumineux."},"PROVIDER_SECRETS_DECRYPT_FAILED":{"http":500,"en":"Provider secrets decrypt failed","fr":"Une erreur est survenue. Réessayez plus tard."},"PROVIDER_SECRETS_FORMAT_INVALID":{"http":500,"en":"Provider secrets format invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"PROVIDER_SECRETS_INVALID":{"http":400,"en":"Provider secrets invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"PROVIDER_SECRETS_KEY_MISSING":{"http":503,"en":"Provider secrets key missing","fr":"Une information obligatoire est manquante."},"PROVIDER_SMS_FETCH_FAILED":{"http":500,"en":"Provider sms fetch failed","fr":"Impossible de charger les données."},"PROVIDER_SMS_NOT_FOUND":{"http":404,"en":"Provider sms not found","fr":"Ressource introuvable."},"PROVIDER_SMS_SAVE_FAILED":{"http":500,"en":"Provider sms save failed","fr":"Impossible d'enregistrer."},"PROVIDER_STATUS_INVALID":{"http":400,"en":"Provider status invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"PROVIDER_UPDATE_EMPTY":{"http":400,"en":"Provider update empty","fr":"Aucune modification fournie."},"PROVIDER_VERIFICATION_NOTE_REQUIRED":{"http":400,"en":"Provider verification note required","fr":"Une information obligatoire est manquante."},"PUSH_LOG_FETCH_FAILED":{"http":500,"en":"Push log fetch failed","fr":"Impossible de charger les données."},"PUSH_LOG_NOT_AVAILABLE":{"http":503,"en":"Push log not available","fr":"Cet élément n'est pas disponible."},"PUSH_TOKEN_DEACTIVATE_FAILED":{"http":400,"en":"Push token deactivate failed","fr":"Une erreur est survenue. Réessayez plus tard."},"PUSH_TOKEN_INVALID":{"http":400,"en":"token is required","fr":"Le jeton push est requis"},"PUSH_TOKEN_REGISTER_FAILED":{"http":400,"en":"Push token register failed","fr":"Impossible d'enregistrer — notification push jeton"},"PUSH_TOKEN_REQUIRED":{"http":422,"en":"Push token is required","fr":"Le jeton de notification (push_token) est requis."},"QUOTE_DROPS_MISMATCH":{"http":409,"en":"Quote drops mismatch","fr":"Conflit : l'état actuel ne permet pas cette action."},"QUOTE_EXPIRED":{"http":400,"en":"Price quote expired — call POST /rides/estimate again","fr":"Devis expiré — refaites une estimation"},"QUOTE_INVALID":{"http":400,"en":"Unable to resolve pricing snapshot from quote or estimate","fr":"Impossible de résoudre le tarif depuis le devis ou l'estimation"},"QUOTE_NOT_ACCEPTABLE":{"http":409,"en":"Quote not acceptable","fr":"Conflit : l'état actuel ne permet pas cette action."},"QUOTE_NOT_COUNTERABLE":{"http":409,"en":"Quote not counterable","fr":"Conflit : l'état actuel ne permet pas cette action."},"QUOTE_NOT_FOUND":{"http":404,"en":"Quote not found","fr":"Ressource introuvable."},"QUOTE_ROUTE_MISMATCH":{"http":400,"en":"Quote route mismatch","fr":"Requête invalide. Vérifiez les informations saisies."},"RAFFLE_ENTRY_FETCH_FAILED":{"http":500,"en":"Raffle entry fetch failed","fr":"Impossible de charger l'entrée."},"RATE_LIMITED":{"http":429,"en":"Rate limited","fr":"Trop de tentatives. Réessayez dans quelques minutes."},"RATINGS_GIVEN_FETCH_FAILED":{"http":500,"en":"Ratings given fetch failed","fr":"Échec de la récupération — ratings given"},"RATINGS_RECEIVED_FETCH_FAILED":{"http":500,"en":"Ratings received fetch failed","fr":"Échec de la récupération — ratings received"},"RATING_ALREADY_EXISTS":{"http":409,"en":"Rating already exists","fr":"Cette commande a déjà été notée."},"RATING_CREATE_FAILED":{"http":500,"en":"Rating create failed","fr":"Impossible de créer — notation"},"RATING_FETCH_FAILED":{"http":500,"en":"Rating fetch failed","fr":"Impossible de charger l'évaluation."},"RATING_FORBIDDEN":{"http":403,"en":"Rating forbidden","fr":"Vous n'êtes pas autorisé à noter cette commande."},"RATING_SCORE_INVALID":{"http":400,"en":"score must be between 1 and 5","fr":"La note doit être comprise entre 1 et 5"},"RD_APPLIES_TO_INVALID":{"http":422,"en":"Rd applies to invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"RD_ENABLED_REQUIRED":{"http":422,"en":"Rd enabled required","fr":"Une information obligatoire est manquante."},"RD_EXCLUDED_FRANCHISES_INVALID":{"http":422,"en":"Rd excluded franchises invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"RD_EXCLUDED_PARTNERS_INVALID":{"http":422,"en":"Rd excluded partners invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"RD_RATE_OUT_OF_RANGE":{"http":422,"en":"Rd rate out of range","fr":"Certaines informations sont invalides ou manquantes."},"READ_ACCESS_DENIED":{"http":403,"en":"Read access denied","fr":"Lecture réservée aux profils autorisés (admin, support, reporting ou comptabilité)."},"READ_SCOPE_MISSING":{"http":403,"en":"Read scope missing","fr":"Une information obligatoire est manquante."},"REASON_REQUIRED":{"http":422,"en":"Reason required","fr":"Une information obligatoire est manquante."},"RECEIPT_CREATE_FAILED":{"http":500,"en":"Receipt create failed","fr":"Impossible de créer — reçu"},"RECEIPT_FETCH_FAILED":{"http":500,"en":"Receipt fetch failed","fr":"Échec de la récupération — reçu"},"RECEIPT_LOOKUP_FAILED":{"http":500,"en":"Receipt lookup failed","fr":"Échec de la recherche — reçu"},"RECEIPT_NOT_FOUND":{"http":404,"en":"Receipt not found","fr":"Reçu introuvable"},"RECENT_PLACES_FETCH_FAILED":{"http":500,"en":"Recent places fetch failed","fr":"Échec de la récupération — récente lieux"},"RECENT_PLACE_CREATE_FAILED":{"http":400,"en":"Recent place create failed","fr":"Impossible de créer — récente lieu"},"RECHARGES_FETCH_FAILED":{"http":500,"en":"Recharges fetch failed","fr":"Échec de la récupération — recharges"},"RECHARGE_BATCHES_FETCH_FAILED":{"http":500,"en":"Recharge batches fetch failed","fr":"Échec de la récupération — lots"},"RECHARGE_BATCH_CREATE_FAILED":{"http":400,"en":"Recharge batch create failed","fr":"Impossible de créer — lot"},"RECHARGE_BATCH_FETCH_FAILED":{"http":500,"en":"Recharge batch fetch failed","fr":"Échec de la récupération — lot"},"RECHARGE_BATCH_NOT_FOUND":{"http":404,"en":"Recharge batch not found","fr":"Lot de recharges introuvable"},"RECHARGE_CHANNEL_INVALID":{"http":400,"en":"Recharge channel invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"RECHARGE_CONFIRM_FAILED":{"http":400,"en":"Unable to confirm recharge","fr":"Impossible de confirmer — recharge"},"RECHARGE_FETCH_FAILED":{"http":500,"en":"Recharge fetch failed","fr":"Échec de la récupération — recharge"},"RECHARGE_NOT_FOUND":{"http":404,"en":"Wallet recharge not found","fr":"Recharge portefeuille introuvable"},"RECHARGE_NOT_PENDING":{"http":400,"en":"Cannot confirm recharge with status ${status}","fr":"Impossible de confirmer une recharge avec le statut ${status}"},"REDIRECT_URI_NOT_ALLOWED":{"http":400,"en":"Redirect uri not allowed","fr":"Cette action n'est pas autorisée."},"REFERENCE_INVALID":{"http":400,"en":"Reference invalid","fr":"Référence invalide dans la requête."},"REFERRALS_FETCH_FAILED":{"http":500,"en":"Referrals fetch failed","fr":"Échec de la récupération — parrainages"},"REFERRAL_ALREADY_APPLIED":{"http":400,"en":"Referral already applied","fr":"Un parrainage a déjà été appliqué."},"REFERRAL_APPLY_FAILED":{"http":400,"en":"Referral apply failed","fr":"Une erreur est survenue. Réessayez plus tard."},"REFERRAL_BACKFILL_FETCH_FAILED":{"http":500,"en":"Referral backfill fetch failed","fr":"Impossible de charger le parrainage."},"REFERRAL_CODES_FETCH_FAILED":{"http":500,"en":"Referral codes fetch failed","fr":"Impossible de charger le parrainage."},"REFERRAL_CODE_CREATE_FAILED":{"http":400,"en":"Referral code create failed","fr":"Impossible de créer le parrainage."},"REFERRAL_CODE_EXHAUSTED":{"http":500,"en":"Referral code exhausted","fr":"Une erreur interne est survenue. Réessayez plus tard."},"REFERRAL_CODE_FETCH_FAILED":{"http":500,"en":"Referral code fetch failed","fr":"Impossible de charger le parrainage."},"REFERRAL_CODE_GENERATION_FAILED":{"http":500,"en":"Referral code generation failed","fr":"Échec de la génération. Réessayez."},"REFERRAL_CODE_LOOKUP_FAILED":{"http":500,"en":"Referral code lookup failed","fr":"Impossible de retrouver le parrainage."},"REFERRAL_CODE_NOT_FOUND":{"http":404,"en":"Referral code not found","fr":"Parrainage introuvable."},"REFERRAL_CODE_PERSIST_FAILED":{"http":500,"en":"Referral code persist failed","fr":"Impossible d'enregistrer les données."},"REFERRAL_CODE_REQUIRED":{"http":400,"en":"Referral code required","fr":"Une information obligatoire est manquante."},"REFERRAL_CONFIG_FETCH_FAILED":{"http":500,"en":"Referral config fetch failed","fr":"Impossible de charger le parrainage."},"REFERRAL_CONFIG_UPSERT_FAILED":{"http":400,"en":"Referral config upsert failed","fr":"Impossible d'enregistrer le parrainage."},"REFERRAL_CREATE_FAILED":{"http":500,"en":"Referral create failed","fr":"Impossible de créer — parrainage"},"REFERRAL_DISABLED":{"http":400,"en":"Referral disabled","fr":"Le parrainage est désactivé."},"REFERRAL_FETCH_FAILED":{"http":500,"en":"Referral fetch failed","fr":"Impossible de charger le parrainage."},"REFERRAL_LEDGER_FAILED":{"http":400,"en":"Referral ledger failed","fr":"Une erreur est survenue. Réessayez plus tard."},"REFERRAL_ORDER_CHECK_FAILED":{"http":500,"en":"Referral order check failed","fr":"Une erreur est survenue. Réessayez plus tard."},"REFERRAL_SELF_NOT_ALLOWED":{"http":400,"en":"Referral self not allowed","fr":"Vous ne pouvez pas vous parrainer vous-même."},"REFERRAL_WALLET_CREDIT_FAILED":{"http":400,"en":"Referral wallet credit failed","fr":"Échec de l'opération sur le portefeuille."},"REF_PLACES_FETCH_FAILED":{"http":500,"en":"Ref places fetch failed","fr":"Impossible de charger les données."},"REF_PLACE_ALIASES_INVALID":{"http":400,"en":"Ref place aliases invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"REF_PLACE_CITY_REQUIRED":{"http":400,"en":"Ref place city required","fr":"Une information obligatoire est manquante."},"REF_PLACE_COORDINATES_INVALID":{"http":400,"en":"Ref place coordinates invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"REF_PLACE_COORDINATES_REQUIRED":{"http":400,"en":"Ref place coordinates required","fr":"Une information obligatoire est manquante."},"REF_PLACE_COUNTRY_INVALID":{"http":400,"en":"Ref place country invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"REF_PLACE_COUNTRY_UNSUPPORTED":{"http":422,"en":"Ref place country unsupported","fr":"Opération non prise en charge."},"REF_PLACE_DUPLICATE":{"http":409,"en":"Ref place duplicate","fr":"Conflit : l'état actuel ne permet pas cette action."},"REF_PLACE_FETCH_FAILED":{"http":500,"en":"Ref place fetch failed","fr":"Impossible de charger les données."},"REF_PLACE_IS_ACTIVE_INVALID":{"http":400,"en":"Ref place is active invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"REF_PLACE_LABEL_REQUIRED":{"http":400,"en":"Ref place label required","fr":"Une information obligatoire est manquante."},"REF_PLACE_LABEL_TOO_LONG":{"http":400,"en":"Ref place label too long","fr":"Requête invalide. Vérifiez les informations saisies."},"REF_PLACE_MAPS_SHORT_URL":{"http":400,"en":"Ref place maps short url","fr":"Requête invalide. Vérifiez les informations saisies."},"REF_PLACE_MAPS_URL_INVALID":{"http":400,"en":"Ref place maps url invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"REF_PLACE_MAPS_URL_VIEW_CENTER_ONLY":{"http":422,"en":"Ref place maps url view center only","fr":"Certaines informations sont invalides ou manquantes."},"REF_PLACE_NOT_FOUND":{"http":404,"en":"Ref place not found","fr":"Ressource introuvable."},"REF_PLACE_OUT_OF_COUNTRY":{"http":422,"en":"Ref place out of country","fr":"Certaines informations sont invalides ou manquantes."},"REF_PLACE_PATCH_EMPTY":{"http":400,"en":"Ref place patch empty","fr":"Aucune modification fournie."},"REGISTRATIONS_COUNT_FAILED":{"http":500,"en":"Registrations count failed","fr":"Impossible de calculer le total pour le moment."},"REGISTRATIONS_FETCH_FAILED":{"http":500,"en":"Registrations fetch failed","fr":"Impossible de charger les données."},"REGISTRATIONS_SUMMARY_FAILED":{"http":500,"en":"Registrations summary failed","fr":"Une erreur est survenue. Réessayez plus tard."},"REGISTRATION_LIMITS_UPDATE_FAILED":{"http":500,"en":"Registration limits update failed","fr":"Impossible d'enregistrer les modifications."},"REGISTRATION_OTP_COOLDOWN_OUT_OF_RANGE":{"http":422,"en":"Registration otp cooldown out of range","fr":"Certaines informations sont invalides ou manquantes."},"REGISTRATION_OTP_MAX_OUT_OF_RANGE":{"http":422,"en":"Registration otp max out of range","fr":"Certaines informations sont invalides ou manquantes."},"REGISTRATION_PROVENANCE_NOT_AVAILABLE":{"http":503,"en":"Registration provenance not available","fr":"Cet élément n'est pas disponible."},"REMITTANCE_ALREADY_STARTED":{"http":409,"en":"Remittance already started","fr":"Conflit : l'état actuel ne permet pas cette action."},"REMITTANCE_AMOUNT_ABOVE_DUE":{"http":400,"en":"Remittance amount above due","fr":"Requête invalide. Vérifiez les informations saisies."},"REMITTANCE_AMOUNT_INVALID":{"http":400,"en":"Remittance amount invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"REMITTANCE_BANK_ACCOUNT_INCOMPLETE":{"http":400,"en":"Remittance bank account incomplete","fr":"Requête invalide. Vérifiez les informations saisies."},"REMITTANCE_BANK_BIC_INVALID":{"http":400,"en":"Remittance bank bic invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"REMITTANCE_BANK_FETCH_FAILED":{"http":500,"en":"Remittance bank fetch failed","fr":"Impossible de charger les données."},"REMITTANCE_BANK_SAVE_FAILED":{"http":500,"en":"Remittance bank save failed","fr":"Impossible d'enregistrer."},"REMITTANCE_CONTEST_REASON_REQUIRED":{"http":400,"en":"Remittance contest reason required","fr":"Une information obligatoire est manquante."},"REMITTANCE_DISPUTE_DECISION_INVALID":{"http":400,"en":"Remittance dispute decision invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"REMITTANCE_DISPUTE_PENDING":{"http":409,"en":"Remittance dispute pending","fr":"Conflit : l'état actuel ne permet pas cette action."},"REMITTANCE_DISPUTE_REASON_REQUIRED":{"http":400,"en":"Remittance dispute reason required","fr":"Une information obligatoire est manquante."},"REMITTANCE_ESCALATION_ORDER_INVALID":{"http":400,"en":"Remittance escalation order invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"REMITTANCE_EVENTS_FETCH_FAILED":{"http":500,"en":"Remittance events fetch failed","fr":"Impossible de charger les événements."},"REMITTANCE_EVENT_SAVE_FAILED":{"http":500,"en":"Remittance event save failed","fr":"Impossible d'enregistrer l'événement."},"REMITTANCE_FX_CURRENCY_INVALID":{"http":400,"en":"Remittance fx currency invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"REMITTANCE_FX_FETCH_FAILED":{"http":500,"en":"Remittance fx fetch failed","fr":"Impossible de charger les données."},"REMITTANCE_FX_RATE_INVALID":{"http":400,"en":"Remittance fx rate invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"REMITTANCE_FX_SAVE_FAILED":{"http":500,"en":"Remittance fx save failed","fr":"Impossible d'enregistrer."},"REMITTANCE_NOT_DECLARABLE":{"http":409,"en":"Remittance not declarable","fr":"Conflit : l'état actuel ne permet pas cette action."},"REMITTANCE_NOT_DECLARED":{"http":409,"en":"Remittance not declared","fr":"Conflit : l'état actuel ne permet pas cette action."},"REMITTANCE_NOT_DISPUTABLE":{"http":409,"en":"Remittance not disputable","fr":"Conflit : l'état actuel ne permet pas cette action."},"REMITTANCE_NO_DISPUTE":{"http":409,"en":"Remittance no dispute","fr":"Conflit : l'état actuel ne permet pas cette action."},"REMITTANCE_NUMBER_FETCH_FAILED":{"http":500,"en":"Remittance number fetch failed","fr":"Impossible de charger les données."},"REMITTANCE_PENALTY_FETCH_FAILED":{"http":500,"en":"Remittance penalty fetch failed","fr":"Impossible de charger les données."},"REMITTANCE_PENALTY_NOT_PENDING":{"http":409,"en":"Remittance penalty not pending","fr":"Cette demande n'est plus en attente."},"REMITTANCE_PENALTY_REASON_REQUIRED":{"http":400,"en":"Remittance penalty reason required","fr":"Une information obligatoire est manquante."},"REMITTANCE_PENALTY_SAVE_FAILED":{"http":500,"en":"Remittance penalty save failed","fr":"Impossible d'enregistrer."},"REMITTANCE_PERIODICITY_FETCH_FAILED":{"http":500,"en":"Remittance periodicity fetch failed","fr":"Impossible de charger les données."},"REMITTANCE_PERIODICITY_INVALID":{"http":400,"en":"Remittance periodicity invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"REMITTANCE_PERIODICITY_SAVE_FAILED":{"http":500,"en":"Remittance periodicity save failed","fr":"Impossible d'enregistrer."},"REMITTANCE_PROOF_BUCKET_FAILED":{"http":500,"en":"Remittance proof bucket failed","fr":"Une erreur est survenue. Réessayez plus tard."},"REMITTANCE_PROOF_CHECK_FAILED":{"http":500,"en":"Remittance proof check failed","fr":"Une erreur est survenue. Réessayez plus tard."},"REMITTANCE_PROOF_NOT_FOUND":{"http":400,"en":"Remittance proof not found","fr":"Ressource introuvable."},"REMITTANCE_PROOF_REQUIRED":{"http":400,"en":"Remittance proof required","fr":"Une information obligatoire est manquante."},"REMITTANCE_PROOF_TYPE_INVALID":{"http":400,"en":"Remittance proof type invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"REMITTANCE_PROOF_UPLOAD_URL_FAILED":{"http":500,"en":"Remittance proof upload url failed","fr":"Une erreur est survenue. Réessayez plus tard."},"REMITTANCE_REDIRECT_ENABLED_REQUIRED":{"http":400,"en":"Remittance redirect enabled required","fr":"Une information obligatoire est manquante."},"REMITTANCE_REDIRECT_REASON_REQUIRED":{"http":400,"en":"Remittance redirect reason required","fr":"Une information obligatoire est manquante."},"REMITTANCE_REDIRECT_UNCHANGED":{"http":409,"en":"Remittance redirect unchanged","fr":"Conflit : l'état actuel ne permet pas cette action."},"REMITTANCE_REFERENCE_REQUIRED":{"http":400,"en":"Remittance reference required","fr":"Une information obligatoire est manquante."},"REMITTANCE_SANCTIONS_DEDICATED_ROUTE":{"http":400,"en":"Remittance sanctions dedicated route","fr":"Requête invalide. Vérifiez les informations saisies."},"REMITTANCE_SANCTIONS_DISABLED":{"http":409,"en":"Remittance sanctions disabled","fr":"Cette fonctionnalité est désactivée."},"REMITTANCE_SANCTIONS_ENABLED_REQUIRED":{"http":400,"en":"Remittance sanctions enabled required","fr":"Une information obligatoire est manquante."},"REMITTANCE_SANCTIONS_REASON_REQUIRED":{"http":400,"en":"Remittance sanctions reason required","fr":"Une information obligatoire est manquante."},"REMITTANCE_SANCTIONS_UNCHANGED":{"http":409,"en":"Remittance sanctions unchanged","fr":"Conflit : l'état actuel ne permet pas cette action."},"REMITTANCE_SETTINGS_EMPTY":{"http":400,"en":"Remittance settings empty","fr":"Aucune donnée fournie."},"REMITTANCE_SETTINGS_FETCH_FAILED":{"http":500,"en":"Remittance settings fetch failed","fr":"Impossible de charger les paramètres."},"REMITTANCE_SETTINGS_LOG_FAILED":{"http":500,"en":"Remittance settings log failed","fr":"Une erreur est survenue. Réessayez plus tard."},"REMITTANCE_SETTINGS_LOG_FETCH_FAILED":{"http":500,"en":"Remittance settings log fetch failed","fr":"Impossible de charger les paramètres."},"REMITTANCE_SETTINGS_SAVE_FAILED":{"http":500,"en":"Remittance settings save failed","fr":"Impossible d'enregistrer les paramètres."},"REMITTANCE_START_DATE_INVALID":{"http":400,"en":"Remittance start date invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"REMITTANCE_START_DATE_IN_PAST":{"http":400,"en":"Remittance start date in past","fr":"Requête invalide. Vérifiez les informations saisies."},"REMITTANCE_START_DATE_NOT_MONDAY":{"http":400,"en":"Remittance start date not monday","fr":"Requête invalide. Vérifiez les informations saisies."},"REMITTANCE_STATEMENTS_FETCH_FAILED":{"http":500,"en":"Remittance statements fetch failed","fr":"Impossible de charger les données."},"REMITTANCE_STATEMENT_FETCH_FAILED":{"http":500,"en":"Remittance statement fetch failed","fr":"Impossible de charger les données."},"REMITTANCE_STATEMENT_NOT_FOUND":{"http":404,"en":"Remittance statement not found","fr":"Ressource introuvable."},"REMITTANCE_STATEMENT_SAVE_FAILED":{"http":500,"en":"Remittance statement save failed","fr":"Impossible d'enregistrer."},"REMITTANCE_STATUS_CHANGED":{"http":409,"en":"Remittance status changed","fr":"Conflit : l'état actuel ne permet pas cette action."},"REMITTANCE_TRANSFER_DATE_INVALID":{"http":400,"en":"Remittance transfer date invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"REMITTANCE_TRANSFER_DATE_IN_FUTURE":{"http":400,"en":"Remittance transfer date in future","fr":"Requête invalide. Vérifiez les informations saisies."},"REMITTANCE_WALLET_FETCH_FAILED":{"http":500,"en":"Remittance wallet fetch failed","fr":"Impossible de charger le portefeuille."},"RENTALS_FETCH_FAILED":{"http":500,"en":"Rentals fetch failed","fr":"Échec de la récupération — locations"},"RENTAL_ACTION_NOT_ALLOWED":{"http":403,"en":"This action is reserved for the rental partner","fr":"Cette action est réservée au partenaire loueur."},"RENTAL_ALTERNATIVE_SWITCH_FAILED":{"http":500,"en":"Rental alternative switch failed","fr":"Une erreur est survenue. Réessayez plus tard."},"RENTAL_ALTERNATIVE_UNAVAILABLE":{"http":409,"en":"Rental alternative unavailable","fr":"Conflit : l'état actuel ne permet pas cette action."},"RENTAL_AVAILABILITY_FETCH_FAILED":{"http":500,"en":"Rental availability fetch failed","fr":"Impossible de charger la location."},"RENTAL_AVAILABILITY_RANGE_REQUIRED":{"http":422,"en":"Rental availability range required","fr":"Une information obligatoire est manquante."},"RENTAL_BLOCK_CREATE_FAILED":{"http":500,"en":"Rental block create failed","fr":"Impossible de créer la location."},"RENTAL_BLOCK_DELETE_FAILED":{"http":500,"en":"Rental block delete failed","fr":"Impossible de supprimer la location."},"RENTAL_BLOCK_NOT_FOUND":{"http":404,"en":"Rental block not found","fr":"Location introuvable."},"RENTAL_BLOCK_RANGE_INVALID":{"http":422,"en":"Rental block range invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"RENTAL_BLOCK_RANGE_REQUIRED":{"http":422,"en":"Rental block range required","fr":"Une information obligatoire est manquante."},"RENTAL_CALENDAR_MONTH_INVALID":{"http":422,"en":"Rental calendar month invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"RENTAL_CANCELLATION_PCT_INVALID":{"http":422,"en":"Rental cancellation pct invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"RENTAL_CANCELLATION_POLICY_FETCH_FAILED":{"http":500,"en":"Rental cancellation policy fetch failed","fr":"Impossible de charger la location."},"RENTAL_CANCELLATION_POLICY_UPSERT_FAILED":{"http":400,"en":"Rental cancellation policy upsert failed","fr":"Impossible d'enregistrer la location."},"RENTAL_CANCELLATION_REASON_REQUIRED":{"http":422,"en":"Rental cancellation reason required","fr":"Une information obligatoire est manquante."},"RENTAL_CANCEL_REASON_CODE_INVALID":{"http":422,"en":"Rental cancel reason code invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"RENTAL_CHECKIN_ALREADY_DONE":{"http":409,"en":"Rental checkin already done","fr":"Conflit : l'état actuel ne permet pas cette action."},"RENTAL_CHECKIN_FAILED":{"http":500,"en":"Rental checkin failed","fr":"Une erreur est survenue. Réessayez plus tard."},"RENTAL_CHECKIN_NOT_ALLOWED":{"http":422,"en":"Rental checkin not allowed","fr":"Cette action n'est pas autorisée."},"RENTAL_CHECKOUT_FAILED":{"http":500,"en":"Rental checkout failed","fr":"Une erreur est survenue. Réessayez plus tard."},"RENTAL_CHECKOUT_NOT_ALLOWED":{"http":422,"en":"Rental checkout not allowed","fr":"Cette action n'est pas autorisée."},"RENTAL_CHOICE_SAVE_FAILED":{"http":500,"en":"Rental choice save failed","fr":"Impossible d'enregistrer la location."},"RENTAL_CLAUSES_FETCH_FAILED":{"http":500,"en":"Rental clauses fetch failed","fr":"Impossible de charger la location."},"RENTAL_CLAUSES_INVALID":{"http":422,"en":"Rental clauses invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"RENTAL_CLAUSES_PUBLISH_FAILED":{"http":500,"en":"Rental clauses publish failed","fr":"Une erreur est survenue. Réessayez plus tard."},"RENTAL_CLAUSES_VERSION_CONFLICT":{"http":409,"en":"Rental clauses version conflict","fr":"Conflit : l'état actuel ne permet pas cette action."},"RENTAL_CLIENT_UNKNOWN":{"http":409,"en":"Rental client unknown","fr":"Conflit : l'état actuel ne permet pas cette action."},"RENTAL_CLOSE_FAILED":{"http":500,"en":"Rental close failed","fr":"Impossible de clôturer pour le moment."},"RENTAL_CLOSE_NOT_ALLOWED":{"http":422,"en":"Rental close not allowed","fr":"Cette action n'est pas autorisée."},"RENTAL_COLOR_INVALID":{"http":422,"en":"Rental color invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"RENTAL_COLOR_LOOKUP_FAILED":{"http":500,"en":"Rental color lookup failed","fr":"Impossible de retrouver la location."},"RENTAL_COMMISSION_CONFIG_FETCH_FAILED":{"http":500,"en":"Rental commission config fetch failed","fr":"Impossible de charger la commission."},"RENTAL_COMMISSION_CONFIG_UPSERT_FAILED":{"http":400,"en":"Rental commission config upsert failed","fr":"Impossible d'enregistrer la commission."},"RENTAL_COMMISSION_RATE_INVALID":{"http":422,"en":"Rental commission rate invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"RENTAL_COMMISSION_STORE_FAILED":{"http":500,"en":"Rental commission store failed","fr":"Une erreur est survenue. Réessayez plus tard."},"RENTAL_CONTRACT_ACCEPTANCE_FETCH_FAILED":{"http":500,"en":"Rental contract acceptance fetch failed","fr":"Impossible de charger la location."},"RENTAL_CONTRACT_ACCEPT_FAILED":{"http":500,"en":"Rental contract accept failed","fr":"Une erreur est survenue. Réessayez plus tard."},"RENTAL_CONTRACT_ALREADY_ACCEPTED":{"http":409,"en":"Rental contract already accepted","fr":"Conflit : l'état actuel ne permet pas cette action."},"RENTAL_CONTRACT_CHANGED":{"http":409,"en":"Rental contract changed","fr":"Conflit : l'état actuel ne permet pas cette action."},"RENTAL_CONTRACT_DOCUMENT_ALTERED":{"http":409,"en":"Rental contract document altered","fr":"Conflit : l'état actuel ne permet pas cette action."},"RENTAL_CONTRACT_DOCUMENT_FAILED":{"http":500,"en":"Rental contract document failed","fr":"Une erreur est survenue. Réessayez plus tard."},"RENTAL_CONTRACT_DOCUMENT_NOT_FOUND":{"http":404,"en":"Rental contract document not found","fr":"Document introuvable."},"RENTAL_CONTRACT_GUARD_SETTINGS_FETCH_FAILED":{"http":500,"en":"Rental contract guard settings fetch failed","fr":"Impossible de charger les paramètres."},"RENTAL_CONTRACT_GUARD_SETTINGS_INVALID":{"http":422,"en":"Rental contract guard settings invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"RENTAL_CONTRACT_GUARD_SETTINGS_SAVE_FAILED":{"http":500,"en":"Rental contract guard settings save failed","fr":"Impossible d'enregistrer les paramètres."},"RENTAL_CONTRACT_LINK_EXPIRED":{"http":403,"en":"Rental contract link expired","fr":"Ce lien a expiré."},"RENTAL_CONTRACT_LINK_INVALID":{"http":403,"en":"Rental contract link invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"RENTAL_CONTRACT_LINK_REQUIRED":{"http":401,"en":"Rental contract link required","fr":"Une information obligatoire est manquante."},"RENTAL_CONTRACT_NOT_ACCEPTABLE":{"http":409,"en":"Rental contract not acceptable","fr":"Conflit : l'état actuel ne permet pas cette action."},"RENTAL_CONTRACT_NOT_ACCEPTED":{"http":409,"en":"Rental contract not accepted","fr":"Conflit : l'état actuel ne permet pas cette action."},"RENTAL_CONTRACT_NOT_READY":{"http":409,"en":"Rental contract not ready","fr":"Conflit : l'état actuel ne permet pas cette action."},"RENTAL_CONTRACT_PARTIES_FETCH_FAILED":{"http":500,"en":"Rental contract parties fetch failed","fr":"Le contrat n'a pas pu être chargé en entier : réessayez avant de l'accepter."},"RENTAL_CONTRACT_VERSION_REQUIRED":{"http":422,"en":"Rental contract version required","fr":"Une information obligatoire est manquante."},"RENTAL_CONVERSATIONS_FETCH_FAILED":{"http":500,"en":"Rental conversations fetch failed","fr":"Impossible de charger la location."},"RENTAL_CONVERSATION_CLOSED":{"http":409,"en":"This conversation is closed: the booking is no longer active","fr":"Cette conversation est fermée : la réservation n'est plus active."},"RENTAL_CREATE_FAILED":{"http":500,"en":"Rental create failed","fr":"Impossible de créer — location"},"RENTAL_DELIVERY_FEE_REQUIRED":{"http":422,"en":"Rental delivery fee required","fr":"Une information obligatoire est manquante."},"RENTAL_DELIVERY_PRICING_MODE_INVALID":{"http":422,"en":"Rental delivery pricing mode invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"RENTAL_DEPOSIT_ALREADY_RELEASED":{"http":409,"en":"Rental deposit already released","fr":"Conflit : l'état actuel ne permet pas cette action."},"RENTAL_DEPOSIT_FAILED":{"http":500,"en":"Rental deposit failed","fr":"Une erreur est survenue. Réessayez plus tard."},"RENTAL_DEPOSIT_NOT_PAID":{"http":422,"en":"Rental deposit not paid","fr":"Certaines informations sont invalides ou manquantes."},"RENTAL_DEPOSIT_RELEASED":{"http":409,"en":"Rental deposit released","fr":"Conflit : l'état actuel ne permet pas cette action."},"RENTAL_DEPOSIT_RELEASE_FAILED":{"http":500,"en":"Rental deposit release failed","fr":"Une erreur est survenue. Réessayez plus tard."},"RENTAL_DEPOSIT_WITHHOLD_FAILED":{"http":500,"en":"Rental deposit withhold failed","fr":"Une erreur est survenue. Réessayez plus tard."},"RENTAL_DOCUMENT_ALREADY_PROVIDED":{"http":409,"en":"Rental document already provided","fr":"Conflit : l'état actuel ne permet pas cette action."},"RENTAL_DOCUMENT_ATTACH_FAILED":{"http":500,"en":"Rental document attach failed","fr":"Une erreur est survenue. Réessayez plus tard."},"RENTAL_DOCUMENT_FILE_MISSING":{"http":404,"en":"Rental document file missing","fr":"Une information obligatoire est manquante."},"RENTAL_DOCUMENT_NOT_FOUND":{"http":404,"en":"Rental document not found","fr":"Document introuvable."},"RENTAL_DOCUMENT_REQUEST_FAILED":{"http":500,"en":"Rental document request failed","fr":"Une erreur est survenue. Réessayez plus tard."},"RENTAL_DOCUMENT_REQUEST_TOO_SOON":{"http":429,"en":"Rental document request too soon","fr":"Trop de tentatives. Réessayez dans un instant."},"RENTAL_DOCUMENT_REQUIRED":{"http":422,"en":"Rental document required","fr":"Une information obligatoire est manquante."},"RENTAL_DOCUMENT_TOO_LARGE":{"http":413,"en":"Rental document too large","fr":"Le fichier est trop volumineux."},"RENTAL_DOCUMENT_TYPE_INVALID":{"http":422,"en":"Rental document type invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"RENTAL_DOCUMENT_TYPE_NOT_ALLOWED":{"http":415,"en":"Rental document type not allowed","fr":"Cette action n'est pas autorisée."},"RENTAL_DOCUMENT_UPLOAD_FAILED":{"http":500,"en":"Rental document upload failed","fr":"Une erreur est survenue. Réessayez plus tard."},"RENTAL_DOCUMENT_URL_FAILED":{"http":500,"en":"Rental document url failed","fr":"Une erreur est survenue. Réessayez plus tard."},"RENTAL_DRIVER_MODE_INVALID":{"http":422,"en":"Rental driver mode invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"RENTAL_ESTIMATE_DATES_INVALID":{"http":422,"en":"Rental estimate dates invalid","fr":"Dates invalides."},"RENTAL_EXTEND_END_INVALID":{"http":422,"en":"Rental extend end invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"RENTAL_EXTEND_END_REQUIRED":{"http":422,"en":"Rental extend end required","fr":"Une information obligatoire est manquante."},"RENTAL_EXTEND_END_TOO_EARLY":{"http":422,"en":"Rental extend end too early","fr":"Certaines informations sont invalides ou manquantes."},"RENTAL_EXTEND_FAILED":{"http":500,"en":"Rental extend failed","fr":"Une erreur est survenue. Réessayez plus tard."},"RENTAL_FEEDBACK_FETCH_FAILED":{"http":500,"en":"Rental feedback fetch failed","fr":"Impossible de charger la location."},"RENTAL_FEEDBACK_REVIEWS_FAILED":{"http":500,"en":"Rental feedback reviews failed","fr":"Une erreur est survenue. Réessayez plus tard."},"RENTAL_FETCH_FAILED":{"http":500,"en":"Rental fetch failed","fr":"Échec de la récupération — location"},"RENTAL_FLEET_ATTRIBUTES_REQUIRED":{"http":422,"en":"Rental fleet attributes required","fr":"Une information obligatoire est manquante."},"RENTAL_FLEET_CREATE_FAILED":{"http":500,"en":"Rental fleet create failed","fr":"Impossible de créer la location."},"RENTAL_FLEET_DELETE_FAILED":{"http":500,"en":"Rental fleet delete failed","fr":"Impossible de supprimer la location."},"RENTAL_FLEET_LIST_FAILED":{"http":500,"en":"Rental fleet list failed","fr":"Impossible de charger la location."},"RENTAL_FLEET_RESERVATIONS_FAILED":{"http":500,"en":"Rental fleet reservations failed","fr":"Une erreur est survenue. Réessayez plus tard."},"RENTAL_FLEET_STATUS_FAILED":{"http":500,"en":"Rental fleet status failed","fr":"Une erreur est survenue. Réessayez plus tard."},"RENTAL_FLEET_STATUS_INVALID":{"http":422,"en":"Rental fleet status invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"RENTAL_FLEET_UPDATE_FAILED":{"http":500,"en":"Rental fleet update failed","fr":"Impossible de mettre à jour la location."},"RENTAL_FLEET_VEHICLE_FETCH_FAILED":{"http":500,"en":"Rental fleet vehicle fetch failed","fr":"Impossible de charger le véhicule."},"RENTAL_FLEET_VEHICLE_FORBIDDEN":{"http":403,"en":"Rental fleet vehicle forbidden","fr":"Vous n'êtes pas autorisé à effectuer cette action."},"RENTAL_FLEET_VEHICLE_NOT_FOUND":{"http":404,"en":"Rental fleet vehicle not found","fr":"Véhicule introuvable."},"RENTAL_FUEL_POLICY_INVALID":{"http":422,"en":"Rental fuel policy invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"RENTAL_GPS_WINDOW_CLOSED":{"http":403,"en":"Rental gps window closed","fr":"Vous n'êtes pas autorisé à effectuer cette action."},"RENTAL_HANDOVER_ALREADY_CONFIRMED":{"http":409,"en":"Rental handover already confirmed","fr":"Conflit : l'état actuel ne permet pas cette action."},"RENTAL_HANDOVER_CODE_INVALID":{"http":422,"en":"Rental handover code invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"RENTAL_HANDOVER_CONFIRM_FAILED":{"http":500,"en":"Rental handover confirm failed","fr":"Une erreur est survenue. Réessayez plus tard."},"RENTAL_HANDOVER_CONFIRM_NOT_ALLOWED":{"http":409,"en":"Rental handover confirm not allowed","fr":"Cette action n'est pas autorisée."},"RENTAL_HANDOVER_DESTINATION_REQUIRED":{"http":422,"en":"Rental handover destination required","fr":"Une information obligatoire est manquante."},"RENTAL_HANDOVER_LOCKED":{"http":409,"en":"Rental handover locked","fr":"Conflit : l'état actuel ne permet pas cette action."},"RENTAL_HANDOVER_MODE_INVALID":{"http":422,"en":"Rental handover mode invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"RENTAL_HANDOVER_STATE_INVALID":{"http":409,"en":"Rental handover state invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"RENTAL_HANDOVER_UPDATE_FAILED":{"http":500,"en":"Rental handover update failed","fr":"Impossible de mettre à jour la location."},"RENTAL_ID_REQUIRED":{"http":400,"en":"Rental id required","fr":"Une information obligatoire est manquante."},"RENTAL_INCIDENT_CREATE_FAILED":{"http":500,"en":"Rental incident create failed","fr":"Impossible de créer la location."},"RENTAL_INCIDENT_TYPE_INVALID":{"http":422,"en":"Rental incident type invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"RENTAL_MEDIA_ATTACH_FAILED":{"http":500,"en":"Rental media attach failed","fr":"Une erreur est survenue. Réessayez plus tard."},"RENTAL_MEDIA_FILE_REQUIRED":{"http":422,"en":"Rental media file required","fr":"Une information obligatoire est manquante."},"RENTAL_MEDIA_TOO_LARGE":{"http":413,"en":"Rental media too large","fr":"Le fichier est trop volumineux."},"RENTAL_MEDIA_TYPE_NOT_ALLOWED":{"http":415,"en":"Rental media type not allowed","fr":"Cette action n'est pas autorisée."},"RENTAL_MEDIA_UPLOAD_FAILED":{"http":500,"en":"Rental media upload failed","fr":"Une erreur est survenue. Réessayez plus tard."},"RENTAL_MESSAGES_FETCH_FAILED":{"http":500,"en":"Rental messages fetch failed","fr":"Impossible de charger la location."},"RENTAL_MESSAGES_LIST_FAILED":{"http":500,"en":"Rental messages list failed","fr":"Impossible de charger la location."},"RENTAL_MESSAGES_READ_FAILED":{"http":500,"en":"Rental messages read failed","fr":"Une erreur est survenue. Réessayez plus tard."},"RENTAL_MESSAGE_APPEAL_FAILED":{"http":500,"en":"Rental message appeal failed","fr":"Une erreur est survenue. Réessayez plus tard."},"RENTAL_MESSAGE_APPEAL_ID_REQUIRED":{"http":422,"en":"Rental message appeal id required","fr":"Une information obligatoire est manquante."},"RENTAL_MESSAGE_BLOCKED":{"http":422,"en":"Message blocked: repeated attempts to share contact details in this conversation","fr":"Message bloqué : plusieurs tentatives de partage de coordonnées ont été détectées. Les échanges se font sur UPJUNOO jusqu'au paiement de l'acompte."},"RENTAL_MESSAGE_INSERT_FAILED":{"http":500,"en":"Rental message insert failed","fr":"Impossible de créer le message."},"RENTAL_MESSAGE_TEXT_REQUIRED":{"http":422,"en":"Message text is required","fr":"Le texte du message est requis."},"RENTAL_NOT_AWAITING_PAYMENT":{"http":409,"en":"Rental not awaiting payment","fr":"Conflit : l'état actuel ne permet pas cette action."},"RENTAL_NOT_CONFIRMED":{"http":409,"en":"The rental must be confirmed by the partner first","fr":"La location doit d'abord être confirmée par le partenaire."},"RENTAL_NOT_FOUND":{"http":404,"en":"Rental booking not found","fr":"Réservation de location introuvable"},"RENTAL_NOT_REFUNDABLE":{"http":422,"en":"Rental not refundable","fr":"Certaines informations sont invalides ou manquantes."},"RENTAL_NOT_STARTED":{"http":409,"en":"The rental must be in progress before it can be closed","fr":"La location doit être en cours avant de pouvoir être clôturée."},"RENTAL_NO_DEPOSIT":{"http":[409,422],"en":"Rental no deposit","fr":"Aucune caution n'est due ni retenue pour cette location."},"RENTAL_OFFERS_FETCH_FAILED":{"http":500,"en":"Rental offers fetch failed","fr":"Échec de la récupération — offres"},"RENTAL_OFFER_CREATE_FAILED":{"http":500,"en":"Rental offer create failed","fr":"Impossible de créer — offre"},"RENTAL_OFFER_FETCH_FAILED":{"http":500,"en":"Rental offer fetch failed","fr":"Échec de la récupération — offre"},"RENTAL_OFFER_ID_REQUIRED":{"http":422,"en":"Rental offer id required","fr":"Une information obligatoire est manquante."},"RENTAL_OFFER_LOCATION_ABIDJAN_INCOMPLETE":{"http":422,"en":"Rental offer location abidjan incomplete","fr":"Certaines informations sont invalides ou manquantes."},"RENTAL_OFFER_LOCATION_MISSING":{"http":400,"en":"Rental offer location missing","fr":"Une information obligatoire est manquante."},"RENTAL_OFFER_LOCATION_REQUIRED":{"http":422,"en":"Rental offer location required","fr":"Une information obligatoire est manquante."},"RENTAL_OFFER_NOT_FOUND":{"http":404,"en":"Rental offer not found","fr":"Location introuvable."},"RENTAL_OFFER_PRICING_UPDATE_FAILED":{"http":500,"en":"Rental offer pricing update failed","fr":"Impossible de mettre à jour la location."},"RENTAL_OFFER_UPDATE_EMPTY":{"http":400,"en":"Rental offer update empty","fr":"Aucune modification fournie."},"RENTAL_OFFER_UPDATE_FAILED":{"http":500,"en":"Rental offer update failed","fr":"Impossible de mettre à jour — offre"},"RENTAL_OFFER_VEHICLE_REQUIRED":{"http":400,"en":"Rental offer vehicle required","fr":"Une information obligatoire est manquante."},"RENTAL_OVERLAP_CHECK_FAILED":{"http":500,"en":"Rental overlap check failed","fr":"Impossible de vérifier la disponibilité du véhicule. Réessayez."},"RENTAL_PARTNER_FETCH_FAILED":{"http":500,"en":"Rental partner fetch failed","fr":"Impossible de charger le partenaire."},"RENTAL_PARTNER_NOT_FOUND":{"http":404,"en":"Rental partner not found","fr":"Partenaire introuvable."},"RENTAL_PARTNER_UPDATE_FAILED":{"http":500,"en":"Rental partner update failed","fr":"Impossible de mettre à jour le partenaire."},"RENTAL_PAYOUT_ALREADY_PROCESSED":{"http":409,"en":"Rental payout already processed","fr":"Conflit : l'état actuel ne permet pas cette action."},"RENTAL_PAYOUT_BANK_REQUIRED":{"http":422,"en":"Rental payout bank required","fr":"Une information obligatoire est manquante."},"RENTAL_PAYOUT_FORCE_FAILED":{"http":502,"en":"Rental payout force failed","fr":"Une erreur est survenue. Réessayez plus tard."},"RENTAL_PAYOUT_LOOKUP_FAILED":{"http":500,"en":"Rental payout lookup failed","fr":"Impossible de retrouver la location."},"RENTAL_PAYOUT_METHOD_INVALID":{"http":422,"en":"Rental payout method invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"RENTAL_PAYOUT_MSISDN_REQUIRED":{"http":422,"en":"Rental payout msisdn required","fr":"Une information obligatoire est manquante."},"RENTAL_PAYOUT_NOT_DUE":{"http":409,"en":"Rental payout not due","fr":"Conflit : l'état actuel ne permet pas cette action."},"RENTAL_PAYOUT_NOT_FOUND":{"http":404,"en":"Rental payout not found","fr":"Location introuvable."},"RENTAL_PAYOUT_REFUNDED":{"http":409,"en":"Rental payout refunded","fr":"Conflit : l'état actuel ne permet pas cette action."},"RENTAL_QUEUE_INVALID":{"http":422,"en":"Rental queue invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"RENTAL_QUOTE_RANGE_REQUIRED":{"http":422,"en":"Rental quote range required","fr":"Une information obligatoire est manquante."},"RENTAL_REFUND_ALREADY_CREDITED":{"http":409,"en":"Rental refund already credited","fr":"Conflit : l'état actuel ne permet pas cette action."},"RENTAL_REFUND_AMOUNT_ZERO":{"http":422,"en":"Rental refund amount zero","fr":"Certaines informations sont invalides ou manquantes."},"RENTAL_REFUND_AUTOMATIC_EXISTS":{"http":409,"en":"Rental refund automatic exists","fr":"Conflit : l'état actuel ne permet pas cette action."},"RENTAL_REFUND_CREATE_FAILED":{"http":500,"en":"Rental refund create failed","fr":"Impossible de créer la location."},"RENTAL_REFUND_DESTINATION_FETCH_FAILED":{"http":500,"en":"Rental refund destination fetch failed","fr":"Impossible de préparer le remboursement. Réessayez."},"RENTAL_REFUND_FAILED":{"http":500,"en":"Rental refund failed","fr":"Une erreur est survenue. Réessayez plus tard."},"RENTAL_REFUND_FETCH_FAILED":{"http":500,"en":"Rental refund fetch failed","fr":"Impossible de charger la location."},"RENTAL_REFUND_NOT_FOUND":{"http":404,"en":"Rental refund not found","fr":"Location introuvable."},"RENTAL_REFUND_NOT_RETRYABLE":{"http":409,"en":"Rental refund not retryable","fr":"Conflit : l'état actuel ne permet pas cette action."},"RENTAL_REFUND_REFERENCE_REQUIRED":{"http":422,"en":"Rental refund reference required","fr":"Une information obligatoire est manquante."},"RENTAL_REFUND_UPDATE_FAILED":{"http":500,"en":"Rental refund update failed","fr":"Impossible de mettre à jour la location."},"RENTAL_REJECTION_REASON_REQUIRED":{"http":422,"en":"Rental rejection reason required","fr":"Une information obligatoire est manquante."},"RENTAL_RESCHEDULE_DURATION_LOCKED":{"http":422,"en":"Rental reschedule duration locked","fr":"Certaines informations sont invalides ou manquantes."},"RENTAL_RESCHEDULE_FAILED":{"http":500,"en":"Rental reschedule failed","fr":"Une erreur est survenue. Réessayez plus tard."},"RENTAL_RESCHEDULE_NOT_ALLOWED":{"http":422,"en":"Rental reschedule not allowed","fr":"Cette action n'est pas autorisée."},"RENTAL_RESCHEDULE_RANGE_INVALID":{"http":422,"en":"Rental reschedule range invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"RENTAL_RESCHEDULE_RANGE_REQUIRED":{"http":422,"en":"Rental reschedule range required","fr":"Une information obligatoire est manquante."},"RENTAL_REVIEW_CREATE_FAILED":{"http":500,"en":"Rental review create failed","fr":"Impossible de créer la location."},"RENTAL_REVIEW_FETCH_FAILED":{"http":500,"en":"Rental review fetch failed","fr":"Impossible de charger la location."},"RENTAL_REVIEW_HIDE_FAILED":{"http":500,"en":"Rental review hide failed","fr":"Une erreur est survenue. Réessayez plus tard."},"RENTAL_REVIEW_NOT_ALLOWED":{"http":409,"en":"Rental review not allowed","fr":"Cette action n'est pas autorisée."},"RENTAL_REVIEW_NOT_FOUND":{"http":404,"en":"Rental review not found","fr":"Location introuvable."},"RENTAL_REVIEW_SCORE_INVALID":{"http":422,"en":"Rental review score invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"RENTAL_REVIEW_UPDATE_FAILED":{"http":500,"en":"Rental review update failed","fr":"Impossible de mettre à jour la location."},"RENTAL_SEASON_UPDATE_FAILED":{"http":500,"en":"Rental season update failed","fr":"Impossible de mettre à jour la location."},"RENTAL_SETTLEMENT_STATUS_INVALID":{"http":422,"en":"Rental settlement status invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"RENTAL_STATUS_INVALID":{"http":400,"en":"Rental status invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"RENTAL_STATUS_REQUIRED":{"http":400,"en":"Rental status required","fr":"Une information obligatoire est manquante."},"RENTAL_STATUS_UPDATE_FAILED":{"http":500,"en":"Rental status update failed","fr":"Impossible de mettre à jour — statut"},"RENTAL_TRANSITION_INVALID":{"http":422,"en":"This action is not possible in the current rental state","fr":"Cette action n'est pas possible dans l'état actuel de la location."},"RENTAL_VEHICLE_UNAVAILABLE":{"http":409,"en":"Rental vehicle unavailable","fr":"Conflit : l'état actuel ne permet pas cette action."},"RENTAL_WITHHOLD_AMOUNT_INVALID":{"http":422,"en":"Rental withhold amount invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"RENTAL_WITHHOLD_EXCEEDS_DEPOSIT":{"http":422,"en":"Rental withhold exceeds deposit","fr":"Certaines informations sont invalides ou manquantes."},"RENTAL_WITHHOLD_REASON_REQUIRED":{"http":422,"en":"Rental withhold reason required","fr":"Une information obligatoire est manquante."},"REPORTING_COUNTRY_UNSET":{"http":403,"en":"Reporting country unset","fr":"Compte reporting sans pays rattaché. Contactez un administrateur."},"REPORTING_INVALID_FILTERS":{"http":422,"en":"Invalid reporting filters","fr":"Filtres de reporting invalides ou incompatibles."},"REPORTING_PERIOD_TOO_LARGE":{"http":422,"en":"Reporting period too large","fr":"La période demandée dépasse la limite autorisée (366 jours). Réduisez la période ou utilisez un export."},"REPORTING_QUERY_FAILED":{"http":500,"en":"Reporting query failed","fr":"Le calcul du rapport a échoué. Réessayez plus tard."},"REPORTING_REQUIRED":{"http":403,"en":"Reporting access required","fr":"Accès réservé au reporting."},"REPORTING_SCOPE_DENIED":{"http":403,"en":"Reporting scope denied","fr":"Périmètre non autorisé."},"REPORT_NOT_FOUND":{"http":404,"en":"Report not found","fr":"Rapport introuvable."},"REPORT_UNKNOWN":{"http":422,"en":"Report unknown","fr":"Certaines informations sont invalides ou manquantes."},"REQUIRED_FIELD_MISSING":{"http":400,"en":"Required field missing","fr":"Un champ obligatoire est manquant."},"RETURN_DROPOFF_REQUIRED":{"http":422,"en":"Return dropoff required","fr":"Une information obligatoire est manquante."},"REVERSAL_REASON_REQUIRED":{"http":400,"en":"Reversal reason required","fr":"Une information obligatoire est manquante."},"RIDES_FETCH_FAILED":{"http":500,"en":"Rides fetch failed","fr":"Échec de la récupération — courses"},"RIDE_ACCESS_DENIED":{"http":403,"en":"Ride access denied","fr":"Accès à cette course refusé."},"RIDE_ALREADY_COMPLETED":{"http":409,"en":"Ride already completed","fr":"Cette course est déjà terminée."},"RIDE_CREATE_FAILED":{"http":400,"en":"Ride create failed","fr":"Impossible de créer la course"},"RIDE_DRIVER_REQUIRED":{"http":403,"en":"Ride driver required","fr":"Une information obligatoire est manquante."},"RIDE_EVENTS_FETCH_FAILED":{"http":500,"en":"Ride events fetch failed","fr":"Échec de la récupération — événements"},"RIDE_FETCH_FAILED":{"http":500,"en":"Ride fetch failed","fr":"Échec de la récupération — course"},"RIDE_FORBIDDEN":{"http":403,"en":"Ride forbidden","fr":"Vous n'êtes pas autorisé à effectuer cette action."},"RIDE_INVALID_STATUS":{"http":409,"en":"Ride invalid status","fr":"Conflit : l'état actuel ne permet pas cette action."},"RIDE_INVALID_TRANSITION":{"http":409,"en":"Ride invalid transition","fr":"Conflit : l'état actuel ne permet pas cette action."},"RIDE_IN_PROGRESS":{"http":409,"en":"Ride in progress","fr":"Conflit : l'état actuel ne permet pas cette action."},"RIDE_NOT_BOOKED_FOR_OTHER":{"http":409,"en":"Ride not booked for other","fr":"Conflit : l'état actuel ne permet pas cette action."},"RIDE_NOT_FOUND":{"http":404,"en":"Ride not found","fr":"Course introuvable"},"RIDE_PASSENGER_SMS_DISABLED":{"http":503,"en":"Ride passenger sms disabled","fr":"Cette fonctionnalité est désactivée."},"RIDE_PASSENGER_SMS_FAILED":{"http":502,"en":"Ride passenger sms failed","fr":"Une erreur est survenue. Réessayez plus tard."},"RIDE_PASSENGER_SMS_LIMIT":{"http":429,"en":"Ride passenger sms limit","fr":"Trop de tentatives. Réessayez dans un instant."},"RIDE_PASSENGER_SMS_NOT_ALLOWED":{"http":409,"en":"Ride passenger sms not allowed","fr":"Cette action n'est pas autorisée."},"RIDE_REFERENCE_FAILED":{"http":500,"en":"Ride reference failed","fr":"Impossible de générer la référence — course"},"RIDE_ROUTE_NOT_INITIALIZED":{"http":409,"en":"Ride route not initialized","fr":"Conflit : l'état actuel ne permet pas cette action."},"RIDE_ROUTE_STATE_DISABLED":{"http":409,"en":"Ride route state disabled","fr":"Cette fonctionnalité est désactivée."},"RIDE_ROUTE_VERSION_CONFLICT":{"http":409,"en":"Ride route version conflict","fr":"Conflit : l'état actuel ne permet pas cette action."},"RIDE_SECURITY_CODE_INVALID":{"http":422,"en":"Ride security code invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"RIDE_SECURITY_CODE_LOCKED":{"http":429,"en":"Ride security code locked","fr":"Trop de tentatives. Réessayez dans un instant."},"RIDE_SHARE_ENDED":{"http":410,"en":"Ride share ended","fr":"Ce lien de suivi n'est plus actif."},"RIDE_SHARE_EXPIRED":{"http":410,"en":"Ride share expired","fr":"Ce lien de suivi a expiré."},"RIDE_SHARE_FAILED":{"http":500,"en":"Ride share failed","fr":"Impossible de partager — course"},"RIDE_SHARE_FETCH_FAILED":{"http":500,"en":"Ride share fetch failed","fr":"Impossible de charger la course."},"RIDE_SHARE_NOT_FOUND":{"http":404,"en":"Ride share not found","fr":"Course introuvable."},"RIDE_STATUS_CONFLICT":{"http":409,"en":"Ride status conflict","fr":"L'état de la course ne permet pas cette action."},"RIDE_STATUS_UPDATE_FAILED":{"http":400,"en":"Ride status update failed","fr":"Impossible de mettre à jour — statut"},"RIDE_STOP_ALREADY_SERVED":{"http":409,"en":"Ride stop already served","fr":"Conflit : l'état actuel ne permet pas cette action."},"RIDE_STOP_ARRIVAL_FAILED":{"http":500,"en":"Ride stop arrival failed","fr":"Une erreur est survenue. Réessayez plus tard."},"RIDE_STOP_DUPLICATED":{"http":400,"en":"Ride stop duplicated","fr":"Requête invalide. Vérifiez les informations saisies."},"RIDE_STOP_NOT_FOUND":{"http":404,"en":"Ride stop not found","fr":"Course introuvable."},"RIDE_STOP_NOT_PENDING":{"http":409,"en":"Ride stop not pending","fr":"Cette demande n'est plus en attente."},"RIDE_STOP_OUT_OF_ORDER":{"http":409,"en":"Ride stop out of order","fr":"Conflit : l'état actuel ne permet pas cette action."},"ROAD_EVENTS_FETCH_FAILED":{"http":500,"en":"Road events fetch failed","fr":"Impossible de charger les événements."},"ROAD_EVENT_CREATE_FAILED":{"http":500,"en":"Road event create failed","fr":"Impossible de créer l'événement."},"ROAD_EVENT_INVALID_ID":{"http":400,"en":"Road event invalid id","fr":"Requête invalide. Vérifiez les informations saisies."},"ROAD_EVENT_MISSING_COORDS":{"http":400,"en":"Road event missing coords","fr":"Coordonnées manquantes."},"ROAD_EVENT_NOT_FOUND":{"http":404,"en":"Road event not found","fr":"Événement introuvable."},"ROLE_FETCH_FAILED":{"http":500,"en":"Role fetch failed","fr":"Impossible de charger le rôle."},"ROLE_ID_REQUIRED":{"http":400,"en":"roleId is required","fr":"L'identifiant rôle est requis"},"ROLE_NOT_FOUND":{"http":404,"en":"Role not found","fr":"Rôle introuvable."},"ROLE_PERMISSIONS_FETCH_FAILED":{"http":500,"en":"Role permissions fetch failed","fr":"Échec de la récupération — rôle permissions"},"ROLE_PERMISSIONS_SET_FAILED":{"http":400,"en":"Role permissions set failed","fr":"Impossible de configurer — rôle permissions"},"ROTATION_FETCH_FAILED":{"http":500,"en":"Rotation fetch failed","fr":"Impossible de charger la rotation."},"ROTATION_STATS_FAILED":{"http":500,"en":"Rotation stats failed","fr":"Une erreur est survenue. Réessayez plus tard."},"ROTATION_STATUS_FAILED":{"http":500,"en":"Rotation status failed","fr":"Une erreur est survenue. Réessayez plus tard."},"ROUTE_CHANGE_DRIVER_REQUIRED":{"http":409,"en":"Route change driver required","fr":"Une information obligatoire est manquante."},"ROUTE_CHANGE_INVALID_STATUS":{"http":409,"en":"Route change invalid status","fr":"Conflit : l'état actuel ne permet pas cette action."},"ROUTE_CHANGE_OPERATION_MISMATCH":{"http":409,"en":"Route change operation mismatch","fr":"Conflit : l'état actuel ne permet pas cette action."},"ROUTE_CHANGE_POSITION_IMPRECISE":{"http":409,"en":"Route change position imprecise","fr":"Conflit : l'état actuel ne permet pas cette action."},"ROUTE_CHANGE_POSITION_STALE":{"http":409,"en":"Route change position stale","fr":"Conflit : l'état actuel ne permet pas cette action."},"ROUTE_CHANGE_POSITION_UNAVAILABLE":{"http":409,"en":"Route change position unavailable","fr":"Conflit : l'état actuel ne permet pas cette action."},"ROUTE_CHANGE_PRICE_MISMATCH":{"http":409,"en":"Route change price mismatch","fr":"Conflit : l'état actuel ne permet pas cette action."},"ROUTE_CHANGE_PROPOSAL_CLOSED":{"http":409,"en":"Route change proposal closed","fr":"Conflit : l'état actuel ne permet pas cette action."},"ROUTE_CHANGE_PROPOSAL_EXPIRED":{"http":409,"en":"Route change proposal expired","fr":"Ce lien a expiré."},"ROUTE_CHANGE_PROPOSAL_FORBIDDEN":{"http":403,"en":"Route change proposal forbidden","fr":"Vous n'êtes pas autorisé à effectuer cette action."},"ROUTE_CHANGE_PROPOSAL_NOT_FOUND":{"http":404,"en":"Route change proposal not found","fr":"Ressource introuvable."},"ROUTE_CHANGE_SNAPSHOT_INCOMPLETE":{"http":409,"en":"Route change snapshot incomplete","fr":"Conflit : l'état actuel ne permet pas cette action."},"ROUTE_NOT_FOUND":{"http":404,"en":"Route not found","fr":"Ressource introuvable."},"ROUTE_TRAFFIC_TIMEOUT":{"http":504,"en":"Route traffic timeout","fr":"Le service met trop de temps à répondre. Réessayez plus tard."},"ROUTE_TRAFFIC_UNAVAILABLE":{"http":503,"en":"Route traffic unavailable","fr":"Service momentanément indisponible. Réessayez plus tard."},"SAFETY_CONTACTS_FETCH_FAILED":{"http":500,"en":"Safety contacts fetch failed","fr":"Impossible de charger les contacts."},"SAFETY_CONTACT_CREATE_FAILED":{"http":400,"en":"Safety contact create failed","fr":"Impossible de créer le contact."},"SAFETY_CONTACT_INVALID":{"http":400,"en":"Safety contact invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"SAFETY_CONTACT_NOT_FOUND":{"http":404,"en":"Safety contact not found","fr":"Contact introuvable."},"SAFETY_CONTACT_UPDATE_FAILED":{"http":400,"en":"Safety contact update failed","fr":"Impossible de mettre à jour le contact."},"SAFETY_SHARE_EXPIRED":{"http":410,"en":"Safety share expired","fr":"Ce partage de trajet a expiré."},"SAFETY_SHARE_NOT_FOUND":{"http":404,"en":"Safety share not found","fr":"Ressource introuvable."},"SANCTION_DURATION_INVALID":{"http":422,"en":"Sanction duration invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"SANCTION_DURATION_REQUIRED":{"http":422,"en":"Sanction duration required","fr":"Une information obligatoire est manquante."},"SANCTION_NOT_ALLOWED":{"http":403,"en":"Sanction type not allowed","fr":"Type de sanction non autorisé (warning ou surveillance)."},"SANCTION_REASON_INVALID":{"http":422,"en":"Sanction reason invalid","fr":"Motif de sanction : 10 caractères minimum."},"SANCTION_TARGET_NOT_FOUND":{"http":422,"en":"Sanction target not found","fr":"Aucune cible identifiable pour la sanction : précisez target_user_id."},"SECURITY_CODE_CREATE_FAILED":{"http":500,"en":"Security code create failed","fr":"Impossible de créer cet élément."},"SENDER_PROOF_CLOSED":{"http":409,"en":"Sender proof closed","fr":"Conflit : l'état actuel ne permet pas cette action."},"SENDER_PROOF_LIMIT_REACHED":{"http":409,"en":"Sender proof limit reached","fr":"Conflit : l'état actuel ne permet pas cette action."},"SERVICE_TYPE_NOT_ALLOWED":{"http":422,"en":"Service type not allowed","fr":"Cette action n'est pas autorisée."},"SERVICE_UNAVAILABLE":{"http":503,"en":"Service unavailable","fr":"Service momentanément indisponible. Réessayez plus tard."},"SESSIONS_FETCH_FAILED":{"http":500,"en":"Sessions fetch failed","fr":"Impossible de charger les données."},"SESSION_ID_REQUIRED":{"http":400,"en":"Session id required","fr":"Une information obligatoire est manquante."},"SESSION_NOT_FOUND":{"http":404,"en":"Session not found","fr":"Ressource introuvable."},"SESSION_REVOKE_FAILED":{"http":500,"en":"Session revoke failed","fr":"Une erreur est survenue. Réessayez plus tard."},"SESSION_SUPERSEDED":{"http":401,"en":"Session superseded by a new login on another device","fr":"Connexion détectée sur un autre appareil. Vous avez été déconnecté."},"SETTING_FETCH_FAILED":{"http":500,"en":"Setting fetch failed","fr":"Impossible de charger le paramètre."},"SETTING_UPSERT_FAILED":{"http":400,"en":"Setting upsert failed","fr":"Impossible d'enregistrer le paramètre."},"SMS_AUDIENCE_PROFILES_FAILED":{"http":500,"en":"Sms audience profiles failed","fr":"Une erreur est survenue. Réessayez plus tard."},"SMS_BODY_REQUIRED":{"http":400,"en":"Sms body required","fr":"Une information obligatoire est manquante."},"SMS_BODY_TOO_LONG":{"http":400,"en":"Sms body too long","fr":"Requête invalide. Vérifiez les informations saisies."},"SMS_CAMPAIGNS_LIST_FAILED":{"http":500,"en":"Sms campaigns list failed","fr":"Impossible de charger les campagnes."},"SMS_CAMPAIGN_CANCEL_FAILED":{"http":500,"en":"Sms campaign cancel failed","fr":"Impossible d'annuler pour le moment."},"SMS_CAMPAIGN_CREATE_FAILED":{"http":500,"en":"Sms campaign create failed","fr":"Impossible de créer la campagne."},"SMS_CAMPAIGN_EMPTY_AUDIENCE":{"http":422,"en":"Sms campaign empty audience","fr":"Certaines informations sont invalides ou manquantes."},"SMS_CAMPAIGN_FETCH_FAILED":{"http":500,"en":"Sms campaign fetch failed","fr":"Impossible de charger la campagne."},"SMS_CAMPAIGN_LAUNCH_FAILED":{"http":500,"en":"Sms campaign launch failed","fr":"Une erreur est survenue. Réessayez plus tard."},"SMS_CAMPAIGN_MATERIALIZE_FAILED":{"http":500,"en":"Sms campaign materialize failed","fr":"Une erreur est survenue. Réessayez plus tard."},"SMS_CAMPAIGN_MESSAGES_FAILED":{"http":500,"en":"Sms campaign messages failed","fr":"Une erreur est survenue. Réessayez plus tard."},"SMS_CAMPAIGN_NAME_REQUIRED":{"http":400,"en":"Sms campaign name required","fr":"Une information obligatoire est manquante."},"SMS_CAMPAIGN_NOT_CANCELLABLE":{"http":409,"en":"Sms campaign not cancellable","fr":"Conflit : l'état actuel ne permet pas cette action."},"SMS_CAMPAIGN_NOT_EDITABLE":{"http":409,"en":"Sms campaign not editable","fr":"Conflit : l'état actuel ne permet pas cette action."},"SMS_CAMPAIGN_NOT_FOUND":{"http":404,"en":"Sms campaign not found","fr":"Campagne introuvable."},"SMS_CAMPAIGN_NOT_LAUNCHABLE":{"http":409,"en":"Sms campaign not launchable","fr":"Conflit : l'état actuel ne permet pas cette action."},"SMS_CAMPAIGN_NOT_PAUSABLE":{"http":409,"en":"Sms campaign not pausable","fr":"Conflit : l'état actuel ne permet pas cette action."},"SMS_CAMPAIGN_NOT_PAUSED":{"http":409,"en":"Sms campaign not paused","fr":"Conflit : l'état actuel ne permet pas cette action."},"SMS_CAMPAIGN_SCHEDULE_INVALID":{"http":400,"en":"Sms campaign schedule invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"SMS_CAMPAIGN_STATUS_FAILED":{"http":500,"en":"Sms campaign status failed","fr":"Une erreur est survenue. Réessayez plus tard."},"SMS_CAMPAIGN_UPDATE_FAILED":{"http":500,"en":"Sms campaign update failed","fr":"Impossible de mettre à jour la campagne."},"SMS_DIRECT_RECORD_FAILED":{"http":500,"en":"Sms direct record failed","fr":"Une erreur est survenue. Réessayez plus tard."},"SMS_FRANCHISE_RECIPIENT_REQUIRED":{"http":403,"en":"Sms franchise recipient required","fr":"Une information obligatoire est manquante."},"SMS_LETEXTO_NOT_CONFIGURED":{"http":500,"en":"Sms letexto not configured","fr":"Le service SMS n'est pas configuré."},"SMS_LETEXTO_SEND_FAILED":{"http":502,"en":"Sms letexto send failed","fr":"Échec de l'envoi du SMS. Réessayez."},"SMS_OPT_OUTS_FETCH_FAILED":{"http":500,"en":"Sms opt outs fetch failed","fr":"Impossible de charger les données."},"SMS_OPT_OUTS_LIST_FAILED":{"http":500,"en":"Sms opt outs list failed","fr":"Impossible de charger la liste."},"SMS_OPT_OUT_CREATE_FAILED":{"http":500,"en":"Sms opt out create failed","fr":"Impossible de créer cet élément."},"SMS_OPT_OUT_DELETE_FAILED":{"http":500,"en":"Sms opt out delete failed","fr":"Impossible de supprimer cet élément."},"SMS_OPT_OUT_SOURCE_INVALID":{"http":400,"en":"Sms opt out source invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"SMS_ORANGE_INSUFFICIENT_CREDIT":{"http":402,"en":"Insufficient Orange SMS credit","fr":"Crédit SMS Orange insuffisant"},"SMS_ORANGE_LOGIN_FAILED":{"http":502,"en":"Orange portal login HTTP ${res.status}","fr":"Échec de la connexion au portail Orange SMS"},"SMS_ORANGE_NOT_CONFIGURED":{"http":500,"en":"Orange SMS API URL/credentials missing","fr":"URL ou identifiants API SMS Orange manquants"},"SMS_ORANGE_SEND_FAILED":{"http":502,"en":"Orange HTTP API did not accept the message","fr":"Le service Orange n'a pas accepté l'envoi du SMS"},"SMS_ORANGE_SESSION_REJECTED":{"http":502,"en":"Orange portal session rejected","fr":"Session du portail Orange SMS refusée"},"SMS_OVERVIEW_COST_FAILED":{"http":500,"en":"Sms overview cost failed","fr":"Une erreur est survenue. Réessayez plus tard."},"SMS_OVERVIEW_FAILED":{"http":500,"en":"Sms overview failed","fr":"Une erreur est survenue. Réessayez plus tard."},"SMS_PARTNERS_LIST_FAILED":{"http":500,"en":"Sms partners list failed","fr":"Impossible de charger les partenaires."},"SMS_PARTNER_DRIVERS_FAILED":{"http":500,"en":"Sms partner drivers failed","fr":"Une erreur est survenue. Réessayez plus tard."},"SMS_PHONE_INVALID":{"http":400,"en":"phone is required","fr":"Numéro de téléphone requis"},"SMS_PHONE_REQUIRED":{"http":400,"en":"Sms phone required","fr":"Une information obligatoire est manquante."},"SMS_PROVIDER_UNKNOWN":{"http":400,"en":"Sms provider unknown","fr":"Requête invalide. Vérifiez les informations saisies."},"SMS_QUOTA_FETCH_FAILED":{"http":500,"en":"Sms quota fetch failed","fr":"Impossible de charger les données."},"SMS_RECIPIENTS_SEARCH_FAILED":{"http":500,"en":"Sms recipients search failed","fr":"La recherche a échoué. Réessayez."},"SMS_RECIPIENT_OPTED_OUT":{"http":409,"en":"Sms recipient opted out","fr":"Conflit : l'état actuel ne permet pas cette action."},"SMS_RECIPIENT_OUT_OF_SCOPE":{"http":403,"en":"Sms recipient out of scope","fr":"Vous n'êtes pas autorisé à effectuer cette action."},"SMS_RECIPIENT_SCOPE_FAILED":{"http":500,"en":"Sms recipient scope failed","fr":"Une erreur est survenue. Réessayez plus tard."},"SMS_RECIPIENT_UNREACHABLE":{"http":422,"en":"Sms recipient unreachable","fr":"Service externe injoignable. Réessayez plus tard."},"SMS_ROUTING_CONFIG_FETCH_FAILED":{"http":500,"en":"Sms routing config fetch failed","fr":"Impossible de charger les données."},"SMS_ROUTING_CONFIG_UPDATE_FAILED":{"http":500,"en":"Sms routing config update failed","fr":"Impossible d'enregistrer les modifications."},"SMS_SENDERS_LIST_FAILED":{"http":500,"en":"Sms senders list failed","fr":"Impossible de charger la liste."},"SMS_SENDER_CREATE_FAILED":{"http":500,"en":"Sms sender create failed","fr":"Impossible de créer cet élément."},"SMS_SENDER_DELETE_FAILED":{"http":500,"en":"Sms sender delete failed","fr":"Impossible de supprimer cet élément."},"SMS_SENDER_LABEL_REQUIRED":{"http":400,"en":"Sms sender label required","fr":"Une information obligatoire est manquante."},"SMS_SENDER_LABEL_TOO_LONG":{"http":400,"en":"Sms sender label too long","fr":"Requête invalide. Vérifiez les informations saisies."},"SMS_SENDER_NOT_FOUND":{"http":404,"en":"Sms sender not found","fr":"Ressource introuvable."},"SMS_SENDER_PROVIDER_INVALID":{"http":400,"en":"Sms sender provider invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"SMS_SENDER_STATUS_INVALID":{"http":400,"en":"Sms sender status invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"SMS_SENDER_UPDATE_FAILED":{"http":500,"en":"Sms sender update failed","fr":"Impossible d'enregistrer les modifications."},"SMS_SMSING_NOT_CONFIGURED":{"http":500,"en":"Sms smsing not configured","fr":"Le service SMS n'est pas configuré."},"SMS_SMSING_SEND_FAILED":{"http":502,"en":"Sms smsing send failed","fr":"Échec de l'envoi. Réessayez."},"SMS_TEMPLATES_LIST_FAILED":{"http":500,"en":"Sms templates list failed","fr":"Impossible de charger la liste."},"SMS_TEMPLATE_CREATE_FAILED":{"http":500,"en":"Sms template create failed","fr":"Impossible de créer cet élément."},"SMS_TEMPLATE_DELETE_FAILED":{"http":500,"en":"Sms template delete failed","fr":"Impossible de supprimer cet élément."},"SMS_TEMPLATE_FETCH_FAILED":{"http":500,"en":"Sms template fetch failed","fr":"Impossible de charger les données."},"SMS_TEMPLATE_NAME_REQUIRED":{"http":400,"en":"Sms template name required","fr":"Une information obligatoire est manquante."},"SMS_TEMPLATE_NOT_FOUND":{"http":404,"en":"Sms template not found","fr":"Ressource introuvable."},"SMS_TEMPLATE_UPDATE_FAILED":{"http":500,"en":"Sms template update failed","fr":"Impossible d'enregistrer les modifications."},"SMS_TWILIO_NOT_CONFIGURED":{"http":500,"en":"Sms twilio not configured","fr":"Le service SMS n'est pas configuré."},"SMS_TWILIO_SEND_FAILED":{"http":502,"en":"Sms twilio send failed","fr":"Échec de l'envoi du SMS. Réessayez."},"SMS_UNKNOWN_VARIABLE":{"http":422,"en":"Sms unknown variable","fr":"Certaines informations sont invalides ou manquantes."},"SOS_ACCESS_DENIED":{"http":403,"en":"SOS outside your scope","fr":"Ce SOS est en dehors de votre périmètre."},"SOS_ACK_FAILED":{"http":400,"en":"Sos ack failed","fr":"Une erreur est survenue. Réessayez plus tard."},"SOS_ALREADY_ACKNOWLEDGED":{"http":409,"en":"SOS already taken in charge","fr":"Ce SOS a déjà été pris en charge."},"SOS_ALREADY_RESOLVED":{"http":409,"en":"SOS already resolved","fr":"Ce SOS est déjà clôturé."},"SOS_ANALYSIS_UPDATE_FAILED":{"http":500,"en":"Sos analysis update failed","fr":"Impossible de mettre à jour l'alerte SOS."},"SOS_CANCEL_FAILED":{"http":400,"en":"Sos cancel failed","fr":"Impossible d'annuler pour le moment."},"SOS_CANCEL_FORBIDDEN":{"http":403,"en":"Only the reporter can cancel this SOS","fr":"Seul l'auteur du SOS peut l'annuler."},"SOS_CONTACTS_FETCH_FAILED":{"http":500,"en":"Sos contacts fetch failed","fr":"Impossible de charger les contacts."},"SOS_CREATE_FAILED":{"http":[400,500],"en":"Sos create failed","fr":"Impossible de créer — urgence SOS"},"SOS_DASHBOARD_FAILED":{"http":500,"en":"Sos dashboard failed","fr":"Une erreur est survenue. Réessayez plus tard."},"SOS_DELIVERY_FETCH_FAILED":{"http":500,"en":"Sos delivery fetch failed","fr":"Impossible de charger la livraison."},"SOS_DRIVER_FETCH_FAILED":{"http":500,"en":"Sos driver fetch failed","fr":"Impossible de charger le chauffeur."},"SOS_EVENT_CREATE_FAILED":{"http":500,"en":"Sos event create failed","fr":"Impossible de créer l'alerte SOS."},"SOS_FETCH_FAILED":{"http":500,"en":"Sos fetch failed","fr":"Échec de la récupération — urgence SOS"},"SOS_FORBIDDEN":{"http":403,"en":"Sos forbidden","fr":"Vous n'êtes pas autorisé pour cette alerte SOS."},"SOS_LIST_FAILED":{"http":500,"en":"Sos list failed","fr":"Impossible de charger l'alerte SOS."},"SOS_LOCATIONS_FETCH_FAILED":{"http":500,"en":"Sos locations fetch failed","fr":"Impossible de charger l'alerte SOS."},"SOS_LOCATION_CREATE_FAILED":{"http":500,"en":"Sos location create failed","fr":"Impossible de créer l'alerte SOS."},"SOS_LOCATION_FAILED":{"http":500,"en":"Unable to update SOS location","fr":"Impossible de mettre à jour la position du SOS."},"SOS_LOCATION_FORBIDDEN":{"http":403,"en":"Only the reporter can push their location","fr":"Seul l'auteur du SOS peut envoyer sa position."},"SOS_LOCATION_INVALID":{"http":400,"en":"Sos location invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"SOS_LOCATION_REQUIRED":{"http":400,"en":"Sos location required","fr":"Une information obligatoire est manquante."},"SOS_LOCATION_UPDATE_FAILED":{"http":500,"en":"Sos location update failed","fr":"Impossible de mettre à jour l'alerte SOS."},"SOS_NOTIFY_CLAIM_FAILED":{"http":500,"en":"Sos notify claim failed","fr":"Une erreur est survenue. Réessayez plus tard."},"SOS_NOTIFY_FETCH_FAILED":{"http":500,"en":"Sos notify fetch failed","fr":"Impossible de charger l'alerte SOS."},"SOS_NOT_ACTIVE":{"http":409,"en":"Sos not active","fr":"Cet élément n'est pas actif."},"SOS_NOT_FOUND":{"http":404,"en":"SOS incident not found","fr":"Incident SOS introuvable"},"SOS_NOT_TRIP_PARTICIPANT":{"http":403,"en":"You are not a participant of this trip","fr":"Vous n'êtes pas un participant de cette course."},"SOS_ORDER_FORBIDDEN":{"http":403,"en":"Sos order forbidden","fr":"Vous n'êtes pas autorisé pour cette commande."},"SOS_ORDER_NOT_FOUND":{"http":404,"en":"Sos order not found","fr":"Commande introuvable."},"SOS_PARTNER_FETCH_FAILED":{"http":500,"en":"Sos partner fetch failed","fr":"Impossible de charger le partenaire."},"SOS_REPORTER_UNKNOWN":{"http":401,"en":"Sos reporter unknown","fr":"Vous devez vous reconnecter pour continuer."},"SOS_RESOLUTION_REQUIRED":{"http":422,"en":"Sos resolution required","fr":"Une information obligatoire est manquante."},"SOS_RESOLVE_FAILED":{"http":400,"en":"Sos resolve failed","fr":"Une erreur est survenue. Réessayez plus tard."},"SOS_RIDE_FETCH_FAILED":{"http":500,"en":"Sos ride fetch failed","fr":"Impossible de charger la course."},"SOS_STAFF_FETCH_FAILED":{"http":500,"en":"Sos staff fetch failed","fr":"Impossible de charger l'alerte SOS."},"SOS_TICK_FETCH_FAILED":{"http":500,"en":"Sos tick fetch failed","fr":"Impossible de charger l'alerte SOS."},"SOS_TRIP_NOT_FOUND":{"http":404,"en":"Trip not found","fr":"Course introuvable."},"SOS_TRIP_REQUIRED":{"http":422,"en":"An active trip is required to trigger an SOS","fr":"Le SOS n'est disponible que pendant une course active."},"STAFF_CHAT_CENTRAL_SELF":{"http":422,"en":"Staff chat central self","fr":"Certaines informations sont invalides ou manquantes."},"STAFF_CHAT_CLOSE_FAILED":{"http":500,"en":"Staff chat close failed","fr":"Impossible de clôturer pour le moment."},"STAFF_CHAT_CLOSE_FORBIDDEN":{"http":403,"en":"Staff chat close forbidden","fr":"Vous n'êtes pas autorisé à effectuer cette action."},"STAFF_CHAT_CREATE_FAILED":{"http":500,"en":"Staff chat create failed","fr":"Impossible de créer la conversation."},"STAFF_CHAT_FETCH_FAILED":{"http":500,"en":"Staff chat fetch failed","fr":"Impossible de charger la conversation."},"STAFF_CHAT_FORBIDDEN":{"http":403,"en":"Staff chat forbidden","fr":"Vous n'êtes pas autorisé à effectuer cette action."},"STAFF_CHAT_JOIN_FAILED":{"http":500,"en":"Staff chat join failed","fr":"Une erreur est survenue. Réessayez plus tard."},"STAFF_CHAT_OUT_OF_SCOPE":{"http":403,"en":"Staff chat out of scope","fr":"Vous n'êtes pas autorisé à effectuer cette action."},"STAFF_CHAT_SCOPE_FAILED":{"http":500,"en":"Staff chat scope failed","fr":"Une erreur est survenue. Réessayez plus tard."},"STAFF_CHAT_TARGET_REQUIRED":{"http":400,"en":"Staff chat target required","fr":"Une information obligatoire est manquante."},"STAFF_CHAT_TARGET_TYPE_INVALID":{"http":400,"en":"Staff chat target type invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"STAFF_CONVERSATION_ALREADY_CLOSED":{"http":409,"en":"Staff conversation already closed","fr":"Cet élément est déjà clôturé."},"STAFF_CONVERSATION_NOT_FOUND":{"http":404,"en":"Staff conversation not found","fr":"Conversation introuvable."},"STAFF_NOT_FOUND":{"http":404,"en":"Staff not found","fr":"Ressource introuvable."},"STOP_ADDRESS_REQUIRED":{"http":400,"en":"Stop address required","fr":"Une information obligatoire est manquante."},"STOP_CODE_INVALID":{"http":422,"en":"Stop code invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"STOP_CODE_LOCKED":{"http":429,"en":"Stop code locked","fr":"Trop de tentatives. Réessayez dans un instant."},"STOP_PROOF_REQUIRED":{"http":422,"en":"Stop proof required","fr":"Une information obligatoire est manquante."},"SUBJECT_REQUIRED":{"http":422,"en":"Subject is required","fr":"Le sujet est requis."},"SUPPORT_AI_PERSIST_FAILED":{"http":500,"en":"Support ai persist failed","fr":"Impossible d'enregistrer les données."},"SUPPORT_ASSISTANCE_FETCH_FAILED":{"http":500,"en":"Support assistance fetch failed","fr":"Impossible de charger les données."},"SUPPORT_AUDIT_FETCH_FAILED":{"http":500,"en":"Support audit fetch failed","fr":"Impossible de charger les données."},"SUPPORT_CHAT_NOT_FOUND":{"http":404,"en":"Support chat not found","fr":"Conversation introuvable."},"SUPPORT_COMPENSATION_CANCEL_FAILED":{"http":500,"en":"Support compensation cancel failed","fr":"Impossible d'annuler pour le moment."},"SUPPORT_COMPENSATION_CREATE_FAILED":{"http":500,"en":"Support compensation create failed","fr":"Impossible de créer cet élément."},"SUPPORT_COMPENSATION_FETCH_FAILED":{"http":500,"en":"Support compensation fetch failed","fr":"Impossible de charger les données."},"SUPPORT_KB_FETCH_FAILED":{"http":500,"en":"Support kb fetch failed","fr":"Impossible de charger les données."},"SUPPORT_KB_UPSERT_FAILED":{"http":500,"en":"Support kb upsert failed","fr":"Impossible d'enregistrer les modifications."},"SUPPORT_MESSAGE_CREATE_FAILED":{"http":500,"en":"Support message create failed","fr":"Impossible de créer — message"},"SUPPORT_MESSAGE_FAILED":{"http":400,"en":"Support message failed","fr":"Une erreur est survenue. Réessayez plus tard."},"SUPPORT_MESSAGE_REQUIRED":{"http":400,"en":"Support message required","fr":"Une information obligatoire est manquante."},"SUPPORT_PRIORITY_INVALID":{"http":400,"en":"Support priority invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"SUPPORT_REQUIRED":{"http":403,"en":"Support access required","fr":"Action réservée au support, à la franchise ou à l'administration."},"SUPPORT_SANCTION_CREATE_FAILED":{"http":500,"en":"Support sanction create failed","fr":"Impossible de créer cet élément."},"SUPPORT_STATUS_INVALID":{"http":400,"en":"Support status invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"SUPPORT_TICKETS_DRIVER_ID_INVALID":{"http":422,"en":"Support tickets driver id invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"SUPPORT_TICKETS_FETCH_FAILED":{"http":500,"en":"Support tickets fetch failed","fr":"Échec de la récupération — tickets"},"SUPPORT_TICKETS_FRANCHISE_ID_INVALID":{"http":422,"en":"Support tickets franchise id invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"SUPPORT_TICKETS_PARTNER_ID_INVALID":{"http":422,"en":"Support tickets partner id invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"SUPPORT_TICKET_ASSIGN_FAILED":{"http":500,"en":"Support ticket assign failed","fr":"Impossible d'effectuer l'affectation."},"SUPPORT_TICKET_CREATE_FAILED":{"http":500,"en":"Support ticket create failed","fr":"Impossible de créer — ticket"},"SUPPORT_TICKET_FETCH_FAILED":{"http":500,"en":"Support ticket fetch failed","fr":"Échec de la récupération — ticket"},"SUPPORT_TICKET_FORBIDDEN":{"http":403,"en":"Support ticket forbidden","fr":"Vous n'êtes pas autorisé à effectuer cette action."},"SUPPORT_TICKET_NOT_CANCELLABLE":{"http":409,"en":"Support ticket not cancellable","fr":"Conflit : l'état actuel ne permet pas cette action."},"SUPPORT_TICKET_NOT_CLOSEABLE":{"http":409,"en":"Support ticket not closeable","fr":"Conflit : l'état actuel ne permet pas cette action."},"SUPPORT_TICKET_NOT_FOUND":{"http":404,"en":"Support ticket not found","fr":"Ticket support introuvable"},"SUPPORT_TICKET_READ_FAILED":{"http":500,"en":"Support ticket read failed","fr":"Une erreur est survenue. Réessayez plus tard."},"SUPPORT_TICKET_UPDATE_FAILED":{"http":500,"en":"Support ticket update failed","fr":"Impossible de mettre à jour le ticket."},"SYSTEM_SETTING_UPDATE_FAILED":{"http":400,"en":"System setting update failed","fr":"Impossible de mettre à jour — système paramètre"},"TARGET_PARTNER_ID_REQUIRED":{"http":400,"en":"Target partner id required","fr":"Le partenaire de destination est requis."},"TERRITORY_EXTENSION_REQUEST_FAILED":{"http":500,"en":"Territory extension request failed","fr":"Une erreur est survenue. Réessayez plus tard."},"TICKET_ACCESS_DENIED":{"http":403,"en":"Ticket access denied","fr":"Vous n'êtes pas autorisé à effectuer cette action."},"TICKET_ALREADY_ASSIGNED":{"http":409,"en":"Ticket already assigned","fr":"Conflit : l'état actuel ne permet pas cette action."},"TICKET_ESCALATED":{"http":403,"en":"Ticket escalated","fr":"Vous n'êtes pas autorisé à effectuer cette action."},"TICKET_NOT_ASSIGNED":{"http":409,"en":"Ticket not assigned","fr":"Conflit : l'état actuel ne permet pas cette action."},"TICKET_NOT_AT_FRANCHISE_TIER":{"http":403,"en":"Ticket not at franchise tier","fr":"Vous n'êtes pas autorisé à effectuer cette action."},"TICKET_NOT_FOUND":{"http":404,"en":"Ticket not found","fr":"Ticket introuvable."},"TICKET_TERMINAL":{"http":409,"en":"Ticket terminal","fr":"Conflit : l'état actuel ne permet pas cette action."},"TIP_ALREADY_EXISTS":{"http":409,"en":"Tip already exists","fr":"Un pourboire a déjà été enregistré."},"TIP_AMOUNT_INVALID":{"http":400,"en":"Tip amount invalid","fr":"Montant du pourboire invalide."},"TIP_CREATE_FAILED":{"http":500,"en":"Tip create failed","fr":"Impossible de créer le pourboire."},"TIP_NOT_AVAILABLE":{"http":503,"en":"Tip not available","fr":"Cet élément n'est pas disponible."},"TIP_NO_DRIVER":{"http":400,"en":"Tip no driver","fr":"Aucun chauffeur à qui laisser un pourboire."},"TOLL_GATES_FETCH_FAILED":{"http":500,"en":"Toll gates fetch failed","fr":"Impossible de charger le péage."},"TOLL_GATE_CREATE_FAILED":{"http":400,"en":"Toll gate create failed","fr":"Impossible de créer le poste de péage."},"TOLL_GATE_GEOMETRY_FAILED":{"http":500,"en":"Toll gate geometry failed","fr":"Une erreur est survenue. Réessayez plus tard."},"TOLL_GATE_INVALID":{"http":400,"en":"Toll gate invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"TOLL_GATE_UPDATE_FAILED":{"http":400,"en":"Toll gate update failed","fr":"Impossible de mettre à jour le poste de péage."},"TOLL_TARIFFS_CLOSE_FAILED":{"http":400,"en":"Toll tariffs close failed","fr":"Impossible de clôturer pour le moment."},"TOLL_TARIFFS_INSERT_FAILED":{"http":400,"en":"Toll tariffs insert failed","fr":"Impossible de créer les tarifs."},"TOLL_TARIFFS_INVALID":{"http":400,"en":"Toll tariffs invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"TOO_MANY_DROPS":{"http":400,"en":"Too many drops","fr":"Requête invalide. Vérifiez les informations saisies."},"TOO_MANY_STOPS":{"http":400,"en":"Too many stops","fr":"Trop d'arrêts pour cet itinéraire."},"TRAINING_MODULES_FETCH_FAILED":{"http":500,"en":"Training modules fetch failed","fr":"Échec de la récupération — formation modules"},"TRAINING_MODULE_FIELDS_REQUIRED":{"http":400,"en":"Training module fields required","fr":"Une information obligatoire est manquante."},"TRAINING_MODULE_UPSERT_FAILED":{"http":400,"en":"Training module upsert failed","fr":"Impossible d'enregistrer les modifications."},"TRAINING_PROGRESS_COMPLETE_FAILED":{"http":500,"en":"Training progress complete failed","fr":"Impossible de terminer la progression — formation"},"TRAINING_PROGRESS_CREATE_FAILED":{"http":500,"en":"Training progress create failed","fr":"Impossible de créer — formation progression"},"TRAINING_PROGRESS_FETCH_FAILED":{"http":500,"en":"Training progress fetch failed","fr":"Échec de la récupération — formation progression"},"TRAINING_PROGRESS_UPDATE_FAILED":{"http":500,"en":"Training progress update failed","fr":"Impossible de mettre à jour — formation progression"},"TRANSACTION_NOT_FOUND":{"http":404,"en":"Transaction not found","fr":"Transaction introuvable."},"TRANSITION_LOGS_FETCH_FAILED":{"http":500,"en":"Transition logs fetch failed","fr":"Impossible de charger les données."},"TRIP_FETCH_FAILED":{"http":500,"en":"Trip fetch failed","fr":"Impossible de charger le trajet."},"TRIP_NOT_FOUND":{"http":404,"en":"Trip not found","fr":"Trajet introuvable."},"TRUSTED_CONTACTS_FETCH_FAILED":{"http":500,"en":"Trusted contacts fetch failed","fr":"Impossible de charger les contacts."},"TRUSTED_CONTACT_CREATE_FAILED":{"http":400,"en":"Trusted contact create failed","fr":"Impossible de créer le contact."},"TRUSTED_CONTACT_DELETE_FAILED":{"http":400,"en":"Trusted contact delete failed","fr":"Impossible de supprimer le contact."},"TRUSTED_CONTACT_NAME_REQUIRED":{"http":400,"en":"Trusted contact name required","fr":"Une information obligatoire est manquante."},"TRUSTED_CONTACT_PHONE_REQUIRED":{"http":400,"en":"Trusted contact phone required","fr":"Une information obligatoire est manquante."},"UPLOAD_ACCESS_CHECK_FAILED":{"http":500,"en":"Upload access check failed","fr":"Vos droits sur ce document n'ont pas pu être vérifiés. Réessayez."},"UPLOAD_BUCKET_CREATE_FAILED":{"http":500,"en":"Upload bucket create failed","fr":"Impossible de créer — téléversement espace de stockage"},"UPLOAD_BUCKET_UNKNOWN":{"http":400,"en":"Upload bucket unknown","fr":"Espace de stockage inconnu."},"UPLOAD_DELETE_FAILED":{"http":500,"en":"Upload delete failed","fr":"Impossible de supprimer — téléversement"},"UPLOAD_DOCUMENT_TYPE_REQUIRED":{"http":400,"en":"Upload document type required","fr":"Une information obligatoire est manquante."},"UPLOAD_FILE_REQUIRED":{"http":422,"en":"A `file` field is required","fr":"Aucun fichier reçu (champ « file » requis)."},"UPLOAD_FORBIDDEN":{"http":403,"en":"Upload forbidden","fr":"Vous n'êtes pas autorisé à envoyer ce fichier."},"UPLOAD_ID_INVALID":{"http":400,"en":"Invalid upload id","fr":"Identifiant de téléversement invalide"},"UPLOAD_METADATA_FAILED":{"http":500,"en":"Upload metadata failed","fr":"Échec des métadonnées — téléversement"},"UPLOAD_PATH_REQUIRED":{"http":400,"en":"id or path is required","fr":"L'identifiant ou le chemin est requis"},"UPLOAD_REFERENCE_INVALID":{"http":400,"en":"Upload reference invalid","fr":"Référence de fichier invalide."},"UPLOAD_SIGNED_URL_FAILED":{"http":500,"en":"Upload signed url failed","fr":"Impossible de créer l'URL signée — téléversement"},"UPLOAD_SUBJECT_FORBIDDEN":{"http":403,"en":"Upload subject forbidden","fr":"Vous n'êtes pas autorisé à effectuer cette action."},"UPLOAD_SUBJECT_INVALID":{"http":400,"en":"Upload subject invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"UPLOAD_SUBJECT_NOT_FOUND":{"http":404,"en":"Upload subject not found","fr":"Ressource introuvable."},"UPLOAD_VERIFY_FAILED":{"http":500,"en":"Upload verify failed","fr":"Échec de la vérification — téléversement"},"USER_ID_REQUIRED":{"http":400,"en":"User id required","fr":"Une information obligatoire est manquante."},"USER_NOT_FOUND":{"http":404,"en":"User not found","fr":"Utilisateur introuvable."},"USER_ROLES_FETCH_FAILED":{"http":500,"en":"User roles fetch failed","fr":"Échec de la récupération — utilisateur rôles"},"USER_ROLE_ASSIGN_FAILED":{"http":400,"en":"User role assign failed","fr":"Impossible d'attribuer — utilisateur rôle"},"USER_ROLE_FETCH_FAILED":{"http":500,"en":"User role fetch failed","fr":"Impossible de charger le rôle."},"USER_ROLE_REVOKE_FAILED":{"http":400,"en":"User role revoke failed","fr":"Impossible de révoquer — utilisateur rôle"},"VALIDATION_ERROR":{"http":400,"en":"Validation error","fr":"Certaines informations sont invalides ou manquantes."},"VEHICLES_FETCH_FAILED":{"http":500,"en":"Vehicles fetch failed","fr":"Échec de la récupération — véhicules"},"VEHICLE_APPROVE_FAILED":{"http":500,"en":"Vehicle approve failed","fr":"Impossible d'approuver pour le moment."},"VEHICLE_ASSIGNMENT_FAILED":{"http":400,"en":"Unable to assign vehicle","fr":"Échec — attribution"},"VEHICLE_AVAILABILITY_FAILED":{"http":400,"en":"Vehicle availability failed","fr":"Échec — disponibilité"},"VEHICLE_BRAND_FETCH_FAILED":{"http":500,"en":"Vehicle brand fetch failed","fr":"Impossible de charger le véhicule."},"VEHICLE_BRAND_REQUIRED":{"http":400,"en":"Vehicle brand required","fr":"Une information obligatoire est manquante."},"VEHICLE_CAPACITY_FETCH_FAILED":{"http":500,"en":"Vehicle capacity fetch failed","fr":"Impossible de charger le véhicule."},"VEHICLE_CATALOG_FETCH_FAILED":{"http":500,"en":"Vehicle catalog fetch failed","fr":"Impossible de charger le véhicule."},"VEHICLE_CATEGORIES_FETCH_FAILED":{"http":500,"en":"Vehicle categories fetch failed","fr":"Impossible de charger le véhicule."},"VEHICLE_CATEGORY_INELIGIBLE":{"http":403,"en":"Vehicle category not eligible for the ride activity (a car is required)","fr":"Un véhicule de type voiture est requis pour l'activité Taxi/Course."},"VEHICLE_CATEGORY_UPGRADE_FORBIDDEN":{"http":403,"en":"Cannot upgrade your vehicle to a higher category","fr":"Vous ne pouvez pas faire monter votre véhicule en gamme supérieure. Contactez le support."},"VEHICLE_CREATE_FAILED":{"http":400,"en":"Vehicle create failed","fr":"Impossible de créer — véhicule"},"VEHICLE_DATA_INCOMPLETE":{"http":500,"en":"Vehicle data incomplete","fr":"Une erreur interne est survenue. Réessayez plus tard."},"VEHICLE_DELETE_FAILED":{"http":400,"en":"Vehicle delete failed","fr":"Impossible de supprimer le véhicule."},"VEHICLE_FETCH_FAILED":{"http":500,"en":"Vehicle fetch failed","fr":"Échec de la récupération — véhicule"},"VEHICLE_MODEL_BRAND_MISMATCH":{"http":400,"en":"Model does not belong to brand ${brand.code}","fr":"Le modèle n'appartient pas à la marque ${brand.code}"},"VEHICLE_MODEL_INVALID":{"http":400,"en":"Vehicle model not found or inactive","fr":"Modèle de véhicule introuvable ou inactif"},"VEHICLE_MODEL_REQUIRED":{"http":400,"en":"Vehicle model required","fr":"Une information obligatoire est manquante."},"VEHICLE_NOT_FOUND":{"http":404,"en":"Vehicle not found","fr":"Véhicule introuvable"},"VEHICLE_PLATE_REQUIRED":{"http":400,"en":"Vehicle plate required","fr":"Une information obligatoire est manquante."},"VEHICLE_PLATE_TAKEN":{"http":409,"en":"Vehicle plate taken","fr":"Conflit : l'état actuel ne permet pas cette action."},"VEHICLE_REJECT_FAILED":{"http":500,"en":"Vehicle reject failed","fr":"Impossible de rejeter pour le moment."},"VEHICLE_REQUIRED":{"http":400,"en":"Vehicle required","fr":"Une information obligatoire est manquante."},"VEHICLE_TYPES_FETCH_FAILED":{"http":500,"en":"Vehicle types fetch failed","fr":"Impossible de charger le véhicule."},"VEHICLE_UPDATE_FAILED":{"http":400,"en":"Unable to update vehicle","fr":"Impossible de mettre à jour — véhicule"},"WALLET_BALANCE_UPDATE_FAILED":{"http":400,"en":"Wallet balance update failed","fr":"Impossible de mettre à jour — solde"},"WALLET_BUCKET_UPDATE_FAILED":{"http":400,"en":"Wallet bucket update failed","fr":"Impossible de mettre à jour le portefeuille."},"WALLET_CASCADE_DEBIT_FAILED":{"http":400,"en":"Wallet cascade debit failed","fr":"Échec de l'opération sur le portefeuille."},"WALLET_FETCH_FAILED":{"http":500,"en":"Wallet fetch failed","fr":"Impossible de charger le portefeuille."},"WALLET_INSUFFICIENT_FOR_CANCELLATION_FEE":{"http":402,"en":"Wallet insufficient for cancellation fee","fr":"Une erreur interne est survenue. Réessayez plus tard."},"WALLET_LEDGER_FETCH_FAILED":{"http":500,"en":"Wallet ledger fetch failed","fr":"Impossible de charger le journal comptable."},"WALLET_NOT_FOUND":{"http":404,"en":"Wallet not found","fr":"Portefeuille introuvable."},"WALLET_RECHARGE_COMPLETE_FAILED":{"http":500,"en":"Wallet recharge complete failed","fr":"Une erreur est survenue. Réessayez plus tard."},"WALLET_RECHARGE_FAILED":{"http":400,"en":"Unable to create recharge","fr":"Échec — recharge"},"WALLET_RECHARGE_NOT_FOUND":{"http":500,"en":"Wallet recharge not found","fr":"Portefeuille introuvable."},"WALLET_UPSERT_FAILED":{"http":400,"en":"Wallet upsert failed","fr":"Impossible de créer le portefeuille"},"WEATHER_CITIES_FETCH_FAILED":{"http":500,"en":"Weather cities fetch failed","fr":"Échec de la récupération des villes météo"},"WEATHER_CITY_AVAILABILITY_FAILED":{"http":500,"en":"Weather city availability fetch failed","fr":"Échec de la récupération de la disponibilité ville météo"},"WEATHER_CONFIG_FETCH_FAILED":{"http":500,"en":"Weather config fetch failed","fr":"Échec de la récupération de la configuration météo"},"WEATHER_CONFIG_UPDATE_FAILED":{"http":500,"en":"Weather config update failed","fr":"Impossible d'enregistrer les modifications."},"WEATHER_CONFIG_UPSERT_FAILED":{"http":400,"en":"Weather config upsert failed","fr":"Impossible d'enregistrer la configuration météo"},"WEATHER_SERVICE_TYPES_FAILED":{"http":500,"en":"Weather service types fetch failed","fr":"Échec de la récupération des types de service météo"},"WEATHER_ZONES_FETCH_FAILED":{"http":500,"en":"Weather zones fetch failed","fr":"Échec de la récupération des zones météo"},"WEBHOOK_UNAUTHORIZED":{"http":401,"en":"Webhook unauthorized","fr":"Signature de webhook invalide ou absente."},"WELCOME_CONSUMPTION_FETCH_FAILED":{"http":500,"en":"Welcome consumption fetch failed","fr":"Impossible de charger les données."},"WELCOME_CONSUMPTION_SAVE_FAILED":{"http":500,"en":"Welcome consumption save failed","fr":"Impossible d'enregistrer."},"WELCOME_CREDIT_FETCH_FAILED":{"http":500,"en":"Welcome credit fetch failed","fr":"Impossible de charger les données."},"WELCOME_CREDIT_SAVE_FAILED":{"http":500,"en":"Welcome credit save failed","fr":"Impossible d'enregistrer."},"WITHDRAWALS_FETCH_FAILED":{"http":500,"en":"Withdrawals fetch failed","fr":"Échec de la récupération — retraits"},"WITHDRAWAL_ALREADY_PAID":{"http":409,"en":"Withdrawal already paid","fr":"Conflit : l'état actuel ne permet pas cette action."},"WITHDRAWAL_AMOUNT_TOO_LOW":{"http":400,"en":"Withdrawal amount too low","fr":"Requête invalide. Vérifiez les informations saisies."},"WITHDRAWAL_APPROVE_FAILED":{"http":500,"en":"Withdrawal approve failed","fr":"Impossible d'approuver pour le moment."},"WITHDRAWAL_CAPS_UPDATE_FAILED":{"http":500,"en":"Withdrawal caps update failed","fr":"Impossible de mettre à jour le retrait."},"WITHDRAWAL_CAP_CHECK_FAILED":{"http":500,"en":"Withdrawal cap check failed","fr":"Une erreur est survenue. Réessayez plus tard."},"WITHDRAWAL_CREATE_FAILED":{"http":400,"en":"Withdrawal create failed","fr":"Impossible de créer le retrait"},"WITHDRAWAL_DAILY_CAP_EXCEEDED":{"http":400,"en":"Withdrawal daily cap exceeded","fr":"Requête invalide. Vérifiez les informations saisies."},"WITHDRAWAL_DAILY_LIMIT_EXCEEDED":{"http":422,"en":"Withdrawal daily limit exceeded","fr":"Certaines informations sont invalides ou manquantes."},"WITHDRAWAL_DESTINATION_INVALID":{"http":400,"en":"Withdrawal destination invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"WITHDRAWAL_DESTINATION_REQUIRED":{"http":400,"en":"Withdrawal destination required","fr":"Une information obligatoire est manquante."},"WITHDRAWAL_DESTINATION_UPDATE_FAILED":{"http":500,"en":"Withdrawal destination update failed","fr":"Impossible de mettre à jour le retrait."},"WITHDRAWAL_INSUFFICIENT_BALANCE":{"http":400,"en":"Withdrawal insufficient balance","fr":"Requête invalide. Vérifiez les informations saisies."},"WITHDRAWAL_NOT_ELIGIBLE":{"http":403,"en":"Withdrawal not eligible","fr":"Ce retrait n'est pas éligible."},"WITHDRAWAL_NOT_FOUND":{"http":404,"en":"Withdrawal not found","fr":"Retrait introuvable."},"WITHDRAWAL_NOT_PENDING":{"http":409,"en":"Withdrawal not pending","fr":"Ce retrait n'est plus en attente."},"WITHDRAWAL_NOT_REJECTABLE":{"http":409,"en":"Withdrawal not rejectable","fr":"Conflit : l'état actuel ne permet pas cette action."},"WITHDRAWAL_PENDING_CHECK_FAILED":{"http":500,"en":"Withdrawal pending check failed","fr":"Une erreur est survenue. Réessayez plus tard."},"WITHDRAWAL_PROCESSING":{"http":409,"en":"Withdrawal processing","fr":"Conflit : l'état actuel ne permet pas cette action."},"WITHDRAWAL_REJECT_FAILED":{"http":500,"en":"Withdrawal reject failed","fr":"Impossible de rejeter pour le moment."},"ZONES_FETCH_FAILED":{"http":500,"en":"Zones fetch failed","fr":"Échec de la récupération — zones"},"ZONE_CREATE_FAILED":{"http":400,"en":"Zone create failed","fr":"Impossible de créer la zone."},"ZONE_DELETE_FAILED":{"http":400,"en":"Zone delete failed","fr":"Impossible de supprimer la zone."},"ZONE_DELIVERY_DEMAND_FAILED":{"http":500,"en":"Zone delivery demand failed","fr":"Échec — zone demande"},"ZONE_FETCH_FAILED":{"http":500,"en":"Zone fetch failed","fr":"Échec de la récupération — zone"},"ZONE_FILTER_CONFLICT":{"http":400,"en":"Zone filter conflict","fr":"Filtre de zone en conflit."},"ZONE_FILTER_MODE_UNSUPPORTED":{"http":400,"en":"Zone filter mode unsupported","fr":"Mode de filtre de zone non pris en charge."},"ZONE_FILTER_ZONE_REQUIRED":{"http":400,"en":"Zone filter zone required","fr":"Une zone est requise pour ce filtre."},"ZONE_IDS_REQUIRED":{"http":400,"en":"Zone ids required","fr":"Au moins une zone est requise."},"ZONE_LABEL_REQUIRED":{"http":400,"en":"Zone label required","fr":"Le libellé de la zone est requis."},"ZONE_MODE_ENABLED_REQUIRED":{"http":422,"en":"Zone mode enabled required","fr":"Une information obligatoire est manquante."},"ZONE_MODE_RATE_OUT_OF_RANGE":{"http":422,"en":"Zone mode rate out of range","fr":"Certaines informations sont invalides ou manquantes."},"ZONE_MODE_SURCHARGE_UPDATE_FAILED":{"http":500,"en":"Zone mode surcharge update failed","fr":"Impossible de mettre à jour la zone."},"ZONE_NOT_FOUND":{"http":[400,404],"en":"Zone not found","fr":"Zone introuvable"},"ZONE_NOT_IN_CITY":{"http":400,"en":"Zone not in city","fr":"Cette zone n'appartient pas à la ville sélectionnée."},"ZONE_PATCH_EMPTY":{"http":400,"en":"Zone patch empty","fr":"Aucune modification fournie."},"ZONE_RIDE_DEMAND_FAILED":{"http":500,"en":"Zone ride demand failed","fr":"Échec — zone demande"},"ZONE_SERVICE_TYPE_INVALID":{"http":400,"en":"Zone service type invalid","fr":"Donnée invalide. Vérifiez votre saisie."},"ZONE_UPDATE_FAILED":{"http":400,"en":"Zone update failed","fr":"Impossible de mettre à jour la zone."},"wallet_overdrawn":{"http":402,"en":"Wallet overdrawn","fr":"Solde de votre compte négatif. Rechargez votre wallet pour confirmer la réservation."}}}