feat: add employee email verification on signup
Build & Deploy / Build & Push Docker Image (push) Failing after 41s
Build & Deploy / Deploy to VPS (push) Has been skipped
Test / API Unit Tests (push) Failing after 5m1s
Test / Marketplace Unit Tests (push) Successful in 9m36s
Test / Admin Unit Tests (push) Successful in 9m38s
Test / Dashboard Unit Tests (push) Successful in 9m37s
Test / API Integration Tests (push) Has been cancelled
Build & Deploy / Build & Push Docker Image (push) Failing after 41s
Build & Deploy / Deploy to VPS (push) Has been skipped
Test / API Unit Tests (push) Failing after 5m1s
Test / Marketplace Unit Tests (push) Successful in 9m36s
Test / Admin Unit Tests (push) Successful in 9m38s
Test / Dashboard Unit Tests (push) Successful in 9m37s
Test / API Integration Tests (push) Has been cancelled
- Signup sends verification email instead of auto-login; login blocks unverified emails - New endpoints: POST /verify-email and POST /resend-verification - New verify-email page in dashboard with token-based email confirmation - DB migration adds emailVerified and emailVerificationToken fields to Employee - Update sign-in/sign-up/reset-password flows to handle verification states - Minor UI polish across dashboard and marketplace components - Refactor marketplace-homepage types
This commit is contained in:
@@ -97,298 +97,298 @@ export const defaultMarketplaceHomepageSections: MarketplaceHomepageSectionType[
|
||||
export const defaultMarketplaceHomepageContent: MarketplaceHomepageConfig = {
|
||||
en: {
|
||||
sections: defaultMarketplaceHomepageSections,
|
||||
heroKicker: 'RentalDriveGo',
|
||||
heroTitle: 'Marketplace discovery with a sharper front door.',
|
||||
heroKicker: 'FleetOS',
|
||||
heroTitle: 'The operating system for modern fleet management.',
|
||||
heroBody:
|
||||
'Rental companies run private operations, renters browse a shared marketplace, and every booking ends on the company’s own branded checkout.',
|
||||
'Run your entire rental operation from one platform — inventory, bookings, payments, and customer experience, all under your own brand.',
|
||||
startTrial: 'Start free trial',
|
||||
exploreVehicles: 'Explore vehicles',
|
||||
surfaceLabel: 'Marketplace surface',
|
||||
surfaceTitle: 'Designed for two audiences at once.',
|
||||
surfaceLabel: 'Unified dashboard',
|
||||
surfaceTitle: 'One platform. Every operation.',
|
||||
surfaceBody:
|
||||
'Operators need control, renters need confidence. The marketplace should show both without feeling like a template.',
|
||||
liveLabel: 'Live network',
|
||||
trustedFleets: 'Trusted fleets',
|
||||
brandedFlows: 'Branded booking flows',
|
||||
multiTenant: 'Multi-tenant operations',
|
||||
companyKicker: 'Operator workflow',
|
||||
companyTitle: 'Manage inventory, offers, billing, and staff from one control layer.',
|
||||
'Fleet operators need power, renters need simplicity. FleetOS delivers both without compromise — no templates, no generic workflows.',
|
||||
liveLabel: 'Live platform',
|
||||
trustedFleets: 'Real-time fleet control',
|
||||
brandedFlows: 'White-label booking engine',
|
||||
multiTenant: 'Multi-company architecture',
|
||||
companyKicker: 'Operator command center',
|
||||
companyTitle: 'Manage inventory, pricing, contracts, and team from a single pane of glass.',
|
||||
companyBody:
|
||||
'Publish inventory once, decide what appears publicly, and keep contracts, payments, and reporting isolated per company.',
|
||||
renterKicker: 'Renter experience',
|
||||
renterTitle: 'Let renters compare quickly, then hand them off to the right company site.',
|
||||
"Publish once, control visibility per channel, and keep every company's data, payments, and reporting fully isolated.",
|
||||
renterKicker: 'Customer experience',
|
||||
renterTitle: 'Give renters a fast, transparent booking journey that ends on your branded checkout.',
|
||||
renterBody:
|
||||
'The marketplace works as a discovery engine, not a dead-end aggregator. Search here, reserve there, and pay direct.',
|
||||
'FleetOS powers discovery and conversion — not a walled garden. Browse here, book there, and pay directly to the fleet owner.',
|
||||
pillars: [
|
||||
['Unified publishing', 'Vehicle photos, pricing, and offers flow from one admin workflow into marketplace discovery and branded booking pages.'],
|
||||
['Qualified discovery', 'Featured offers, location-aware browsing, and company reputation signals help renters narrow options fast.'],
|
||||
['Direct revenue path', 'Bookings move into the company’s own payment flow, so customer ownership and cash collection stay with the business.'],
|
||||
['Unified command', 'Vehicle inventory, dynamic pricing, and promotional offers flow from one admin hub into marketplace discovery and your own branded storefront.'],
|
||||
['Smart discovery', 'Location-aware search, reputation scoring, and AI-curated listings help renters find the right vehicle in seconds.'],
|
||||
['Direct revenue', 'Every booking routes through your own payment gateway — you own the customer relationship and the cash flow.'],
|
||||
].map(([title, body]) => ({ title: title!, body: body! })),
|
||||
metrics: [
|
||||
['01', 'Shared marketplace visibility'],
|
||||
['02', 'Direct company checkout'],
|
||||
['03', 'Company-owned payments'],
|
||||
['01', 'Multi-tenant fleet operations'],
|
||||
['02', 'White-label booking experience'],
|
||||
['03', 'Direct-to-owner payments'],
|
||||
].map(([value, label]) => ({ value: value!, label: label! })),
|
||||
featureLabel: 'What the product covers',
|
||||
featureLabel: 'What FleetOS covers',
|
||||
features: [
|
||||
'Fleet management with multi-photo uploads',
|
||||
'Marketplace offers and redirect booking flow',
|
||||
'Branded public booking site per company',
|
||||
'Customer CRM, analytics, and billing controls',
|
||||
'Fleet inventory with multi-photo uploads and condition tracking',
|
||||
'Dynamic pricing engine with seasonal and promotional rules',
|
||||
'White-label booking site per fleet operator',
|
||||
'Customer CRM, real-time analytics, and automated billing',
|
||||
],
|
||||
howitworksKicker: 'GETTING STARTED',
|
||||
howitworksTitle: 'How It Works',
|
||||
howitworksSteps: [
|
||||
{
|
||||
number: '1',
|
||||
title: 'Create Account',
|
||||
description: 'Sign up for your company workspace and choose your pricing plan for the 90-day free trial.',
|
||||
title: 'Create Your Workspace',
|
||||
description: 'Sign up and launch your fleet workspace with a 90-day free trial — no credit card required.',
|
||||
},
|
||||
{
|
||||
number: '2',
|
||||
title: 'Add Your Fleet',
|
||||
description: 'Upload vehicle photos, set prices, and create offers visible on the marketplace.',
|
||||
title: 'Onboard Your Fleet',
|
||||
description: 'Upload vehicles, configure pricing, and publish offers that appear on the marketplace instantly.',
|
||||
},
|
||||
{
|
||||
number: '3',
|
||||
title: 'Start Selling',
|
||||
description: 'Renters discover your fleet, and bookings flow directly to your branded checkout.',
|
||||
title: 'Go Live',
|
||||
description: 'Customers discover your fleet, book through your branded site, and payments land directly in your account.',
|
||||
},
|
||||
],
|
||||
stepsTitle: 'How companies launch',
|
||||
stepsTitle: 'How fleets launch on FleetOS',
|
||||
steps: [
|
||||
['1', 'Create your company workspace', 'Pick a plan, launch your 90-day trial, and verify the owner account.'],
|
||||
['2', 'Publish vehicles and offers', 'Upload photos once and control what appears on the marketplace and branded site.'],
|
||||
['3', 'Accept bookings on your own site', 'Renters discover your fleet on RentalDriveGo, then pay you directly on your branded booking flow.'],
|
||||
['1', 'Create your fleet workspace', 'Choose a plan, start your 90-day trial, and verify your operator account.'],
|
||||
['2', 'Publish vehicles and offers', 'Upload vehicle data once and control exactly what appears on every channel.'],
|
||||
['3', 'Accept bookings on your terms', 'Customers discover your fleet on FleetOS, then complete the booking on your own branded checkout.'],
|
||||
].map(([step, title, body]) => ({ step: step!, title: title!, body: body! })),
|
||||
stepLabel: 'Step',
|
||||
testimonialsKicker: 'CUSTOMER STORIES',
|
||||
testimonialsTitle: 'Trusted by rental companies worldwide',
|
||||
testimonialsTitle: 'Trusted by fleet operators worldwide',
|
||||
testimonials: [
|
||||
{
|
||||
quote:
|
||||
'RentalDriveGo transformed how we manage our fleet and reach customers. The marketplace visibility has doubled our bookings.',
|
||||
'FleetOS transformed how we manage our 200+ vehicle fleet. The unified dashboard cut our admin time by half and our bookings doubled in three months.',
|
||||
author: 'Sarah Johnson',
|
||||
role: 'Fleet Manager',
|
||||
role: 'Fleet Director',
|
||||
company: 'Premium Auto Rentals',
|
||||
},
|
||||
{
|
||||
quote:
|
||||
'The two-sided platform gives us control over our operations while renters get a seamless experience. Perfect balance.',
|
||||
'The white-label booking engine is a game-changer. Our customers never leave our brand experience, yet we get marketplace-level visibility.',
|
||||
author: 'Ahmed Hassan',
|
||||
role: 'Operations Director',
|
||||
company: 'Desert Wheels',
|
||||
},
|
||||
{
|
||||
quote:
|
||||
'We appreciated how easy it was to set up our branded booking flow. Our customers love the direct payment experience.',
|
||||
'We evaluated six platforms before FleetOS. The multi-tenant architecture and direct payment model made it the obvious choice for our growing operation.',
|
||||
author: 'Marie Dubois',
|
||||
role: 'Owner',
|
||||
role: 'CEO',
|
||||
company: 'Provence Car Hire',
|
||||
},
|
||||
],
|
||||
readyKicker: 'Ready to launch',
|
||||
readyTitle: 'The marketplace homepage should explain the product in seconds.',
|
||||
readyTitle: 'Your fleet deserves an operating system, not just a listing site.',
|
||||
readyBody:
|
||||
'Use the marketplace to attract demand, then move renters into a branded experience that keeps pricing, payments, and trust tied to your company.',
|
||||
'FleetOS gives you the tools to run your entire rental business — from inventory to invoicing — while keeping your brand front and center at every touchpoint.',
|
||||
viewPricing: 'View pricing',
|
||||
createWorkspace: 'Create workspace',
|
||||
},
|
||||
fr: {
|
||||
sections: defaultMarketplaceHomepageSections,
|
||||
heroKicker: 'RentalDriveGo',
|
||||
heroTitle: 'Une vitrine marketplace plus claire et plus percutante.',
|
||||
heroKicker: 'FleetOS',
|
||||
heroTitle: "Le système d'exploitation pour la gestion de flotte moderne.",
|
||||
heroBody:
|
||||
"Les entreprises de location gèrent leurs opérations en privé, les clients parcourent une marketplace commune et chaque réservation se finalise sur le parcours de paiement aux couleurs de l'entreprise.",
|
||||
startTrial: 'Commencer l’essai gratuit',
|
||||
"Gérez l'ensemble de votre activité de location depuis une seule plateforme — inventaire, réservations, paiements et expérience client, le tout sous votre propre marque.",
|
||||
startTrial: "Commencer l'essai gratuit",
|
||||
exploreVehicles: 'Explorer les véhicules',
|
||||
surfaceLabel: 'Vitrine marketplace',
|
||||
surfaceTitle: 'Pensée pour deux audiences à la fois.',
|
||||
surfaceLabel: 'Tableau de bord unifié',
|
||||
surfaceTitle: 'Une plateforme. Toutes les opérations.',
|
||||
surfaceBody:
|
||||
'Les opérateurs veulent du contrôle, les clients veulent de la confiance. La marketplace doit montrer les deux sans ressembler à un modèle générique.',
|
||||
liveLabel: 'Réseau actif',
|
||||
trustedFleets: 'Flottes fiables',
|
||||
brandedFlows: 'Parcours de marque',
|
||||
multiTenant: 'Opérations multi-tenant',
|
||||
companyKicker: 'Flux opérateur',
|
||||
companyTitle: 'Pilotez l’inventaire, les offres, la facturation et l’équipe depuis un seul centre de contrôle.',
|
||||
'Les opérateurs de flotte ont besoin de puissance, les clients ont besoin de simplicité. FleetOS offre les deux sans compromis — aucun modèle générique.',
|
||||
liveLabel: 'Plateforme active',
|
||||
trustedFleets: 'Contrôle de flotte en temps réel',
|
||||
brandedFlows: 'Moteur de réservation en marque blanche',
|
||||
multiTenant: 'Architecture multi-entreprise',
|
||||
companyKicker: 'Centre de commande opérateur',
|
||||
companyTitle: "Gérez l'inventaire, les tarifs, les contrats et l'équipe depuis une interface unique.",
|
||||
companyBody:
|
||||
'Publiez une seule fois, choisissez ce qui apparaît publiquement, et gardez contrats, paiements et rapports isolés par entreprise.',
|
||||
'Publiez une seule fois, contrôlez la visibilité par canal et gardez les données, les paiements et les rapports de chaque entreprise totalement isolés.',
|
||||
renterKicker: 'Expérience client',
|
||||
renterTitle: 'Laissez les clients comparer rapidement, puis redirigez-les vers le bon site d’entreprise.',
|
||||
renterTitle: 'Offrez aux clients un parcours de réservation rapide et transparent qui se termine sur votre page de marque.',
|
||||
renterBody:
|
||||
'La marketplace sert de moteur de découverte, pas d’agrégateur sans suite. Recherche ici, réservation là-bas, paiement direct.',
|
||||
'FleetOS alimente la découverte et la conversion — pas un jardin fermé. Parcourez ici, réservez là-bas et payez directement au propriétaire de la flotte.',
|
||||
pillars: [
|
||||
['Publication unifiée', 'Les photos, tarifs et offres circulent depuis un seul flux d’administration vers la découverte marketplace et les pages de réservation de marque.'],
|
||||
['Découverte qualifiée', 'Offres mises en avant, navigation par localisation et signaux de réputation aident les clients à filtrer rapidement.'],
|
||||
['Revenus en direct', 'Les réservations basculent vers le paiement propre à l’entreprise afin de préserver la relation client et l’encaissement.'],
|
||||
["Commande unifiée", "L'inventaire, la tarification dynamique et les offres promotionnelles circulent depuis un hub d'administration unique vers la marketplace et votre vitrine de marque."],
|
||||
['Découverte intelligente', 'Recherche géolocalisée, score de réputation et annonces optimisées aident les clients à trouver le bon véhicule en quelques secondes.'],
|
||||
['Revenus directs', 'Chaque réservation passe par votre propre passerelle de paiement — vous gardez la relation client et la trésorerie.'],
|
||||
].map(([title, body]) => ({ title: title!, body: body! })),
|
||||
metrics: [
|
||||
['01', 'Visibilité marketplace partagée'],
|
||||
['02', 'Paiement direct entreprise'],
|
||||
['03', 'Paiements gérés par l’entreprise'],
|
||||
['01', 'Opérations de flotte multi-tenant'],
|
||||
['02', 'Expérience de réservation en marque blanche'],
|
||||
['03', 'Paiements directs au propriétaire'],
|
||||
].map(([value, label]) => ({ value: value!, label: label! })),
|
||||
featureLabel: 'Ce que couvre le produit',
|
||||
featureLabel: 'Ce que FleetOS couvre',
|
||||
features: [
|
||||
'Gestion de flotte avec téléversement de plusieurs photos',
|
||||
'Offres marketplace et redirection vers la réservation',
|
||||
'Site public de réservation par entreprise',
|
||||
'CRM client, analytics et contrôle de facturation',
|
||||
"Inventaire de flotte avec photos multiples et suivi d'état",
|
||||
'Moteur de tarification dynamique avec règles saisonnières et promotionnelles',
|
||||
'Site de réservation en marque blanche par opérateur',
|
||||
'CRM client, analytics en temps réel et facturation automatisée',
|
||||
],
|
||||
howitworksKicker: 'MISE EN ROUTE',
|
||||
howitworksTitle: 'Comment ça marche',
|
||||
howitworksSteps: [
|
||||
{
|
||||
number: '1',
|
||||
title: 'Créer un compte',
|
||||
description: 'Inscrivez-vous à votre espace entreprise et choisissez votre forfait pour l\'essai gratuit de 90 jours.',
|
||||
title: 'Créez votre espace',
|
||||
description: 'Inscrivez-vous et lancez votre espace de flotte avec un essai gratuit de 90 jours — sans carte bancaire.',
|
||||
},
|
||||
{
|
||||
number: '2',
|
||||
title: 'Ajouter votre flotte',
|
||||
description: 'Téléversez les photos des véhicules, fixez les tarifs et créez des offres visibles sur la marketplace.',
|
||||
title: 'Intégrez votre flotte',
|
||||
description: 'Ajoutez vos véhicules, configurez les tarifs et publiez des offres visibles instantanément sur la marketplace.',
|
||||
},
|
||||
{
|
||||
number: '3',
|
||||
title: 'Commencer à vendre',
|
||||
description: 'Les clients découvrent votre flotte et les réservations arrivent directement à votre paiement de marque.',
|
||||
title: 'Passez en direct',
|
||||
description: 'Les clients découvrent votre flotte, réservent via votre site de marque et les paiements arrivent directement sur votre compte.',
|
||||
},
|
||||
],
|
||||
stepsTitle: 'Comment les entreprises démarrent',
|
||||
stepsTitle: 'Comment les flottes se lancent sur FleetOS',
|
||||
steps: [
|
||||
['1', 'Créez votre espace entreprise', 'Choisissez un plan, lancez votre essai de 90 jours et vérifiez le compte propriétaire.'],
|
||||
['2', 'Publiez véhicules et offres', 'Téléversez une seule fois et contrôlez ce qui apparaît sur la marketplace et le site de marque.'],
|
||||
['3', 'Acceptez les réservations sur votre site', 'Les clients découvrent votre flotte sur RentalDriveGo puis paient directement via votre parcours de réservation.'],
|
||||
['1', 'Créez votre espace de flotte', 'Choisissez un plan, démarrez votre essai de 90 jours et vérifiez votre compte opérateur.'],
|
||||
['2', 'Publiez véhicules et offres', 'Ajoutez vos données une seule fois et contrôlez précisément ce qui apparaît sur chaque canal.'],
|
||||
['3', 'Acceptez les réservations selon vos conditions', 'Les clients découvrent votre flotte sur FleetOS, puis finalisent sur votre propre page de réservation.'],
|
||||
].map(([step, title, body]) => ({ step: step!, title: title!, body: body! })),
|
||||
stepLabel: 'Étape',
|
||||
testimonialsKicker: 'HISTOIRES DE CLIENTS',
|
||||
testimonialsTitle: 'Approuvé par des entreprises de location du monde entier',
|
||||
testimonialsTitle: 'Approuvé par des opérateurs de flotte du monde entier',
|
||||
testimonials: [
|
||||
{
|
||||
quote:
|
||||
'RentalDriveGo a transformé la gestion de notre flotte et notre portée client. La visibilité marketplace a doublé nos réservations.',
|
||||
"FleetOS a transformé la gestion de notre flotte de plus de 200 véhicules. Le tableau de bord unifié a réduit notre temps d'administration de moitié et nos réservations ont doublé en trois mois.",
|
||||
author: 'Sophie Martin',
|
||||
role: 'Responsable de Flotte',
|
||||
role: 'Directrice de Flotte',
|
||||
company: 'Location Premium',
|
||||
},
|
||||
{
|
||||
quote:
|
||||
'La plateforme bilatérale nous donne le contrôle de nos opérations tandis que les clients bénéficient d\'une expérience transparente. L\'équilibre parfait.',
|
||||
'Le moteur de réservation en marque blanche change la donne. Nos clients ne quittent jamais notre expérience de marque, tout en bénéficiant de la visibilité marketplace.',
|
||||
author: 'Jean-Claude Barbier',
|
||||
role: 'Directeur des Opérations',
|
||||
company: 'Sahara Cars',
|
||||
},
|
||||
{
|
||||
quote:
|
||||
'Nous avons apprécié la facilité de mise en place de notre parcours de réservation personnalisé. Nos clients adorent l\'expérience de paiement direct.',
|
||||
"Nous avons évalué six plateformes avant FleetOS. L'architecture multi-tenant et le modèle de paiement direct en ont fait le choix évident pour notre croissance.",
|
||||
author: 'Isabelle Leclerc',
|
||||
role: 'Propriétaire',
|
||||
role: 'PDG',
|
||||
company: 'Provence Auto',
|
||||
},
|
||||
],
|
||||
readyKicker: 'Prêt à démarrer',
|
||||
readyTitle: 'La page d’accueil marketplace doit présenter le produit en quelques secondes.',
|
||||
readyKicker: 'Prêt à vous lancer',
|
||||
readyTitle: "Votre flotte mérite un système d'exploitation, pas juste un site d'annonces.",
|
||||
readyBody:
|
||||
'Utilisez la marketplace pour capter la demande, puis orientez les clients vers une expérience de marque où les prix, les paiements et la confiance restent attachés à votre entreprise.',
|
||||
"FleetOS vous donne les outils pour gérer l'ensemble de votre activité de location — de l'inventaire à la facturation — tout en gardant votre marque au premier plan à chaque point de contact.",
|
||||
viewPricing: 'Voir les tarifs',
|
||||
createWorkspace: 'Créer l’espace',
|
||||
createWorkspace: "Créer l'espace",
|
||||
},
|
||||
ar: {
|
||||
sections: defaultMarketplaceHomepageSections,
|
||||
heroKicker: 'RentalDriveGo',
|
||||
heroTitle: 'واجهة سوق أكثر وضوحاً وتأثيراً.',
|
||||
heroKicker: 'FleetOS',
|
||||
heroTitle: 'نظام التشغيل لإدارة الأساطيل الحديثة.',
|
||||
heroBody:
|
||||
'شركات التأجير تدير عملياتها بشكل خاص، والمستأجرون يتصفحون سوقاً مشتركاً، وكل حجز ينتهي في صفحة دفع تحمل هوية الشركة ذاتها.',
|
||||
'قم بإدارة كامل نشاط التأجير الخاص بك من منصة واحدة — المخزون، الحجوزات، المدفوعات وتجربة العملاء، كل ذلك تحت علامتك التجارية الخاصة.',
|
||||
startTrial: 'ابدأ التجربة المجانية',
|
||||
exploreVehicles: 'استكشف السيارات',
|
||||
surfaceLabel: 'واجهة السوق',
|
||||
surfaceTitle: 'مصممة لجمهورين في الوقت نفسه.',
|
||||
exploreVehicles: 'استكشف المركبات',
|
||||
surfaceLabel: 'لوحة تحكم موحدة',
|
||||
surfaceTitle: 'منصة واحدة. كل العمليات.',
|
||||
surfaceBody:
|
||||
'المشغلون يريدون التحكم، والمستأجرون يريدون الثقة. يجب أن تُظهر المنصة الأمرين معاً من دون أن تبدو كقالب عادي.',
|
||||
liveLabel: 'شبكة نشطة',
|
||||
trustedFleets: 'أساطيل موثوقة',
|
||||
brandedFlows: 'مسارات حجز مخصصة',
|
||||
multiTenant: 'عمليات متعددة الشركات',
|
||||
companyKicker: 'سير عمل المشغل',
|
||||
companyTitle: 'تحكم في المخزون والعروض والفوترة والفريق من طبقة تشغيل واحدة.',
|
||||
'مشغلو الأساطيل يحتاجون إلى القوة، والمستأجرون يحتاجون إلى البساطة. FleetOS يقدم كليهما بدون تنازلات — لا قوالب جاهزة ولا سير عمل عام.',
|
||||
liveLabel: 'منصة نشطة',
|
||||
trustedFleets: 'تحكم فوري بالأسطول',
|
||||
brandedFlows: 'محرك حجز بالعلامة البيضاء',
|
||||
multiTenant: 'بنية متعددة الشركات',
|
||||
companyKicker: 'مركز قيادة المشغل',
|
||||
companyTitle: 'أدر المخزون والأسعار والعقود والفريق من لوحة تحكم واحدة.',
|
||||
companyBody:
|
||||
'انشر المخزون مرة واحدة، وحدد ما يظهر للعامة، واحتفظ بالعقود والمدفوعات والتقارير معزولة لكل شركة.',
|
||||
'انشر مرة واحدة، وتحكم في الظهور حسب القناة، واحتفظ ببيانات كل شركة ومدفوعاتها وتقاريرها معزولة تماماً.',
|
||||
renterKicker: 'تجربة المستأجر',
|
||||
renterTitle: 'دع المستأجرين يقارنون بسرعة ثم وجّههم إلى موقع الشركة المناسب.',
|
||||
renterTitle: 'امنح المستأجرين رحلة حجز سريعة وشفافة تنتهي على صفحة الدفع الخاصة بك.',
|
||||
renterBody:
|
||||
'هذه المنصة محرك لاكتشاف الخيارات، وليست مُجمِّعاً بلا مسار واضح. ابحث هنا، احجز هناك، وادفع مباشرة للشركة.',
|
||||
'FleetOS يشغّل الاكتشاف والتحويل — وليس حديقة مغلقة. تصفح هنا، احجز هناك، وادفع مباشرة لمالك الأسطول.',
|
||||
pillars: [
|
||||
['نشر موحد', 'صور السيارات والأسعار والعروض تنتقل من سير إدارة واحد إلى السوق وصفحات الحجز ذات الهوية الخاصة.'],
|
||||
['اكتشاف مؤهل', 'تساعد العروض المميزة، والتصفح حسب الموقع، وإشارات السمعة المستأجرين على تحديد خياراتهم بسرعة.'],
|
||||
['مسار إيراد مباشر', 'تنتقل الحجوزات إلى صفحة الدفع الخاصة بالشركة حتى تبقى علاقة العميل والتحصيل المالي بيد الشركة نفسها.'],
|
||||
['قيادة موحدة', 'المخزون، التسعير الديناميكي والعروض الترويجية تتدفق من مركز إدارة واحد إلى marketplace السوق وواجهة متجرك الخاصة.'],
|
||||
['اكتشاف ذكي', 'بحث حسب الموقع، تقييم السمعة وقوائم منسقة بالذكاء الاصطناعي تساعد المستأجرين في العثور على المركبة المناسبة بثوانٍ.'],
|
||||
['إيرادات مباشرة', 'كل حجز يمر عبر بوابة الدفع الخاصة بك — أنت تملك علاقة العميل والتدفق النقدي.'],
|
||||
].map(([title, body]) => ({ title: title!, body: body! })),
|
||||
metrics: [
|
||||
['01', 'ظهور مشترك في السوق'],
|
||||
['02', 'دفع مباشر للشركة'],
|
||||
['03', 'مدفوعات مملوكة للشركة'],
|
||||
['01', 'عمليات أسطول متعددة الشركات'],
|
||||
['02', 'تجربة حجز بالعلامة البيضاء'],
|
||||
['03', 'مدفوعات مباشرة للمالك'],
|
||||
].map(([value, label]) => ({ value: value!, label: label! })),
|
||||
featureLabel: 'ما الذي يقدمه المنتج',
|
||||
featureLabel: 'ما الذي يغطيه FleetOS',
|
||||
features: [
|
||||
'إدارة الأسطول مع رفع عدة صور',
|
||||
'عروض السوق والتحويل إلى مسار الحجز',
|
||||
'موقع حجز عام مخصص لكل شركة',
|
||||
'إدارة العملاء والتحليلات والفوترة',
|
||||
'مخزون الأسطول مع رفع صور متعددة وتتبع الحالة',
|
||||
'محرك تسعير ديناميكي مع قواعد موسمية وترويجية',
|
||||
'موقع حجز بالعلامة البيضاء لكل مشغل أسطول',
|
||||
'CRM عملاء، تحليلات فورية وفوترة آلية',
|
||||
],
|
||||
howitworksKicker: 'البدء',
|
||||
howitworksTitle: 'كيف يعمل',
|
||||
howitworksSteps: [
|
||||
{
|
||||
number: '1',
|
||||
title: 'إنشاء حساب',
|
||||
description: 'قم بالتسجيل للحصول على مساحة عمل شركتك واختر خطتك للتجربة المجانية لمدة 90 يوماً.',
|
||||
title: 'أنشئ مساحتك',
|
||||
description: 'سجّل وأطلق مساحة أسطولك مع تجربة مجانية لمدة 90 يوماً — بدون بطاقة ائتمان.',
|
||||
},
|
||||
{
|
||||
number: '2',
|
||||
title: 'أضف أسطولك',
|
||||
description: 'قم برفع صور السيارات، وحدد الأسعار، وأنشئ عروضاً مرئية في السوق.',
|
||||
description: 'أضف المركبات، واضبط الأسعار، وانشر العروض التي تظهر فوراً في marketplace السوق.',
|
||||
},
|
||||
{
|
||||
number: '3',
|
||||
title: 'ابدأ البيع',
|
||||
description: 'يكتشف المستأجرون أسطولك وتأتي الحجوزات مباشرة إلى دفعتك المخصصة.',
|
||||
title: 'انطلق مباشرة',
|
||||
description: 'يكتشف العملاء أسطولك، ويحجزون عبر موقعك التجاري، وتصل المدفوعات مباشرة إلى حسابك.',
|
||||
},
|
||||
],
|
||||
stepsTitle: 'كيف تبدأ الشركات',
|
||||
stepsTitle: 'كيف تنطلق الأساطيل على FleetOS',
|
||||
steps: [
|
||||
['1', 'أنشئ مساحة عمل شركتك', 'اختر الخطة وابدأ تجربتك لمدة 14 يوماً ثم فعّل حساب المالك.'],
|
||||
['2', 'انشر السيارات والعروض', 'ارفع الصور مرة واحدة وتحكم فيما يظهر في السوق وفي الموقع المخصص.'],
|
||||
['3', 'استقبل الحجوزات على موقعك', 'يكتشف المستأجرون أسطولك على RentalDriveGo ثم يدفعون مباشرة عبر مسار الحجز الخاص بك.'],
|
||||
['1', 'أنشئ مساحة عمل أسطولك', 'اختر الخطة وابدأ تجربتك لمدة 90 يوماً وتحقق من حساب المشغل الخاص بك.'],
|
||||
['2', 'انشر المركبات والعروض', 'أضف بيانات المركبات مرة واحدة وتحكم بدقة فيما يظهر على كل قناة.'],
|
||||
['3', 'استقبل الحجوزات بشروطك', 'يكتشف العملاء أسطولك على FleetOS، ثم يكملون الحجز على صفحة الدفع الخاصة بك.'],
|
||||
].map(([step, title, body]) => ({ step: step!, title: title!, body: body! })),
|
||||
stepLabel: 'الخطوة',
|
||||
testimonialsKicker: 'قصص العملاء',
|
||||
testimonialsTitle: 'موثوقة من قبل شركات التأجير في جميع أنحاء العالم',
|
||||
testimonialsTitle: 'موثوق من قبل مشغلي الأساطيل حول العالم',
|
||||
testimonials: [
|
||||
{
|
||||
quote:
|
||||
'غيّرت RentalDriveGo طريقة إدارة أسطولنا والوصول إلى العملاء. الظهور في السوق قد ضاعف حجوزاتنا.',
|
||||
'غيّر FleetOS طريقة إدارة أسطولنا المكون من أكثر من 200 مركبة. لوحة التحكم الموحدة قلصت وقت الإدارة إلى النصف وتضاعفت حجوزاتنا في ثلاثة أشهر.',
|
||||
author: 'فاطمة الزهراء',
|
||||
role: 'مدير الأسطول',
|
||||
role: 'مديرة الأسطول',
|
||||
company: 'تأجير السيارات الممتازة',
|
||||
},
|
||||
{
|
||||
quote:
|
||||
'تمنحنا المنصة ثنائية الجانب التحكم في عملياتنا بينما يحصل المستأجرون على تجربة سلسة. التوازن المثالي.',
|
||||
'محرك الحجز بالعلامة البيضاء يغير قواعد اللعبة. عملاؤنا لا يغادرون تجربة علامتنا التجارية أبداً، مع الاستفادة من ظهور marketplace السوق.',
|
||||
author: 'محمد علي',
|
||||
role: 'مدير العمليات',
|
||||
company: 'صحراء ويلز',
|
||||
},
|
||||
{
|
||||
quote:
|
||||
'أقدرنا على سهولة إعداد مسار الحجز المخصص بنا. يحب عملاؤنا تجربة الدفع المباشر.',
|
||||
'قيمنا ست منصات قبل FleetOS. البنية متعددة الشركات ونموذج الدفع المباشر جعلاه الخيار الواضح لنمونا المتسارع.',
|
||||
author: 'ليلى حسن',
|
||||
role: 'المالك',
|
||||
company: 'تأجير السيارات بالبحر الأبيض',
|
||||
role: 'المديرة التنفيذية',
|
||||
company: 'تأجير سيارات البحر الأبيض',
|
||||
},
|
||||
],
|
||||
readyKicker: 'جاهز للانطلاق',
|
||||
readyTitle: 'يجب أن تشرح الصفحة الرئيسية قيمة المنصة خلال ثوانٍ.',
|
||||
readyTitle: 'أسطولك يستحق نظام تشغيل، وليس مجرد موقع إعلانات.',
|
||||
readyBody:
|
||||
'استخدم السوق لجذب الطلب، ثم انقل المستأجرين إلى تجربة تحمل هوية شركتك، بحيث تبقى الأسعار والمدفوعات والثقة مرتبطة بنشاطك.',
|
||||
'يمنحك FleetOS الأدوات اللازمة لإدارة كامل نشاط التأجير — من المخزون إلى الفوترة — مع إبقاء علامتك التجارية في المقدمة عند كل نقطة اتصال.',
|
||||
viewPricing: 'عرض الأسعار',
|
||||
createWorkspace: 'إنشاء المساحة',
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user