diff --git a/apps/edr-passenger-api/src/modules/fare-engine/fare-engine.service.ts b/apps/edr-passenger-api/src/modules/fare-engine/fare-engine.service.ts
index 69b0266ed..348e9d6be 100644
--- a/apps/edr-passenger-api/src/modules/fare-engine/fare-engine.service.ts
+++ b/apps/edr-passenger-api/src/modules/fare-engine/fare-engine.service.ts
@@ -88,20 +88,48 @@ export class FareEngineService {
where: {
routeId: route.id,
seatClassId: dto.seatClassId,
- originStopSequence: originStop.sequence,
- destinationStopSequence: destStop.sequence,
+ AND: [
+ {
+ OR: [
+ {
+ originStopSequence: originStop.sequence,
+ destinationStopSequence: destStop.sequence,
+ },
+ {
+ originStopSequence: destStop.sequence,
+ destinationStopSequence: originStop.sequence,
+ },
+ ],
+ },
+ {
+ OR: [{ validUntil: null }, { validUntil: { gte: now } }],
+ },
+ ],
validFrom: { lte: now },
- OR: [{ validUntil: null }, { validUntil: { gte: now } }],
nationality: dto.nationality ?? null,
},
}) ?? await this.prisma.segmentFareRule.findFirst({
where: {
routeId: route.id,
seatClassId: dto.seatClassId,
- originStopSequence: originStop.sequence,
- destinationStopSequence: destStop.sequence,
+ AND: [
+ {
+ OR: [
+ {
+ originStopSequence: originStop.sequence,
+ destinationStopSequence: destStop.sequence,
+ },
+ {
+ originStopSequence: destStop.sequence,
+ destinationStopSequence: originStop.sequence,
+ },
+ ],
+ },
+ {
+ OR: [{ validUntil: null }, { validUntil: { gte: now } }],
+ },
+ ],
validFrom: { lte: now },
- OR: [{ validUntil: null }, { validUntil: { gte: now } }],
nationality: null,
},
});
diff --git a/apps/edr-passenger-web/backoffice/src/app/reports/overall/page.tsx b/apps/edr-passenger-web/backoffice/src/app/reports/overall/page.tsx
index 5e23b92d6..0ecc7a885 100644
--- a/apps/edr-passenger-web/backoffice/src/app/reports/overall/page.tsx
+++ b/apps/edr-passenger-web/backoffice/src/app/reports/overall/page.tsx
@@ -8,7 +8,6 @@ import {
Tooltip, Legend, ResponsiveContainer, PieChart, Pie, Cell,
} from 'recharts';
import { bookingsApi } from '@/lib/api';
-import { dashboardApi } from '@/lib/api/dashboard';
import { apiClient } from '@/lib/api-client';
import { formatCurrency } from '@/lib/utils';
import ActionButton from '@/components/ui/ActionButton';
@@ -62,12 +61,6 @@ export default function ReportsPage() {
const dates = getDateRange();
// Confirmed-ticket revenue — same source as dashboard
- const { data: stats, isLoading: statsLoading } = useQuery({
- queryKey: ['backoffice-stats'],
- queryFn: dashboardApi.getBackofficeStats,
- staleTime: 60000,
- });
-
const { data: exchangeRates = [] } = useQuery Total Revenue: ${esc(formatCurrency(overallGrand, 'ETB'))} | ` +
- `Bookings: ${esc(String(stats?.totalBookings ?? 0))} | ` +
- `Tickets: ${esc(String(stats?.totalTickets ?? 0))}Revenue Report — ${esc(dates.startDate)} to ${esc(dates.endDate)}
` +
`