'use client'; import React, { useState } from 'react'; import Link from 'next/link'; import { ChevronDown, ChevronRight, FileText, Home } from 'lucide-react'; const DocPage = () => { const [expandedSections, setExpandedSections] = useState<{ [key: string]: boolean }>({ overview: true, operations: true, masterdata: false, financial: false, services: false, security: false, analytics: false, system: false, enhanced: false, }); const toggleSection = (section: string) => { setExpandedSections(prev => (({ ...prev, [section]: !prev[section] }))); }; const scrollToSection = (id: string) => { setTimeout(() => { const element = document.getElementById(id); if (element) { const headerOffset = 120; const elementPosition = element.getBoundingClientRect().top + window.pageYOffset; const offsetPosition = elementPosition - headerOffset; window.scrollTo({ top: offsetPosition, behavior: 'smooth' }); } }, 0); }; const sections = [ { id: 'overview', title: '📋 Overview & Getting Started', items: [ { id: 'about', label: 'Application Overview' }, { id: 'features', label: 'Key Features' }, ] }, { id: 'operations', title: '📊 Operations', items: [ { id: 'bookings', label: 'Bookings' }, { id: 'bookings-how', label: '→ How-To' }, { id: 'passengers', label: 'Passengers' }, { id: 'passengers-how', label: '→ How-To' }, { id: 'tickets', label: 'Tickets' }, { id: 'tickets-how', label: '→ How-To' }, ] }, { id: 'masterdata', title: '🏢 Master Data', items: [ { id: 'stations', label: 'Stations' }, { id: 'stations-how', label: '→ How-To' }, { id: 'trains', label: 'Trains' }, { id: 'trains-how', label: '→ How-To' }, { id: 'coaches', label: 'Coaches' }, { id: 'coaches-how', label: '→ How-To' }, { id: 'seats', label: 'Seats' }, { id: 'seats-how', label: '→ How-To' }, { id: 'classes', label: 'Seat Classes' }, { id: 'classes-how', label: '→ How-To' }, { id: 'routes', label: 'Routes' }, { id: 'routes-how', label: '→ How-To' }, { id: 'schedules', label: 'Schedules' }, { id: 'schedules-how', label: '→ How-To' }, ] }, { id: 'financial', title: '💰 Financial', items: [ { id: 'pricing', label: 'Pricing & Fares' }, { id: 'pricing-how', label: '→ How-To' }, { id: 'currencies', label: 'Currencies' }, { id: 'currencies-how', label: '→ How-To' }, { id: 'payments', label: 'Payments' }, { id: 'payments-how', label: '→ How-To' }, { id: 'promos', label: 'Promo Codes' }, { id: 'promos-how', label: '→ How-To' }, ] }, { id: 'services', title: '🎁 Customer Services', items: [ { id: 'loyalty', label: 'Loyalty' }, { id: 'loyalty-how', label: '→ How-To' }, { id: 'support', label: 'Support' }, { id: 'support-how', label: '→ How-To' }, { id: 'notifications', label: 'Notifications' }, { id: 'notifications-how', label: '→ How-To' }, ] }, { id: 'security', title: '🔒 Security', items: [ { id: 'audit', label: 'Audit Logs' }, { id: 'audit-how', label: '→ How-To' }, { id: 'fraud', label: 'Fraud Detection' }, { id: 'fraud-how', label: '→ How-To' }, { id: 'verifayda', label: 'Verifayda' }, { id: 'verifayda-how', label: '→ How-To' }, ] }, { id: 'analytics', title: '📈 Analytics', items: [ { id: 'reports', label: 'Reports' }, { id: 'reports-how', label: '→ How-To' }, ] }, { id: 'system', title: '⚙️ System', items: [ { id: 'agents', label: 'Agents' }, { id: 'agents-how', label: '→ How-To' }, { id: 'users', label: 'Users' }, { id: 'users-how', label: '→ How-To' }, { id: 'system-config', label: 'System Config' }, { id: 'system-config-how', label: '→ How-To' }, { id: 'settings', label: 'Settings' }, { id: 'settings-how', label: '→ How-To' }, ] }, { id: 'enhanced', title: '✨ Enhanced Features', items: [ { id: 'excess-baggage', label: 'Excess Baggage' }, { id: 'excess-baggage-how', label: '→ How-To' }, { id: 'packages', label: 'Travel Packages' }, { id: 'packages-how', label: '→ How-To' }, { id: 'package-inquiries', label: 'Package Inquiries' }, { id: 'package-inquiries-how', label: '→ How-To' }, { id: 'health', label: 'Health Monitoring' }, { id: 'health-how', label: '→ How-To' }, { id: 'boarding', label: 'Boarding Management' }, { id: 'boarding-how', label: '→ How-To' }, { id: 'fare-config', label: 'Advanced Fare Config' }, { id: 'fare-config-how', label: '→ How-To' }, { id: 'payment-methods', label: 'Payment Methods' }, { id: 'payment-methods-how', label: '→ How-To' }, ] }, ]; const HowToStep = ({ number, title, children }: { number: number; title: string; children: React.ReactNode }) => (
Comprehensive management system for the Ethio-Djibouti Railway passenger platform. This documentation provides complete guidance on all features, operations, and best practices.
Complete booking, passenger, fleet, and financial management.
Manage passenger bookings with search, view, modify, and refund capabilities.
Centralized system configuration management with feature flags and operational controls.
Manage excess baggage charges at boarding with agent tools and passenger self-pay options.
Manage pilgrimage and group travel packages with tiered pricing and capacity management.
Manage incoming package booking inquiries and track lead conversion.
Monitor EDR Passenger API health with real-time system status and performance metrics.
Manage gate operations and passenger boarding processes with real-time tracking.
Configure complex fare rules and dynamic pricing strategies with segment-based pricing.
Configure and manage payment provider integrations with multi-provider support.
© 2026 Ethio-Djibouti Railway | Passenger Backoffice Documentation v1.0.0