using SeaHaven.Services.DTOs; namespace SeaHaven.Services.Interfaces { public interface IVendorOperationsService { Task GetNotificationsAsync(CancellationToken cancellationToken); Task> GetAvailabilityAsync(DateTime? start, DateTime? end, int? locationId, string? trade, CancellationToken cancellationToken); Task> UpdateAvailabilityAsync(int vendorId, string? status, string actor, CancellationToken cancellationToken); Task> GetSitePreferencesAsync(int locationId, CancellationToken cancellationToken); Task>> ReplaceSitePreferencesAsync(int locationId, IReadOnlyList body, string actor, CancellationToken cancellationToken); Task> ReviewDocumentAsync(int documentId, DocumentReviewRequest body, string actor, CancellationToken cancellationToken); Task> UpdateCommercialStatusAsync(int dispatchId, CommercialStatusRequest body, string actor, CancellationToken cancellationToken); Task> AssignVendorAsync(int workOrderId, VendorAssignmentRequest body, string actor, CancellationToken cancellationToken); Task> GetInsightRowsAsync(DateTime? from, DateTime? to, int? locationId, string? trade, int? vendorId, CancellationToken cancellationToken); DateTime UtcNow { get; } } }