using Distribution.Models; namespace Distribution.Features.Ride; public interface IRideRepository { Task GetByIdAsync(Guid id); Task> GetAllAsync(RideStatus? status, RideType? type, Guid? driverProfileId, Guid? vehicleId, int page, int pageSize); Task GetCountAsync(RideStatus? status, RideType? type, Guid? driverProfileId, Guid? vehicleId); Task HasOpenOrActiveRideForVehicleAsync(Guid vehicleId, Guid? excludeRideId = null); Task> GetActiveRidesAsync(Guid? excludeRideId = null); Task> GetActiveOrdersByRouteIdAsync(Guid routeId); Task AddAsync(DeliveryRun ride); void Update(DeliveryRun ride); } public record OrderSummaryModel( Guid Id, Guid StoreId, string StoreName, DateTime OrderDate, decimal TotalAmount);